История изменений DBGate
Версия 2.5 от 21.02.2023
Новые возможности:
- DBGate генерирует списки значения на основе значений ENUM MySQL и PostgreSQL.
- DBGate поддерживает тип данных SET MySQL.
- DBGate преобразует данные MySQL binary(16) и varbinary(16) в формат GUID при наличии в COLUMN_DEFAULT функций uuid_to_bin(uuid()), uuid_to_bin(uuid(),0) или uuid_to_bin(uuid(),1).
Улучшения:
- DBGate использует поставщик данных MySql.Data.MySqlClient, установленный в системе.
До этого использовался поставщик, поставляемый с приложением.
Данное решение позволяет устанавливать и использовать наиболее свежую версию поставщика:
https://dev.mysql.com/downloads/connector/net/ - DBGate выполняет динамическую замену отсутствующего поставщика данных MySql.Data.MySqlClient на встроенный поставщик MySqlConnector.
- Улучшена производительность получения метаданных MySQL 8.
Исправленные ошибки:
- Подключение к MySQL 8 с использованием поставщика данных MySql.Data.MySqlClient вызывает различные исключения.
Версия 2.4 от 23.01.2023
Улучшения:
- Обновлены примеры приложений на 2023 год.
- Обновлены поставщик данных .NET и .NET Framework для Snowflake.
- Обновлена утилита регистрации.
Версия 2.3 от 13.12.2022
Улучшения:
- DBGate позволяет использовать страницы редактирования, специфичные для языка.
- DBGate включает специальные страницы редактирования для упрощенного китайского, традиционного китайского, японского и корейского языков.
- DBGate включает новую темную тему.
- Примеры и пакеты SaveToDB Framework выпущены под лицензией MIT.
Версия 2.2 от 05.10.2022
Исправленные ошибки:
- Значения типа даты и времени SQLite и MySQL через поставщиков .NET выводятся в виде строк.
Версия 2.1 от 17.08.2022
Критические изменения:
- DBGate не активирует сохранение изменений для представлений, процедур и SQL кода на основе соединения нескольких таблиц.
Для сохранения изменений таких объектов следует вручную задать целевую таблицу в таблице xls.objects. - Поля представлений и процедур на основе нескольких таблиц помечаются как расчетные.
- Контекстные параметры для клиентских приложений включаются в состав полей объектов (например, rownum).
Улучшения:
- Перевод в SQLite и SQL Server Compact с пустыми схемами и именами объектов добавляется в схему Default.
- Улучшено определение полей для списков значений (понижен приоритет Guid и Char(36)).
- $orderby= возвращает данные без сортировки по умолчанию.
Исправленные ошибки:
- DBGate отключает сохранение процедурами, если задан обработчик изменений _change.
- DBGate не сохраняет изменения данных из форм JSON.
- Не работает редирект на домашнюю страницу при изменении свойства base страниц HTML.
Версия 2.0 от 05.07.2022
DBGate включает измененное Лицензионное соглашение.
Наиболее важное изменение:
"Приобретая Программу от имени вашей компании, вы даете неявное согласие на указание имени вашей компании как нашего клиента.
Вы можете отозвать ваше согласие в любой момент, направив запрос по электронной почте".
Новые возможности:
- Добавлена документация DBGate на русском языке.
- DBGate включает новое Руководство разработчика.
- DBGate доступен на упрощенном китайском, традиционном китайском, японском и корейском языках.
- DBGate поддерживает языковые коды длиной до 10 символов. Например, можно использовать zh-cn, zh-hans и zh-hans-cn. zh-hans и zh-hant являются предпочтительными для китайского языка.
- DBGate поддерживает SQL код во всех таблицах настройки.
- DBGate поддерживает .NET Framework 4.7.2.
- DBGate поддерживает провайдер Microsoft.Data.SqlClient.
- DBGate поддерживает пакетные запросы POST /$batch, совместимые с OData.
- DBGate поддерживает конечные точки управления приложением: /api/$stop, /api/$show, /api/$hide.
Для включения поддержки команд, установите StopEnabled в true в файле настроек приложения. - DBGate поддерживает параметр $reloadMetadata=true в HTTP запросах для обновления метаданных базы данных.
Пользователи могут нажать Ctrl и кликнуть на кнопке Reload для обновления метаданных в клиента JavaScript. - DBGate поддерживает параметр $distinct=true для возврата данных запросов SELECT DISTINCT.
- DBGate поддерживает параметр $orderby в URL запроса.
- DBGate поддерживает параметр $groupby в URL запроса.
- DBGate поддерживает параметр $iscount=true в URL запроса для возврата значения SELECT COUNT(*).
- DBGate поддерживает параметр $binaryAsHex в URL запроса и параметр binaryAsHex в заголовке Prefer.
- DBGate поддерживает параметр $bigNumbersAsString в URL запроса и параметр bigNumbersAsString в заголовке Prefer.
- DBGate поддерживает параметр $dateTimeAsDateTimeOffset в URL запроса и заголовке Prefer.
- DBGate поддерживает параметры $timezone и $timezoneoffset в URL запроса и заголовке Prefer.
- Настройки DBGate в файле конфигурации выделены в группы DBGate и DBGateW.
- DBGate поддерживает новые опции в файле конфигурации:
MaxPageSize, UppercaseNamesInLowercase, DisableEditPageCache, BinaryAsHex, BigNumbersAsString, FunctionPrefixes, FunctionSuffixes, TraceSQL, StopEnabled. - DBGate поддерживает новые опции в разделах строк подключения в файле конфигурации:
AllowDatabaseChange, Offline, Home. - DBGate поддерживает конечные точки в формате /schema/name/{id} для выборки единственной записи по значению первичного ключа.
- DBGate добавляет заголовок "dbgate-version: 2.0".
- DBGate добавляет заголовок для отключения кэширования:
Cache-control: no-cache, no-store, must-revalidate. - DBGate сортирует результаты таблиц и представлений по умолчанию.
Для сортировки могут использоваться первичные ключи, колонки identity или полный набор выходных колонок. - Метаданные объектов включают описание обработчиков событий.
- Метаданные параметров могут включать свойство CONTEXT_TYPE со следующими значениями: Language, Top, Skip.
- Разработчики могут переопределить значение DEFAULT_VALUE в метаданных параметров используя обработчики DefaultValue.
- DBGate поддерживает разбивку результата по страницам и параметры $top и $skip в URL запроса.
Разбивка на страницы для таблиц и представлений выполняется автоматически.
Разработчики могут реализовать разбивку на страницы для хранимых процедур, используя следующие пары параметров:
top и skip, limit и offset, $top и $skip или $limit and $offset.
Используйте опцию MaxPageSize для настройки максимального размера страницы. - Клиент JavaScript поддерживает фиксацию колонок.
- Клиент JavaScript позволяет выполнять обработчики типа Actions и ContextMenu.
- Клиент JavaScript поддерживает JSON-параметры процедур редактирования.
- Клиент JavaScript поддерживает процедуры обновления единственным запросом (bulk update).
Улучшения:
- Платформа DBGate обновлена до .NET 6.0.
- DBGate поддерживает SaveToDB Framework 10.
- Клиент JavaScript значительно переработан, включая CSS.
- DBGate преобразует пустые значения не строковых типов в NULL.
- DBGate выводит в свойствах DATA_TYPE значения System.DbType вместо типов данных SQL конкретной платформы.
- DBGate не добавляет поля @ псевдокода SQL в выходные поля SELECT.
Например,id, state, @country_id
преобразуется вSELECT id, state FROM ... WHERE country_id = @country_id
. - Параметры хранимых процедур и SQL кода могут использовать символы в кодировке XML для получения значений из базовых колонок.
Например, параметр @company_x0020_name получает значение колонки "company name".
Исправленные ошибки:
- DBGate не читает объекты SQL Data Warehouse.
- DBGate возвращает пустой заголовок content-type для некоторых ответов text и HTML.