Изменения Yaffil по номерам билдов

Сборка 890

  1. 1.. Мелкие уточнения обработки кодовых страниц в блобах
  2. Максимальный размер кэша – 100000 страниц
  3. Мелкие уточнения по коду с целью защиты от возможных GPF
  4. Исправлена ошибка SF: 1242379, 1242982, 1244126, 223128, 1211328, 1404215, 1175157
  5. Yaffil Personal позволяет работать с readonly БД в сети
  6. Мелкие уточнения по коду проверки административных прав при изменении параметров БД
  7. Добавлена поддержка в Yaffil Personal параметра isc_dpb_encrypt_key

Сборка 887

  1. Исправлена ошибка SF: 1077595.
  2. Добавлена встроенная функция NVL.

Сборка 886

  1. Сборка проекта осуществляется MSVC Toolkit 2003.
  2. Параметр yaconfig REMOTE_AUX_PORT.
  3. Параметр yaconfig ENABLE_IP_LOG.
  4. Исправлена ошибка с выдачей предупреждение gbak об отсутствии встроенных SDF.
  5. Исправлена ошибка SF: 750659.
  6. Исправлена ошибка в функции DATEDIFF когда первый аргумент «меньше» второго.
  7. Исправлена ошибка переполнения rpb_number, ограничение на размер одной таблицы НЕ снято.
  8. Улучшен вывод сообщений об ошибках переполнения при конкатенации строк.
  9. Исправлена ошибка вычисления системных переменных в default-значениях полей.
  10. Исправлена ошибка SF: 1077595

Сборка 885

  1. Исправлена ошибка передачи BLOB в UDF на readonly-транзакциях.
  2. Исправлена ошибка создания нового уникального индекса с null-значениями в полях.
  3. Исправлена ошибка в обработке NULL в LIKE.
  4. Исправлена ошибка в функциях BIN_SHR, BIN_SHL.

Сборка 884

  1. Исправлена функция shutdown для CS («залипание» процесса CS)
  2. Исправлена ошибка при обработке системной даты
  3. Исправлена ошибка при обработке выражения с параметрами PSQL и cast в инструкции between
  4. Исправлена ошибка 869 сборки в обработке blob в функции substring

Сборка 883

  1. Агрегатная функция для строк LIST. Аналог функции SUM – агрегатная конкатенация. LIST(DISTINCT пока не поддерживается)
  2. Повышение стабильности сервера при обработке сложных запросов

Сборка 881

  1. Yaffil Personal больше не использует переменную окружения ISC_PATH для уточнения подключения к БД.
  2. Улучшен алгоритм записи страницы генераторов (повышена надёжность)
  3. Повышение стабильности сервера при возникновении ошибки в операциях сортировки
  4. Операция SUM для строк, работает как агрегатная конкатенация (в 883 заменена на LIST)

Сборка 880a

  1. Улучшено время отклика классика при сильной загрузке сервера

Сборка 880

1. Добавлена функция SIMILAR
2. Уточнены реализации: RAND, TRIM,
3. Уточнение обработки ошибок в транзакциях только для чтения
4. Уменьшен объём памяти процессов классика

Сборка 879

1. Уточнение реализации SDF
2. Уточнение обработки ошибок в транзакциях только для чтения

Сборка 878 (Ya 1.3)

1. Повышение стабильности сервера на операциях в пре-триггерах (алгоритм - А. Пешков)
2. Исправлена утечка рукояток в менеджере сервисов
3. Улучшено быстродействие substring для однобайтовых кодировок
4. Добавлена реализация lower – аналог upper
5. Добавлена реализация функции length – возвращает длину строки в символах (для прочих типов длину строкового представления), поддерживает работу с BLOB полями
6. Встроенные функции SQL92

* POSITION
* CHAR_LENGTH | CHARACTER_LENGTH (аналогична length)
* TRIM

7. Встроенные функции из стандартного набора:

* PAD, LEFT, RIGHT, REVERSE, REPLACE, STUFF, TRANSLATE
* ABS, ACOS, ASIN, ATAN, ATAN2
* ASCII_CHAR, ASCII_VAL,
* BIN_AND, BIN_OR, BIN_XOR, BIN_SHR, BIN_SHL
* DIV, MOD, CEILING
* COS, COSH, COT, FLOOR, LN, LOG, LOG10, PI, RAND, SIGN, SIN, SINH, SQRT,
* TAN, TANH , TRIM, POWER, EXP
* DATEADD, DATEDIFF
* HASH, GEN_UUID
* MAXVALUE, MINVALUE

