FirebirdSQL logo

IMessageMetadata

Интерфейс MessageMetadata — частичный аналог XSQLDA (не содержит данныхсообщений, присутствует только информация о формате сообщения).Используется в вызовах, связанных с выполнением операторов SQL.

  1. getCount

    unsigned getCount(StatusType* status)

    Возвращает количество полей/параметров в сообщении. Во всех вызовах,содержащих индексный параметр, это значение должно быть: 0 >= index < getCount().

  2. getField

    const char* getField(StatusType* status, unsigned index)

    Возвращает имя поля.

  3. getRelation

    const char* getRelation(StatusType* status, unsigned index)

    Возвращает имя отношения (из которого выбрано данное поле).

  4. getOwner

    const char* getOwner(StatusType* status, unsigned index)

    Возвращает имя владельца отношения.

  5. getAlias

    const char* getAlias(StatusType* status, unsigned index)

    Возвращает псевдоним поля.

  6. getType

    unsigned getType(StatusType* status, unsigned index)

    Возвращает SQL тип поля.

  7. isNullable

    FB_BOOLEAN isNullable(StatusType* status, unsigned index)

    Возвращает true, если поле может принимать значение NULL.

  8. getSubType

    int getSubType(StatusType* status, unsigned index)

    Возвращает подтип поля BLOB (0 - двоичный, 1 - текст и т. д.).

  9. getLength

    unsigned getLength(StatusType* status, unsigned index)

    Возвращает максимальную длину поля.

  10. getScale

    int getScale(StatusType* status, unsigned index)

    Возвращает масштаб для числового поля.

  11. getCharSet

    unsigned getCharSet(StatusType* status, unsigned index)

    Возвращает набор символов для символьных полей и текстового BLOB.

  12. getOffset

    unsigned getOffset(StatusType* status, unsigned index)

    Возвращает смещение данных поля в буфере сообщений (используйте его длядоступа к данным в буфере сообщений).

  13. getNullOffset

    unsigned getNullOffset(StatusType* status, unsigned index)

    Возвращает смещение NULL индикатора для поля в буфере сообщений.

  14. getBuilder

    IMetadataBuilder* getBuilder(StatusType* status)

    Возвращает интерфейсIMetadataBuilder,инициализированный метаданными этого сообщения.

  15. getMessageLength

    unsigned getMessageLength(StatusType* status)

    Возвращает длину буфера сообщения (используйте его для выделения памятипод буфер).

  16. getAlignment

    unsigned getAlignment(StatusType* status)

    Возвращает выравнивание в байтах.

  17. getAlignedLength

    unsigned getAlignedLength(StatusType* status)

    Возвращает размер структуры метаданных после выравнивания.

IMetadataBuilder

Интерфейс IMetadataBuilder — позволяет описать типы данных длясуществующих сообщений или создавать метаданные с самого начала.

  1. setType

    void setType(StatusType* status, unsigned index, unsigned type)

    Устанавливает SQL тип поля.

  2. setSubType

    void setSubType(StatusType* status, unsigned index, int subType)

    Устанавливает подтип BLOB поля.

  3. setLength

    void setLength(StatusType* status, unsigned index, unsigned length)

    Устанавливает максимальную длину символьного поля.

  4. setCharSet

    void setCharSet(StatusType* status, unsigned index, unsigned charSet)

    Устанавливает набор символов для символьного поля и текстового BLOB.

  5. setScale

    void setScale(StatusType* status, unsigned index, unsigned scale)

    Устанавливает масштаб для числовых полей.

  6. truncate

    void truncate(StatusType* status, unsigned count)

    Обрезает сообщение чтобы оно содержало не более count полей.

  7. moveNameToIndex

    void moveNameToIndex(StatusType* status, const char* name, unsigned index)

    Реорганизует поля в сообщении — перемещает поле с именем name в заданноеположение.

  8. remove

    void remove(StatusType* status, unsigned index)

    Удаляет поле.

  9. addField

    unsigned addField(StatusType* status)

    Добавляет поле.

  10. getMetadata

    IMessageMetadata* getMetadata(StatusType* status)

    Возвращает интерфейсIMessageMetadata, построенныйэтим построителем.

  11. setField

    void setField(StatusType* status, unsigned index, const char* field)

    Устанавливает имя поля/столбца.

  12. setRelation

    void setRelation(StatusType* status, unsigned index, const char* relation)

    Устанавливает имя отношения для поля.

  13. setOwner

    void setOwner(StatusType* status, unsigned index, const char* owner)

    Устанавливает имя владельца.

  14. setAlias

    void setAlias(StatusType* status, unsigned index, const char* alias)

    Устанавливает псевдоним поля.