IUtil
Интерфейс IUtil
— различные вспомогательные методы, требуемые здесь илитам.
-
getFbVersion
void getFbVersion(StatusType* status, IAttachment* att, IVersionCallback* callback)
Строит длинный и красивый отчет о версии для firebird. Это можноувидеть в ISQL при вызове с ключом
-Z
. -
loadBlob
void loadBlob(StatusType* status, ISC_QUAD* blobId, IAttachment* att, ITransaction* tra, const char* file, FB_BOOLEAN txt)
Загрузка BLOB из файла.
-
dumpBlob
void dumpBlob(StatusType* status, ISC_QUAD* blobId, IAttachment* att, ITransaction* tra, const char* file, FB_BOOLEAN txt)
Сохраняет BLOB в файл.
-
getPerfCounters
void getPerfCounters(StatusType* status, IAttachment* att, const char* countersSet, ISC_INT64* counters)
Получает статистику для данного подключения.
-
executeCreateDatabase
IAttachment* executeCreateDatabase(StatusType* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, FB_BOOLEAN* stmtIsCreateDb)
Выполняет инструкцию
CREATE DATABASE …
— трюк ISC с NULLдескриптором оператора не работает с интерфейсами. -
decodeDate
void decodeDate(ISC_DATE date, unsigned* year, unsigned* month, unsigned* day)
Заменяет
isc_decode_sql_date()
. -
decodeTime
void decodeTime(ISC_TIME time, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions)
Заменяет
isc_decode_sql_time()
. -
encodeDate
ISC_DATE encodeDate(unsigned year, unsigned month, unsigned day)
Заменяет
isc_encode_sql_date()
. -
encodeTime
ISC_TIME encodeTime(unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions)
Заменяет
isc_encode_sql_time()
. -
formatStatus
unsigned formatStatus(char* buffer, unsigned bufferSize, IStatus* status)
Заменяет
fb_interpret()
. Размер буфера, переданного в этот метод, недолжен быть меньше 50 байт. -
getClientVersion
unsigned getClientVersion()
Возвращает целое число, содержащее основную версию в байте 0 и младшуюверсию в байте 1.
-
getXpbBuilder
IXpbBuilder* getXpbBuilder(StatusType* status, unsigned kind, const unsigned char* buf, unsigned len)
Возвращает интерфейс
IXpbBuilder
.Допустимыеkind
перечислены вIXpbBuilder
. -
setOffsets
unsigned setOffsets(StatusType* status, IMessageMetadata* metadata, IOffsetsCallback* callback)
Устанавливает допустимые смещения в
IMessageMetadata
. Выполняетвызовы для обратного вызова вIOffsetsCallback
для каждогополя/параметра. -
getDecFloat16
IDecFloat16* getDecFloat16(StatusType* status)
Возвращает интерфейс
IDecFloat16
. -
getDecFloat34
IDecFloat34* getDecFloat34(StatusType* status)
Возвращает интерфейс
IDecFloat34
. -
decodeTimeTz
void decodeTimeTz(StatusType* status, const ISC_TIME_TZ* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer)
Декодирует время с часовым поясом.
-
decodeTimeStampTz
void decodeTimeStampTz(StatusType* status, const ISC_TIMESTAMP_TZ* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer)
Декодирует временную метку (дату-время) с часовым поясом.
-
encodeTimeTz
void encodeTimeTz(StatusType* status, ISC_TIME_TZ* timeTz, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone)
Кодирует время с часовым поясом.
-
encodeTimeStampTz
void encodeTimeStampTz(StatusType* status, ISC_TIMESTAMP_TZ* timeStampTz, unsigned year, unsigned month, unsigned day, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone)
Кодирует временную метку (дату-время) с часовым поясом.
-
getInt128
IInt128* getInt128(StatusType* status)
Возвращает интерфейс
IInt128
. -
decodeTimeTzEx
void decodeTimeTzEx(StatusType* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer)
Декодирует время в расширенном формате с часовым поясом.
-
decodeTimeStampTzEx
void decodeTimeStampTzEx(StatusType* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer)
Декодирует временную метку (дату-время) в расширенном формате с часовым поясом.