Встроенные функции, принимающие строки, не поддерживают blob (за исключением length) и поддерживают работу с многобайтовыми кодировками при наличии преобразования в UNICODE

8. Оператор EXTRACT дополнен аргументами MONTHWEEK, YEARWEEK, QUARTER, MILLISECOND.
9. Повышена точность ‘NOW’ до миллисекунд
10. Оператор == (два раза подряд =). Аналогичен оператору сравнения, но если оба операнда NULL, результат истина.
11. Второй аргумент GEN_ID опционален, по умолчанию равен 1.
12. Исправлена ошибка с восстановлением из gbk представлений ссылающихся друг на друга

Сборка 877

1. Повышение стабильности сервера на операциях с сортировкой
2. Поддержка задания типа параметра с использованием инструкции CAST в DSQL - :. cast(:param1 as integer) is null :.
3. Исправление неверной обработки пользовательских SAVEPOINT
4. Исправление ошибки обработки null в инструкции between
5. Исправление неэффективного использования памяти при обработки SAVEPOINT процедур
6. Улучшение оптимизатора при обработке объединения выборок из процедур
7. Новый параметр yaconfig, ограничивающий максимальное время выполнения запроса - MAX_REQUEST_TIME

Сборка 875

1. Исправлена ошибка с импортом GetLongPathName (user32.dll).

Сборка 874

1.Исправлена ошибка 873 сборки с наименованием полей в union/group

Сборка 873

1.Добавлена поддержка FB1.5/SQL92 - CASE/COALESCE/NULLIF/SAVEPOINT
2.Исправлены ошибки SF: 784121, 774987, 775003, 544132, 728839.
3.В SS отключена фоновая сборка мусора (сделано как в классике)
4. Исправлена ошибка при подключении с одновременным использованием коротких и длинных имён файлов

Сборка 872b

1.. Исправление проблемы логической целостности с primary/forein key
2.. Исправление проблемы логической целостности индексов

Сборка 872

1. Исправление проблемы 871 cборки с primary/forein key (NULL в уникальных индексах)
2. Исправление проблемы 869 cборки с функцией substring
3. Исправлена ошибка при передачи строковых представлений DATE/TIME аргументов UDF в 3-м диалекте
4. Исправлена ошибка вывода типов MONEY в ISQL
5. Исправлена ошибка вывода порядка сортировки поля таблицы в ISQL

Сборка 871

1. Исправление проблемы с буквой <Ё> и функцией UPPER для кодировки WIN1251 и порядка сортировки WIN1251. К сожалению в сортировке она по прежнему для порядка сортировки WIN1251 будет первой (Правильно сортируют порядки PXW_CYRL, WIN1251_RU)
2. Добавлена поддержка FB1.5/SQL92 - поддержка NULL в уникальных индексах (при создании индекса по constraint unique)
3. Исправлена ошибка с уникальностью в индексе по выражению

Сборка 870

1. исправления некоторых ошибок сборки 869

Сборка 869

1. Расширение SET GENERATOR <name> TO <expression>
2. Расширение SUBSTRING (<expression> FROM <expression> FOR< expression>)
3. Исправлена ошибка переполнения буфера в INF_database_info
4. Исправлена ошибка смены типа домена
5. Исправлена ошибка вычисления индексов по выражениям с использованием UDF и BLOB полями
6. Добавлена поддержка FB1.5 - INSERTING/UPDATING/DELETING
7. Переименованы и исключены из состава ключевых слов в соответствии со стандартом:

a. CONNECTION_ID в CURRENT_CONNECTION
b. TRANSACTION_ID в CURRENT_TRANSACTION
c. ROWS_AFFECTED в ROW_COUNT

Сборка 868

1. Убран механизм обработки имён файлов внешних таблиц в YaP
2. Изменён режим открытия сокетов в классике (сделан как с супере)
3. Убрана (пока???) проверка порядков сортировки при сравнении выражений в обработчике индексов по выражениям

Сборка 867

1.. Исправлена ошибка в обработке инвариантных подзапросов во view приводящая к остановке сервера.
2.. Исправлены ошибки, связанные с переходом на VC7.

Сборка 865

