IMessageMetadata
Интерфейс MessageMetadata
— частичный аналог XSQLDA
(не содержит данныхсообщений, присутствует только информация о формате сообщения).Используется в вызовах, связанных с выполнением операторов SQL.
-
getCount
unsigned getCount(StatusType* status)
Возвращает количество полей/параметров в сообщении. Во всех вызовах,содержащих индексный параметр, это значение должно быть:
0 >= index < getCount()
. -
getField
const char* getField(StatusType* status, unsigned index)
Возвращает имя поля.
-
getRelation
const char* getRelation(StatusType* status, unsigned index)
Возвращает имя отношения (из которого выбрано данное поле).
-
getOwner
const char* getOwner(StatusType* status, unsigned index)
Возвращает имя владельца отношения.
-
getAlias
const char* getAlias(StatusType* status, unsigned index)
Возвращает псевдоним поля.
-
getType
unsigned getType(StatusType* status, unsigned index)
Возвращает SQL тип поля.
-
isNullable
FB_BOOLEAN isNullable(StatusType* status, unsigned index)
Возвращает
true
, если поле может принимать значениеNULL
. -
getSubType
int getSubType(StatusType* status, unsigned index)
Возвращает подтип поля BLOB (0 - двоичный, 1 - текст и т. д.).
-
getLength
unsigned getLength(StatusType* status, unsigned index)
Возвращает максимальную длину поля.
-
getScale
int getScale(StatusType* status, unsigned index)
Возвращает масштаб для числового поля.
-
getCharSet
unsigned getCharSet(StatusType* status, unsigned index)
Возвращает набор символов для символьных полей и текстового BLOB.
-
getOffset
unsigned getOffset(StatusType* status, unsigned index)
Возвращает смещение данных поля в буфере сообщений (используйте его длядоступа к данным в буфере сообщений).
-
getNullOffset
unsigned getNullOffset(StatusType* status, unsigned index)
Возвращает смещение NULL индикатора для поля в буфере сообщений.
-
getBuilder
IMetadataBuilder* getBuilder(StatusType* status)
Возвращает интерфейс
IMetadataBuilder
,инициализированный метаданными этого сообщения. -
getMessageLength
unsigned getMessageLength(StatusType* status)
Возвращает длину буфера сообщения (используйте его для выделения памятипод буфер).
-
getAlignment
unsigned getAlignment(StatusType* status)
Возвращает выравнивание в байтах.
-
getAlignedLength
unsigned getAlignedLength(StatusType* status)
Возвращает размер структуры метаданных после выравнивания.