Инициализация пути к БД

Назначение

Сохранение в управляющей структуре LINDBCtrl пути к БД с целью последующего его использования для запуска СУБД.

Синтаксис

 
L_LONG LINDBCtrlSetDbPath(t_LINDBCtrl* LINDBCtrl, char* DbPath);

Входные данные

Входными данными являются:

  1. инициализированная управляющая структура LINDBCtrl;

  2. путь к БД. Допустимые значения:

    • строка длиной не более 1024 байт (должна заканчиваться двоичным нулем);

    • NULL-значение.

Выходные данные

Выходными данными является управляющая структура LINDBCtrl.

В управляющей структуре будут возвращены:

Имя поля Значение
DbPath Путь к каталогу БД
RetStatus Библиотечный код завершения
SysStatus 0

Описание

Функция сохраняет в специально выделенной области динамической памяти, указатель на которую размещается в управляющей структуре LINDBCtrl, заданный в аргументе DbPath путь к БД.

Если аргумент DbPath равен NULL, в качестве пути к БД используется текущий каталог.

Возвращаемые значения

Функция возвращает:

  • 0 – нормальное завершение;

  • -1 – путь к БД не инициализирован.

Коды завершения

Код Описание
E_LINCTRL_NOINIT Управляющая структура LINDBCtrl не инициализирована
E_LINCTRL_NOMEM Невозможность выделения динамической памяти для поля DbPath управляющей структуры

Пример

#include < stdio.h >
#include < stdlib.h >
#include < string.h >
#include "linctrl.h"
#include "exlib.h"

void  PrintError(t_LINDBCtrl *LINDBCtrl);

void  main()
  {
  t_LINDBCtrl LINDBCtrl;
  CHAR  LinterPath[]="/usr/linter";
  LONGINT Err;
  Err=LINDBCtrlInit(&LINDBCtrl,LinterPath);
  if (Err != NORMAL)
    PrintError(&LINDBCtrl);
  printf("Initialisation LINDBCtrl\n");
  Err= LINDBCtrlSetDbPath(&LINDBCtrl,NULL);
  if (Err != NORMAL)
    PrintError(&LINDBCtrl);
  printf("Set DBPath\n");
  printf("End Example\n");
  }