1. Исправлена ошибка округления numeric/__money при приведении к типам меньшеней размерности (integer, smllaint)
2. Исправлена ошибка YaP, приводящая к невозможности подключиться к БД на Win9X
3. Улучшен алгоритм сортировки по скорости, однако сортировка требует несколько больше памяти чем обычно.
4. Введён флаг для сокращённого вычисления логических выражений -bool в gfix
5. Произведена замена системной библиотеки с msvcrt.dll, на msvcrt70.dll в связи со сменой компилятора на VC7. Проверьте ваши UDF объявленные с FREE_IT, они должны выделять память, используя интерфейс ib_util.dll.
6.. Уточнение по использованию UDF в ORDER BY - разрешено прямое указание UDF, без неообходимости заключать в скобки как выражение.

Сборка 864

1. Обработка выражений с группируемыми полями в having
2. Переполнение в выборе масштаба в мат.выражениях с использованием IIF и операндов разного масштаба
3. Путь к UDF в Embedded

Сборка 863

1. Исправлена ошибка выбора индекса по выражению с использованием strating with/like
2. Исправлены проблемы совместимости с Windows 95
3. Исправлена ошибка сборки 855 компиляция выражений вида filed in (select агрегат(:) from :.)
4. Улучшено использование памяти сервером
5. Количество threads, используемых SS при обработке подключений по TCP/IP, ограничено до 128
6. Устранены возможные сбои при остановке сервера в момент выполнения SWEEP
7. Количество подключений в SS по TCP/IP ограничено до 1024
8. Исправлена ошибка группировки select * from rdb$database group by 1
9.. Исключено (до исправления) использование индексов в запросах вида< значение> starting with <поле>
10. Уточнение по использованию выражений в ORDER BY - выражение нужно заключать в скобки. Пример - select * from T order by (A+B), C
11. Добавлена поддержка ORDER BY в операторах UPDATE/DELETE
12. Добавлен новый тип __MONEY/__NMONEY(n) - вещественный тип с фиксированной запятой (NUMERIC/NUMERIC(n), округление по бухгалтерским правилам, точность при операциях * и / выбирается как максимум из точностей операндов


Замечание по поводу п.7 и п.5

Ограничения наложены с целью устранить возможную ошибку DoS в результате массового подключения к серверу. В настоящий момент остаётся возможным DoS атака по протоколам WNET\XNET. Поэтому если они не используются, то лучше их отключать - ключ -i в параметрах сервера.

Сборка 860

1. Улучшена обработка cast в индексах по выражению
2. Сетевая поддержка в Yaffil Personal - если подключение локальное, то YaP сам подсоединяется к БД, а если подключение "сетевое" (netbeui или tcp, даже на этом же компьютере), коннект идет к обычному серверу БД, как будто YaP - просто клиентская gds32.dll. Ели сетевое подключение к локальному серверу не удалось (его нет), то производится самостоятельное (локальное) подключение к БД.
3. Совместимость с WinSock1 (на Win95 не требуется установка апдейта winsock2).

Сборка 856

1. Исправлены ошибки SF: 221921, SF: 414420, SF: 508594, SF: 638521, SF: 213859
2. Исправлена ошибка в интерпретаторе BLR, приводящая к остановке сервера при разборе неправильного BLR
3. Исправлен неоптимальный план при объединении таблиц через условие starting with
4. Убран модуль gdsintl.dll
5. Убран файл yaffil.msg
6. Исправлена ошибка с обработкой метаданных процедур в кэше
7. Yaffil Personal RC2
8. Добавлены средства разработки (включая номера сообщений для FormatMessage)

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

Сборка 855

1. Исправлена ошибка SF: 221921, SF: 414420
2. Исправлена ошибка SF: 638521
3. Исправлена ошибка в интерпретаторе BLR, приводящая к остановке сервера при разборе неправильного BLR
4. Исправлен неоптимальный план при объединении таблиц через условие starting with
5. Убран модуль gdsintl.dll
6. Убран файл yaffil.msg
7. Исправлена ошибка с обработкой метаданных процедур в кэше
8. Улучшение обработки сборки мусора
9. Yaffil Personal RC2

yaffil.msg - переведен в ресур MESSAGETABLE (как требует Microsoft). Теперь можно легко локализовать - достаточно использовать RLMAN и без перекомпиляции добавлять новые кодовые страницы. Ya автоматически выберет нужную кодовую страницу в соответствии с локалью пользователя.

Клиент теперь состоит только из gds32.dll и вообще не требует установки

По поводу gdsintl.dll - если нужна новая кодировка, то в ближайшее время будет документирован стандартный интерфейс UDF для создания собственных кодовых страниц.

YaP RC2 кроме описанных выше изменений содержит дополнительный код - вызывает остановку движка (как при остановке супера через трей) при выгрузке DLL. Т.е. гарантируется неповреждение базы в случае завершения приложения без закрытия подключений к БД. Кроме того, при Commit YaP вызывает сброс файлового кэша БД на диск. Это необходимо для повышения надежности баз данных. Возможно, в будущих версиях появится фоновый thread, который будет мониторить менеджер памяти на предмет целостности.

Сборка 854

  1. убран код (853) обработки "магических" чисел при поиске по индексу.

Сборка 853

1. Ускорение обработки оптимизатором запросов с большим количеством таблиц
2. Исправлена ошибка SF: 217042
3. Исправлена ошибка с использованием индекса в выражении поиска :param starting with field
4. Обновление документации (дополнена глава <Расширения SQL>)
5. Исправлена ошибка < request sync error> при использовании LEAVE
6. Увеличено ограничение на количество констант в выражении IN до 3000
7. Исправлена ошибка SF: 576067
8. Исправлена ошибка SF: 223060 (неверная обработка индексов на условиях> и >=)

Сборка 850

1. Исправлены проблемы с подзапросами и параметрами. Изменения не касаются BLR и внесены только в интепретаор BLR. Алгоритм определения состояния подзапроса работает через т.н. "точки следования". Момент прохождения Т.С. считаются: точки отката, вызов процедур и операторы for select, while внутри процедур. Таким образом можно использовать подзапросмы с параметрами и некоррелированные подзапросы как в простых вызовах с клиента так и внутри процедур, включая конструкции for select и while.

Сборка 849

1. исправление возможности возникновения AV на локализованных версиях Windows

Сборка 848

1. исправление ошибки в сборке 847

Сборка 847

1. Ошибка приоритета уникального индекса в оптимизаторе
2. Пользовательский план теперь отключает оптимизацию при выборе индексов

Сборка 845

1. Добавлена совместимость с IB4 в плане обработки SEH (при вызове UDF).

Сборка 844

1. Исправление ошибоки приводящей к остановке сервера при редактировании
зависимых процедур
2. Ошибка обработки INSERT INTO : FROM :. UNION :..

Сборка 843

1. Ошибка обработки группировки по номеру столбца с использованием алиаса

Сборка 842

1. Исправление ошибоки приводящей к остановке сервера с EXCEPTION
2. Убрано ограничение <request size limit exceeded>. Ограничение теперь накладывает свободная память

Сборка 841

1. Убрана ошибка раскрутки выражения в exception
2. Убрана одна утечка памяти

Сборка 840

1. Устранены разрывы соединения по TCP/IP с IB/FB и YA 835
2. Исправления проблем с компиляцией процедур

Сборка 839

1. Исправления сборок 838.X на предмет стабильности. По идее должо быть более стабильно чем 835.
2. НАЧИНАЯ С 839 СБОРКИ Ya НЕ ИСПОЛЬЗУЕТ КЛЮЧИ, СИСТЕМНЫЕ ОБЪЕКТЫ И Т.П. от IB. Таким образом можно запустить одновременно Ya и IB/FB на одной машине.

Рекомендуется распаковывать архив в папку Program Files\Yaffil и установить его в системе через instreg.

Сведения об используемых системных объектах:

Ключ реестра: HKLM\Software\Yaffl. БЕЗ CurrentVersion!!!
Окно сервера: имя - ""Yaffil SQL Server"", class - "YA_Server"
Мьютех: "YaffilMutexRunning"
Сёрвис супера - "YaffilSQLServer(SS)"
Сёрвис классика - "YaffilSQLServer(CS)"
Гардант - "YaffilSQLGuardian"

Сборка 835

1. Исправлено падение DROP SHADOW
2. Исправлена невозможность выполнить ALTER DOMAIN NAME1 TO NAME2

Сборка 834

3. ALTER VEW
4. Группировка по номеру столбца: select count(child), parent group by 2
5. Возможность задания значения переменной в момент определения (DECLARE MY_VAR SMALLINT = 0;)
6. Синтаксис DECALRE VARIABLE, VARIABLE – опционально
7. Возможность запускать сервер без необходимости прописывать ключи в реестр (HKLM\Software\Borland\Interbase). При установке клиента достаточно что бы файл interbase.msg находился в тойже папке где и gds32.dll. Таким образом установка клиента сводится к простому копирования двух файлов (gds32.dll и interbase.msg) в папку с приложением.
8. Возможность установки как сёрвис под Win9x (ключи –a –s). Установка супера ставит под Win9x в режиме сёрвиса.

Сборка 833

1. Повышена устойчивость сервера при восстановлении БД с неверными BLR
2. Программа установки (раздельно для классика, супера и клиента) под MSI

Сборка 832

1. Откатили исправления ошибки if(exists(..)) (см. сборку 817)
2. Откатили исправления ошибки с кореллированными подзапросами в SP
Подробное описание ошибок и способа их обойти см. в документации.

Сборка 830

3. Убраны ошибки при работе с доменами 829 сборки
4. Мелкие исправления gstat
5. Убрана ошибка в RDB$DEPENDENS
6. Повышена устойчивость к ошибкам типа 10054
7. При ошибке в сети пишется IP клиента её породившего
8. Улучшена поддержка SMP, поэтому классик теперь запускается только на NT 4 и выше.
9. Новый параметр подключения к БД (isc_dpb_numeric_scale_reduction 70). Если задан, то при умножении/деление numeric масштаб берётся не как сумма, а как максимум из двух + 1.
10. Возможность удалять и иногда альтерить объекты с именами – новыми ключевыми словами начиная с IB 5

Сборка 829

1. Разрешены выражения в default
2. Исправлены зависания со 100% и 0% загрузкой процессора
3. Улучшен парсер в плане поддержки старых клиентов. Разрешается использовать в идентификаторах слова (независимо от версий клиентов, диалектов и т.д.):
YEAR
MONTH
DAY
HOUR
MINUTE
SECOND
WEEKDAY
YEARDAY
4. BREAK -> LEAVE. Убрали INT64, оставлен по стандарту BIGINT.

Сборка 827

1. FIRST 0 теперь не ругается а возвращает пустой набор
2. Разрешена сортировка в подзапросах на поле. (select first 1 ... order by...)
3. ускорена чистка точек отката (см. письмо про зависание)
4. исправлен баг - триггеры на VIEW с UNION.
5. Набор символов CYRL снова содержит прошивку WIN1251 для совместимости с приложениями, использующими этот набор символов. Ликвидированы collation orders для него (DB_RUS и PDOX_CYRL). Для поддержки ДОС-кодировки добавлен набор символов DOS866 (код 97, синоним DOS_866) со следующими collation orders: DOS866 (код 0, бинарный, по умолчанию) и DOS866_RU (код 1).

Сборка 825

1. Исправлена ошибка (IB/FB) отслеживания зависимостей процедуры от view в кэше метаданных. Т.е. процедуру могли удалить из кэша (например при модификации), при наличии в кэше view её использующую. Проявлялось как. спонтанное падение сервера.
2. Исправлена ошибка (YA) при создании вот такого индекса create index .... on ..... computed by (transaction_id)
3. Улучшена обработка окончания работы последнего соедениения с базой

Сборка 824

1. Исправлен GPF (падает IB/FB) вот на таком плане: PLAN (SORT (JOIN (CANDIDATES INDEX (RDB$FOREIGN4), ALL_USERS INDEX (RDB$PRIMARY7))), SORT (JOIN (VACANCY_LIST NATURAL,EDUCATION NATURAL))) Т.е. если намутить с MERGE и SORT, то можно обвалить оптимизатор
2. Исправлена ошибка Ya в 823 сборке с падением на конструкции вида UDF(AGGREGATE(...))
3. Исправлен GPF (IB/FB) на запросах вида: WHERE cast ( подзапрос ) BETWEEN ..... При этом ругаемся на синтаксис (так как и IB/FB на WHERE подзапрос BETWEEN ..... )

Сборка 823

1. group by EXTRACT function doesn't work SF:567931 (группировка работает по всем встроенным)
2. Aggregate concatenated empty char SF: 562417
3. мелкий багофикс индексов по выражениям
4. мелкий багофикс LEGACY_DIALECT
5. подчистили код, теперь всего меннее 400 предупреждений
6. мьютексы заменили на т.н. NT Interlocked Functions (начиная с 830 только для классика)
7. мелкий багофикс работы с памятью
8. Падения в 822 в оптимизаторе

Сборка 822

1. Исправлена ошибка с параметрами в подзапросах (с клиента, а не корреляции в SP)
2. Проблемы с OR в оптимизаторе сборок 819-821

Сборка 819

1. Исправлены ошибки 817 сборки
· Неверная обработка или падения сервера при условии OR
· Падение при построении индекса по выражению, содержащему blob и udf
3) Добавлен оператор IIF, синтаксис IIF '(' search_condition ',' null_or_value ',' null_or_value ')' ·
2. Исправление distinct внутри view

