OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1650] |
Mon, 20 February 2023 15:55 |
МП
Сообщений: 881 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
Здравствуйте, ВСЕ!
Допиливаем наш внутренний форк IBX на предмет поддержки ftGuid (и до кучи ftBytes, ftVarBytes).
(навеяно топиком https://www.sqlru.net/index.php/t/228/)
Если делать это посредством классического ISC_API, то после препарирования запроса приходится ещё лезь в системные таблицы для определения чарсета поля на предмет OCTETS.
А это лишние раундтрипы. Не критично, но на тухлом канале неприятно.
В новомодном OO API у интерфейса IMessageMetadata, который призван заменить XSQLDA/XSQLVAR, есть метод getCharSet.
В связи с чем вопрос:
порождает ли этот метод обращения к серверу (к тем же системным таблицам), или же имеет всё готовое унутри, на блюдечке с голубой каёмочкой?
|
|
|
|
|
|
Re: OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1654 является ответом на сообщение #1653] |
Mon, 20 February 2023 17:20 |
МП
Сообщений: 881 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
Dmitry KovalenkoКодовая страница CHAR/VARCHAR хранится в младшем байте XSQLVAR::sqlsubtype. Это работает начиная с IB4.0.
SQL> create table OCTABLE(OCT CHAR(12) CHARACTER SET OCTETS);
SQL> set SQLDA_DISPLAY ON;
SQL> select OCT from OCTABLE;
INPUT message field count: 0
OUTPUT message field count: 1
01: sqltype: 452 TEXT Nullable scale: 0 subtype: 0 len: 12 charset: 1 OCTETS
: name: OCT alias: OCT
: table: OCTABLE owner: MASTER
isql мухлюет?
зы: касаемо чарсетов БЛОБОВ я помню твой пост в "старом" форуме.
[Обновления: Mon, 20 February 2023 17:22] Известить модератора
|
|
|
|
|
Re: OO API: IMessageMetadata.getCharSet (FB3.0) [сообщение #1676 является ответом на сообщение #1668] |
Wed, 22 February 2023 18:16 |
МП
Сообщений: 881 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
sim_84 писал(а) Tue, 21 February 2023 20:16Цитата:isql таки "мудит".
isql сейчас использует OO API. И выводит не классический SQLDA, а именно метаданные входных и выходных сообщений. ну и нахера наёбывать наивных программеров?
XSQLDA не смотрят юзеры зелёные.
так зачем же?!
это ж ведь очень и очень!
Да! Да!
Но... нет!
©
[Обновления: Wed, 22 February 2023 18:17] Известить модератора
|
|
|
|
|
|
|
|
|