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:

  • 1 string название драйвера
  • 2 table набор параметров

see also:

dsninfo
Структура, описывающая отдельный драйвер

Fields:

  • 1 string название DSN
  • 2 string название драйвера

see also:

transaction_level
Уровни изоляции транзакций

Fields:

  • 1 "NONE"
  • 2 "READ_UNCOMMITTED"
  • 3 "READ_COMMITTED"
  • 4 "REPEATABLE_READ"
  • 5 "SERIALIZABLE"

see also:

generated by LDoc 1.3