RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Определите, полон ли SQL-оператор

int sqlite3_complete(const char *sql);
int sqlite3_complete16(const void *sql);

Это полезно во время ввода командной строки, чтобы определить, формирует ли в настоящее время введенный текст полный SQL-оператор или дополнительный ввод необходим прежде, чем послать текст в SQLite для парсинга. Эта хранимая процедура возвращает 1, если входная строка это полный SQL-оператор. Запрос оценивается как полный, если он заканчивается символом точки с запятой и не является префиксом правильно построенного запроса CREATE TRIGGER. Точки с запятой, которые включены в строковых литералах или именах идентификатора в кавычках или комментариях, являются зависимыми символами (они часть символа, в который они включены), и таким образом не считаются терминатором запроса. Пробелы и комментарии, которые следуют за заключительной точкой с запятой, проигнорированы.

Это возвращается 0, если запрос неполный. Если выделение памяти терпит неудачу, то SQLITE_NOMEM возвращен.

Это не разбирает SQL-операторы, таким образом не обнаружит синтаксически неправильный SQL.

Если SQLite не был инициализирован, используя sqlite3_initialize() до вызова sqlite3_complete16(), sqlite3_initialize() вызван автоматически sqlite3_complete16(). Если та инициализация потерпит неудачу, то возвращаемое значение sqlite3_complete16() не 0 независимо от того, полон ли ввод SQL.

Ввод sqlite3_complete() должен быть законченной нолем последовательностью UTF-8.

Ввод sqlite3_complete16() должен быть законченной нолем последовательностью UTF-16 в родном порядке байтов.