Сборка 817

1. Оптимизатор - индексы теперь всегда выбираются с учётом селективности. Из всех кандидатов подходящих для объединения выбирается с лучшей селективностью. Затем отбрасываются те, селективность которых хуже в K раз. Нет K мало, лучше в N раз :-):-):-):-) Щас К = 10, потом вынесем в ibconfig (так и не вынесли за ненадобностью)
2. Исправлен глюк с if(exists(..)) - это который Коваленко нашёл
3. Включены индексы по выражениям
4. Исправлено несколько ошибок при работе с памятью

Сборка 816

1. Улучшения оптимизатора в обработке условия IN
2. Улучшения оптимизатора в обработке условия OR на одно поле

Сборка 814

1. Исправлено несколько ошибок при работе с памятью
2. Реализована совместимость с FB2: INT64, LARGEINT, CONNECTION_ID,
2. TRANSACTION_ID (впоседствии будет как в стандарте BIGINT)

Сборка 812

1. Изменен режим объединения строк. Теперь при компиляции метаданных если превышен результирующих размер объединения, то выдаётся предупреждение и размер приводится к максимальному для varchar. Реально же размер проверяется непосредственно во время объединения данных, и если уже тогда не влезли, то выдаётся ошибка.

Сборка 811

1. Новые кодировки
· CS_WIN1255 91 /* Hebrew, Windows cp 1255 /
· CS_WIN1256 92 / Arabic, Windows cp 1256 /
· CS_WIN1257 93 / Baltic, Windows cp 1257 /
· CS_WIN1258 94 / Viet Nam, Windows cp 1258 /
· CS_KOI8R 95 / Russian KOI8, Windows cp 20866 /
· CS_KOI8U 96 / Ukrainian KOI8-U, Windows cp 21866 */
2. 866 кодировка работает как надо, а не как 1251 (в последствии вернули для совместимости и ввели новую)
3. Наведён порядок с размером индексов и cортирвкой (collate)

