Module dba
Модуль lua-dba
Usage:
local odbc = require "dba.odbc" local db = assert(odbc.Connect{dsn='demodb'}) sql_text = [[...]] params = { ... } db:each(sql_text,params,function(row) ... end) local qry = db:prepare([[insert ...]]) for ... do qry:exec{ some params } end qry:destroy() db:destroy()
Functions
Environment () | Создает объект Environment. |
Connection () | Создает объект Connection. |
Connect () | Создает объект Connection и подключает его к БД. |
callback_function (row) | callback функция для перебора запесей набора. |
Tables
OPTIONS | Таблица параметров библиотеки. |
driverinfo | Структура, описывающая отдельный драйвер. |
dsninfo | Структура, описывающая отдельный драйвер |
transaction_level | Уровни изоляции транзакций |
Functions
- Environment ()
- Создает объект Environment.
- Connection ()
-
Создает объект Connection.
При этом для этого подключения создается собственный объект Environment который уничтажается вместе с объектом Connection.
- Connect ()
-
Создает объект Connection и подключает его к БД.
Если не удалось подключится к БД то объeкт Connection уничтожается.
- callback_function (row)
-
callback функция для перебора запесей набора.
Если функция возвращает любое значение, то перебор прекращается и возвращенные(все) значения становятся результатом функции, которая осуществляет перебор.
Запись в функцию передается либо в виде набора параметров либо в виде таблицы.
В функцию может передаватся одна и таже таблица с разными значениями.Parameters:
- row or list - очередная запись
see also:
Tables
- OPTIONS
-
Таблица параметров библиотеки.
Каждый параметр может быть установлен на уровне Environment, Connection или Query
это необходимо для предотвращения изменения текста SQL перед выполнением при этом параметры будут поддерживатся только если проддерживается bind(будут использоваться только '?')
Fields:
- FORCE_REPLACE_PARAMS всегда заменять параметры подстановкой строки. Этот параметр может использоватся например для выполнения batch запросов с параметрами.
- IGNORE_NAMED_PARAMS не пытатся преобразовывать именованные параметры
Usage:
local sql = [[begin if :ID > 5 then select 5 else selct 0 end if end]] qry:set_config('FORCE_REPLACE_PARAMS', true) qry:rows({ID=10}, print)
local sql = [[select 'hello :world']] qry:set_config('IGNORE_NAMED_PARAMS', true) qry:rows(print)
- driverinfo
-
Структура, описывающая отдельный драйвер.
Fields:
see also:
- dsninfo
-
Структура, описывающая отдельный драйвер
Fields:
see also:
- transaction_level
-
Уровни изоляции транзакций
Fields:
- 1 "NONE"
- 2 "READ_UNCOMMITTED"
- 3 "READ_COMMITTED"
- 4 "REPEATABLE_READ"
- 5 "SERIALIZABLE"
see also: