Module Query

Implement query class

Class Query

Query:new (cnn [, sql [, params]]) Создается новый объект Query .
Query:destroy () Уничтожает объект Query
Query:close () Закрывает открытый курсор.
Query:closed () Возвращает статус курсора.
Query:destroyed () Возвращает статус объекта.
Query:opened () Возвращает статус курсора.
Query:handle () Возвращает плотформозависимый дескриптор.
Query:connection () Возвращает родительский объект Connection .
Query:prepare ( [sql]) Prepare query.
Query:prepared () Возвращает признак того что запрос подготовлен.
Query:unprepare () Unprepare query.
Query:supports_prepare () Does this query native support prepared queryes
Query:set_sql (sql) Устанавливает текст запроса.
Query:bind (paramID, value) Присваивает значение параметру.
Query:bind (paramID, func [, len]) Присваивает значение параметру.
Query:bind (params) Присваивает значение параметрам.
Query:open ( [sql [, param]]) Открывает курсор.
Query:exec ( [sql [, params]]) Выполняет запрос который не должен возвращать Recordset.
Query:each ( [sql] [, params] [, autoclose=true], callback) Итератор для перебора Recordset.
Query:rows ( [sql [, params]]) Итератор для перебора Recordset.
Query:first_row () Возвращает первую строку Recordset.
Query:first_value (...) Возвращает первое значение первой записи.
Query:fetch_all (fetch_mode, sql, params) Возвращает полный результат запроса
Query:next_resultset () Переключает курсор не следующий Recordset.
Query:set_autoclose (value) Устанавливает режим закрытия курсора при достижениии конца Recordset.
Query:get_autoclose () Возвращает режим закрытия курсора при достижениии конца Recordset.


Class Query

Query:new (cnn [, sql [, params]])
Создается новый объект Query .

Parameters:

  • cnn Connection открытый объект Connection
  • sql string текст запроса
  • params table таблица параметров для запроса

Returns:

    Query
Query:destroy ()
Уничтожает объект Query

see also:

Query:close ()
Закрывает открытый курсор.
Query:closed ()
Возвращает статус курсора.
Query:destroyed ()
Возвращает статус объекта.
Query:opened ()
Возвращает статус курсора.
Query:handle ()
Возвращает плотформозависимый дескриптор.

Returns:

    handle
Query:connection ()
Возвращает родительский объект Connection .

Returns:

    Connection
Query:prepare ( [sql])
Prepare query.


Если библиотека или драйвер не поддерживают подготовленные запросы, то используется подстановка параметров в текст при выполнении. При этом функция возвращает успех, но Query:prepared возвращает false.

Parameters:

  • sql string текст запроса

Returns:

    boolean true в случае удачи
Query:prepared ()
Возвращает признак того что запрос подготовлен.
Query:unprepare ()
Unprepare query.
Query:supports_prepare ()
Does this query native support prepared queryes
Query:set_sql (sql)
Устанавливает текст запроса.


После изменения SQL все параметры становятся невалидными.
Запрос не должен быть открыт или подготовлен.

Parameters:

  • sql string текст запроса

Returns:

    boolean true в случае удачи
Query:bind (paramID, value)
Присваивает значение параметру.


В качестве значения можно указывать 2 специальные константы PARAMNULL и PARAMDEFAULT.

Parameters:

  • paramID number or string номер параметра (начиная с 1) или имя параметра
  • value значение параметра.
Query:bind (paramID, func [, len])
Присваивает значение параметру.


Эта функция может использоватся только если параметризованные запросы поддерживается драйвером.
В качестве значения можно указывать 2 специальные константы PARAMNULL и PARAMDEFAULT.

Parameters:

  • paramID number or string номер параметра (начиная с 1) или имя параметра
  • func Функция используется для получения данных в момент выполнения запроса.
    Для строк может выдавать данные порциями. Конец данных наступает либо в момент возврата nil если не использовался параметр len, либо после передачи len байт если был указан параметр len.
  • len реальная длинна данных.
Query:bind (params)
Присваивает значение параметрам.

Parameters:

  • params table
    • таблица параметров(название/номер => значение)
Query:open ( [sql [, param]])
Открывает курсор.


Если параметр sql опущен, то используется значение установленное ранее.

Parameters:

  • sql string текст запроса
  • param table параметры запроса

see also:

Query:exec ( [sql [, params]])
Выполняет запрос который не должен возвращать Recordset.


Если запрос вернул курсор, то он закрывается, но не производится откат транзакции
Если параметр sql опущен, то используется значение установленное ранее.

Parameters:

  • sql string текст запроса
  • params table параметры для запроса

Returns:

    number количество записей задействованных в запросе,

see also:

Query:each ( [sql] [, params] [, autoclose=true], callback)
Итератор для перебора Recordset.


Parameters:

  • sql string текст запроса
  • params table параметры для запроса
  • autoclose boolean признак того что запрос должен быть закрыт перед завершением функции.
  • callback dba.callback_function
Query:rows ( [sql [, params]])
Итератор для перебора Recordset.


Итератор для generic for

Parameters:

  • sql string текст запроса
  • params table параметры для запроса
Query:first_row ()
Возвращает первую строку Recordset.


Эквивалентна Query:each(sql,params,function(...) return ... end)

see also:

Query:first_value (...)
Возвращает первое значение первой записи.


Эквивалентна (Query:first_row(sql,params)) с учетом проверки на ошибки

Parameters:

  • ...

see also:

Query:fetch_all (fetch_mode, sql, params)
Возвращает полный результат запроса

Parameters:

  • fetch_mode [required] 'a' - именованные записи 'n' - нимерованные записи
  • sql [optional] текст запроса
  • params [optional] таблица параметров для запроса

Returns:

    массив записей
Query:next_resultset ()
Переключает курсор не следующий Recordset.
Курсор должен быть открыт.

Returns:

  1. ничего если нет следующего Recordset
  2. курсор если есть следующий Recordset

see also:

Query:set_autoclose (value)
Устанавливает режим закрытия курсора при достижениии конца Recordset.

Parameters:

  • value

see also:

Query:get_autoclose ()
Возвращает режим закрытия курсора при достижениии конца Recordset.

see also:

generated by LDoc 1.3