Сборка 810

1. Содержит новые изменения в плане значительного увеличения глубины рекурсии (спасибо за тест Е.Болтику)

Сборка 806

1. Продолжаем пытаться исправлять оптимизатор

Сборка 805

1. Исправлены артефакты на запросах с сортировкой, улучшен выбор индекса с учётом селективности

Сборка 803

1. Улучшена производительность при вставке данных через скрипт
2. Улучшена производительность сортировки в плане и построение индексов с записями менее 16 байт
3. Исправлена ошибка с автоматическим подключением по локальному протоколу в случае отсутствия подключения по TCP/IP
4. Улучшения оптимизатора

Сборка 800 RC1 (приведён общий список изменений к этой сборке)

1. Возможность указания IP адреса сервера TCP. Синтаксис: -i ip_address/port, где ip_address - IP адрес привязки сервера, port - TCP порт. Оба параметра необязательные. По умолчанию разрешается использование любого адреса и используется порт сервиса gds_db (или 3050 если сервис отсутствует). Пример: ibserver -i 192.168.214.1/3051. При использовании ключа -i необходимо также указывать ключи -n (Named Pipes), -l (local) и -x (XNET), иначе данные протоколы не будут использоваться.
2. Серверный поток, работающий по Named Pipes больше не переключается под учетную запись клиента. Таким образом нет необходимости давать права учётным записям пользователей на доступ к файлу БД.
3. При указании IP адреса не используется вызов gethostbyname
4. Реализация локального протокола XNET
5. Реализация LOCK_TIMEOUT
6. Обновлённый алгоритм упаковки записей. SQZ_RECORD (в последствии SQZ_BLOCK) теперь определяет не только минимальный размер не пакуемой записи, но и минимальный размер не пакуемого блока внутри записи. Плюс новый алгоритм объединяет соседние блоки и выравнивает их размер на машинное слово.
7. Значительная часть критичного кода (работа с индексами, сортировка и т.п.) полностью или частично переписаны на ассемблере (x86)


(c) Yaffil Team & iBase