IAttachment
Интерфейс IAttachment
заменяет isc_db_handle
.
-
getInfo
void getInfo(StatusType* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer)
Заменяет
isc_database_info()
. -
startTransaction
ITransaction* startTransaction(StatusType* status, unsigned tpbLength, const unsigned char* tpb)
Частично заменяет
isc_start_multiple()
, использует координатор, чтобызапустить более одной распределённой транзакции. Позволяет объединить 2транзакции в одну распределённую. -
reconnectTransaction
ITransaction* reconnectTransaction(StatusType* status, unsigned length, const unsigned char* id)
Позволяет подключиться к транзакции в состоянии limbo. Параметр Idсодержит номер транзакции в сетевом формате заданной длины.
-
compileRequest
IRequest* compileRequest(StatusType* status, unsigned blrLength, const unsigned char* blr)
Поддержка ISC API.
-
transactRequest
void transactRequest(StatusType* status, ITransaction* transaction, unsigned blrLength, const unsigned char* blr, unsigned inMsgLength, const unsigned char* inMsg, unsigned outMsgLength, unsigned char* outMsg)
Поддержка ISC API.
-
createBlob
IBlob* createBlob(StatusType* status, ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb)
Создает новый blob, сохраняет его идентификатор в id, заменяет
isc_create_blob2()
. -
openBlob
IBlob* openBlob(StatusType* status, ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb)
Открывает существующий blob, заменяет
isc_open_blob2()
. -
getSlice
int getSlice(StatusType* status, ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice)
Поддержка ISC API.
-
putSlice
void putSlice(StatusType* status, ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice)
Поддержка ISC API.
-
executeDyn
void executeDyn(StatusType* status, ITransaction* transaction, unsigned length, const unsigned char* dyn)
Поддержка ISC API.
-
prepare
IStatement* prepare(StatusType* status, ITransaction* tra, unsigned stmtLength, const char* sqlStmt, unsigned dialect, unsigned flags)
Заменяет
isc_dsql_prepare()
. Дополнительный параметр flags позволяютконтролировать, какая информация будет предварительно загружена издвижка сразу (т.е. в одном сетевом пакете для удаленной операции). -
execute
ITransaction* execute(StatusType* status, ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, IMessageMetadata* inMetadata, void* inBuffer, IMessageMetadata* outMetadata, void* outBuffer)
Выполняет любую инструкцию SQL, за исключением возврата нескольких строкданных. Частичный аналог
isc_dsql_execute2()
— вход и выход XSLQDAзаменены на входные и выходные сообщения с соответствующими буферами. -
openCursor
IResultSet* openCursor(StatusType* status, ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, IMessageMetadata* inMetadata, void* inBuffer, IMessageMetadata* outMetadata, const char* cursorName, unsigned cursorFlags)
Выполняет оператор SQL, потенциально возвращающий несколько строкданных. Возвращает интерфейс
IResultSet
, который используется дляизвлечения этих данных. Формат выходных данных определяется параметромoutMetadata
, при заданииNULL
используется формат по умолчанию. ПараметрcursorName указывает имя открытого курсора (аналогisc_dsql_set_cursor_name()
). ПараметрcursorFlags
необходим, чтобыоткрыть двунаправленный указатель курсора, для этого необходимо указатьзначениеIStatement::CURSOR_TYPE_SCROLLABLE
. -
queEvents
IEvents* queEvents(StatusType* status, IEventCallback* callback, unsigned length, const unsigned char* events)
Заменяет вызов
isc_que_events()
. Вместо функции обратного вызова сvoid*
параметром используется интерфейс обратного вызова. -
cancelOperation
void cancelOperation(StatusType* status, int option)
Замена
fb_cancel_operation()
. -
ping
void ping(StatusType* status)
Проверяет состояния соединения. Если тест не удаётся, то единственнаявозможная операция с подключением — закрыть его.
-
getIdleTimeout
unsigned getIdleTimeout(StatusType* status)
Возвращает таймаут простоя соединения в секундах.
-
setIdleTimeout
void setIdleTimeout(StatusType* status, unsigned timeOut)
Устанавливает таймаут простоя соединения в секундах.
-
getStatementTimeout
unsigned getStatementTimeout(StatusType* status)
Возвращает таймаут выполнения запроса в миллисекундах.
-
setStatementTimeout
void setStatementTimeout(StatusType* status, unsigned timeOut)
Устанавливает таймаут выполнения запроса в миллисекундах.
-
createBatch
IBatch* createBatch(StatusType* status, ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par)
Подготавливает
sqlStmt
и создает интерфейсIBatch
, готовый принять несколько наборов входных параметровв форматеinMetadata
. Если оставитьNULL
вinMetadata
, то пакет будет использовать формат по умолчанию дляsqlStmt
.В функциюcreateBatch()
можно передать блок параметров, что позволит настроить поведение пакета. -
createReplicator
IReplicator* createBatch(StatusType* status)
Создаёт экземпляр плагина репликации с интерфейсом
IReplicator
. -
detach
void detach(StatusType* status)
Отсоединяет от текущей базы данных. Заменяет
isc_detach_database()
. В случае успеха освобождает интерфейс. -
dropDatabase
void dropDatabase(StatusType* status)
Удаляет текущую базу данных. Заменяет
isc_drop_database()
. В случае успеха освобождает интерфейс.