Привет всем.

В FB2 размер буфера (XSQLVAR::sqllen) под
текстовые колонки вычисляется по
формуле

(размер колонки в символах) умножить на
(размер символа в байтах для текущей
кодовой страницы подключения)

Если кодовая страница подключения - NONE,
то берется родная кодировка колонки

Если колонка имеет кодировку OCTETS, то
считается что символ это байт и
кодировка подключения как таковая не
учитывается.

----
Собственно измена, в моем понимании,
состоит в том, что этот алгоритм
распространяется в том числе и на
системные таблицы, для колонок которых
используется UNICODE_FSS.

Раньше эти колонки имели
фактичеческую кодировку OCTETS, то есть
их размер не зависил ни от чего и был,
зачастую, равен 31 байт.

Теперь вот поправили, и теперь размер
буфера для загрузки этих колонок будет
гулять по вышеуказанным правилам.

Аминь.
Коваленко Дмитрий.
www.ibprovider.com


--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить