![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Это полезно во время ввода командной строки, чтобы определить,
формирует ли в настоящее время введенный текст полный 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 в
родном порядке байтов.
Choose any three.
SQLite C Interface
Определите, полон ли SQL-оператор
int sqlite3_complete(const char *sql);
int sqlite3_complete16(const void *sql);