![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
sqlite3_sql(P) возвращает указатель на копию кода на SQL UTF-8,
используемого, чтобы создать подготовленный запрос
P, если P был создан
sqlite3_prepare_v2(),
sqlite3_prepare_v3(),
sqlite3_prepare16_v2() или
sqlite3_prepare16_v3().
sqlite3_expanded_sql(P) возвращает указатель на последовательность UTF-8,
содержащую код на SQL подготовленного запроса P с раскрытыми
связанными параметрами.
sqlite3_normalized_sql(P) возвращает указатель на последовательность UTF-8,
содержащую нормализованный код на SQL подготовленного запроса P.
Семантика, используемая, чтобы нормализовать SQL-оператор, не указана и
подлежит изменению. Как минимум литеральные значения будут
заменены подходящими заполнителями. Например, если подготовленный запрос создается, используя код на SQL
"SELECT $abc,:xyz" и если параметр $abc связан с целым числом 2345, а
параметр :xyz не связан, то sqlite3_sql() возвратит исходную строку,
"SELECT $abc,:xyz", но sqlite3_expanded_sql() вернет
"SELECT 2345,NULL". sqlite3_expanded_sql() вернет NULL,
если недостаточно память доступно, чтобы хранить результат или если результат
превысил бы максимальную длину строки, определенную
SQLITE_LIMIT_LENGTH. Выбор времени компиляции
SQLITE_TRACE_SIZE_LIMIT ограничивает размер связанных расширений
параметра. Выбор времени компиляции
SQLITE_OMIT_TRACE заставляет sqlite3_expanded_sql()
всегда вернуть NULL. Последовательностями, возвращенными sqlite3_sql(P) и
sqlite3_normalized_sql(P), управляет SQLite и автоматически освобождает,
когда подготовленный запрос завершен. Последовательность, возвращенная
sqlite3_expanded_sql(P), получена из
sqlite3_malloc()
и должна быть освобождена приложением, передав ее в
sqlite3_free(). sqlite3_normalized_sql() только доступен, если выбор времени компиляции
SQLITE_ENABLE_NORMALIZE определяется.
Choose any three.
SQLite C Interface
Восстановление запроса SQL
const char *sqlite3_sql(sqlite3_stmt *pStmt);
char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
#ifdef SQLITE_ENABLE_NORMALIZE
const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
#endif