1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Sharding-Sphere-sharding-sphere

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
RELEASE-NOTES.md 160 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 23:47 4dc93c3

Версия 5.5.2-SNAPSHOT

Изменения в API

Новые возможности

Улучшения

  1. Парсер SQL: Поддержка парсинга оператора BITXOR в Doris — #33258
  2. Прокси Native: Изменение базового образа Docker для ShardingSphere Proxy Native — #33263
  3. Прокси: Добавление параметров запроса и проверки процесса kill в MySQL — #33274
  4. Федерация SQL: Обновление версии Calcite до 1.38.0 и обновление всех лицензионных данных в LICENSE файле — #33279
  5. Парсер SQL: Поддержка парсинга функции INSTR в Doris — #33289
  6. Агент: Упрощение использования Docker-образа агента — #33356
  7. Ядро: Добавление проверки наличия аргументов при создании RouteUnit — #33382
  8. Ядро: Добавление проверки непустоты индексных колонок для IndexColumnTokenGenerator — #33384
  9. Парсер SQL: Поддержка парсинга функции STRRIGHT в Doris — #33393
  10. JDBC: Добавление отображения имени базы данных при выполнении команды SHOW COMPUTE NODES через JDBC — #33437
  11. Ядро: Добавление привязки к владельцской таблице — #33533

Исправления ошибок

  1. Режим: Исправление некорректной обработки H2-базы данных в режиме памяти в JDBCRepository — #33281
  2. Парсер SQL: Использование MultiMap и CaseInsensitiveString вместо CaseInsensitiveMap для поддержки многотабличного соединения с одинаковым псевдонимом в MySQL — #33303
  3. Парсер SQL: Исправление проблемы с объединением нескольких команд, когда внешняя таблица не может быть найдена — #33357
  4. Парсер SQL: Исправление проблем производительности SQL вызванных повторными запросами подзапросов — #33361
  5. Шардинг: Временная отмена проверки ShardingRouteAlgorithmException для поддержки различных конфигураций реальных имён таблиц — #33367
  6. Парсер SQL: Исправление исключения "таблица не существует" при использовании HintManager#setDatabaseName для прозрачного доступа — #33370
  7. Парсер SQL: Исправление исключения преобразования LiteralExpressionSegment в парсере SQL — #33332
  8. Шардинг: Исправление SQL COUNT с GROUP BY для предотвращения неверного возврата строк — #33380
  9. Шардинг: Исправление возвращаемых пустых данных функциями AVG, SUM, MIN, MAX при отсутствии результатов запроса — #33449

Журнал изменений

  1. МЕДИАЛЬНАЯ ЦЕЛЯ

Версия 5.5.1

Изменения в API

  1. Авторизация: Отметка предоставителя привилегий ALL_PERMITTED как устаревшей и будет удалена в будущем
  2. DistSQL: Удаление использования необязательного параметра usageCount в команде show storage units
  3. Чтение-запись: Изменение dataSources на dataSourceGroups для YAML

Новые возможности

  1. Ядро: Добавление новых модулей парсера SQL для Doris, Hive и Presto и типов баз данных

Улучшения1. Пайплайн: Добавление реализации SHARDING_TOTAL_COUNT для JobExecutorServiceHandler для повышения требований к количеству ядер процессора.

  1. Пайплайн: Поддержка страницированного запроса для инвентаризации дампера и потока согласованности данных.
  2. Пайплайн: Использование регистронезависимых идентификаторов для усиления загрузчика метаданных таблиц.
  3. Пайплайн: Поддержка порядкового расположения первичных ключевых столбцов для стандартного загрузчика метаданных таблиц.
  4. DistSQL: Проверка привилегий при регистрации или изменении хранилища единицы.
  5. DistSQL: Проверка дубликатов фактических узлов данных при создании или изменении правила шардинга таблицы.
  6. DistSQL: Добавление поддержки LIKE для команды SHOW STORAGE UNITS.
  7. DistSQL: Откат при неудачном импорте конфигурации базы данных.
  8. Прокси: Упорядочивание результатов команды SHOW TABLES.
  9. Метаданные: Сбор типа таблицы для PostgreSQL.
  10. DistSQL: Добавление типа таблицы в набор результата команды SHOW LOGICAL TABLES.
  11. Прокси: Инициализация сбора метаданных при создании и удалении базы данных и таблицы.
  12. Прокси: Оптимизация агента для поддержки сбора метрик данных из множества источников данных при использовании с драйвером.
  13. Шифрование: Добавление проверки недопустимости объединенного заявления с зашифрованными столбцами.
  14. Парсер SQL: Поддержка ключевых слов COLLATION и CONSTRAINT в PostgreSQL.
  15. Парсер SQL: Поддержка изменения репликации без серверных ID в MySQL.
  16. Парсер SQL: Поддержка псевдонимов строк и столбцов с ON DUPLICATE KEY UPDATE в MySQL.
  17. Парсер SQL: Поддержка создания загружаемой функции с возвратом INT/DEC в MySQL.
  18. Парсер SQL: Поддержка парсинга MySQL CREATE TABLESPACE/TABLE в MySQL-8.
  19. Парсер SQL: Поддержка парсинга MySQL CREATE INDEX с ENGINE_ATTRIBUTE.
  20. Парсер SQL: Поддержка парсинга MySQL LOAD DATA с переменной @.
  21. Парсер SQL: Поддержка парсинга MySQL START REPLICA statement.
  22. Парсер SQL: Поддержка парсинга MySQL JSON_TABLE функции.
  23. Шардинг: Пересмотр всех локальных индексов для шардинговых таблиц и добавление объекта уровня уникальности SPI для управления генератором токена индекса.
  24. Парсер SQL: Улучшение результата посещения заявления MySQL JSON функции.
  25. Федерация SQL: Поддержка функции BIT_COUNT в федерации SQL для MySQL.
  26. Федерация SQL: Улучшение функций ATAN и ATAN2 в федерации SQL для MySQL.
  27. Ядро: Поддержка извлечения подсказок SQL при наличии комментариев подсказок DBeaver в SQL.
  28. Шифрование: Поддержка переопределения SELECT DISTINCT(column) с зашифрованными столбцами и переработка логики построения SubstitutableColumnNameToken.
  29. Федерация SQL: Поддержка федерированного запроса MySQL BIN функции.
  30. Ядро: Добавление извлечения объединенного левого выбора в методе extractFromSelectStatementWithoutProjection.
  31. Прокси Native: Добавление более подробных метаданных достижимости GraalVM для кэша Caffeine.
  32. Парсер SQL: Улучшение анализа обновлений Oracle с псевдонимами и добавление тестового случая.
  33. Федерация SQL: Поддержка федерированного запроса оператора NOT.
  34. Управление: Изменение пути узлов алгоритмов shadow и sharding на shadow_algorithms и sharding_algorithms.
  35. Шифрование: Поддержка переопределения команды LIKE CONCAT с вложенным CONCAT с функцией шифрования.
  36. Поддержка парсинга функций таблицы PostgreSQL, openGauss и обновления из парсера.
  37. Добавление ассистирующего узла для создания и удаления баз данных.
  38. Поддержка CTE с PostgreSQL и openGauss.
  39. Оптимизация поддержки часового пояса в PostgreSQLDateValueParser.
  40. Шардинг: Добавление NullsOrderType.LOW и NullsOrderType.HIGH для обработки NULL ORDER BY в функции шардинга.
  41. Поддержка парсинга SQL с единицами типа длины столбца Oracle.
  42. Поддержка LIMIT и OFFSET как NULL в PostgreSQL.
  43. Добавление парсинга SQL с NOT NULL для столбцов MySQL.
  44. Добавление парсинга SQL с CHARSET для MySQL.
  45. Использование одного типа транзакции в одном транзакционном адаптере JDBC.
  46. Поддержка переключения между типами транзакций.
  47. Добавление проверки совпадения алгоритмов шардинга с фактическими узлами данных.

Исправления ошибок

  1. МЕЛЬНИКА

Версия 5.5.0

Изменения API

  1. Прокси: Удаление устаревшей конфигурации schemaName в прокси.
  2. Ядро: Удаление конфигурации sqlCommentParseEnabled в правиле SQL парсера для снижения сложности кода.
  3. Парсер SQL: Рассмотрение удаления конфигурации sqlCommentParseEnabled в правиле SQL парсера.
  4. Федерация: Добавление конфигурации allQueryUseSQLFederation для SQL федерации.

Новые возможности

  1. Распределённый SQL: Новый синтаксис для запроса реализации SPI плагина.
  2. Распределённый SQL: Новый синтаксис для управления правилом SQL_TRANSLATOR.### Улучшения
  3. Пайплайн: Улучшение стабильности и производительности CDC
  4. Пайплайн: MemoryPipelineChannel поддерживает настраиваемый ноль размера очереди для меньшего потребления памяти
  5. Пайплайн: Отображение специального сообщения об ошибке при отсутствии режима Clustering
  6. Авторизация: Добавление опции isSuper для пользователя
  7. Пайплайн: Игнорирование сообщений об ошибках в результате DistSQL при отмене задачи
  8. Распределенный SQL: Использование JSON-формата для вывода свойств в RQL
  9. Распределенный SQL: Оптимизация логики REFRESH DATABASE METADATA
  10. Распределенный SQL: Поддержка JDBC узлов в команде SHOW COMPUTE NODES
  11. Распределенный SQL: Оптимизация синтаксиса команды REFRESH DATABASE METADATA
  12. Распределенный SQL: Оптимизация вывода команды SHOW TABLE METADATA
  13. Прокси: Добавление проверки предварительно скомпилированных параметров MySQL для предотвращения возникновения исключения ArrayIndexOutOfBoundsException при использовании rewriteBatchedStatements=true
  14. Парсер SQL: Добавление EOF для выбрасывания исключения при парсинге команды распределенного SQL для отката миграции
  15. Парсер SQL: Поддержка более широкого спектра PL/SQL операторов и добавление логики проверки
  16. Парсер SQL: Поддержка парсинга индексных подсказок
  17. Парсер SQL: Поддержка парсинга оператора объединения INTERSECT для MySQL
  18. Парсер SQL: Поддержка парсинга китайских пробелов в Oracle
  19. Парсер SQL: Исправление парсинга функции TIMESTAMPDIFF для MySQL
  20. Парсер SQL: Исправление парсинга необъявленной сокращенной формы для SQL Server
  21. Парсер SQL: Поддержка парсинга ключевых слов SEARCH для SQL Server
  22. Парсер SQL: Добавление ключевого слова MEMBER для SQL Server
  23. Биндер: Добавление логики ParameterMarkerSegmentBinder для Oracle MergeStatementBinder
  24. Федерация: Поддержка оператора CROSS JOIN для SQL федерации
  25. Транзакция: Добавление советского сообщения в исключение XATransactionCheckPrivilegeFailedException
  26. Шардинг: Валидация повторяющихся фактических данных узлов шардинга
  27. Шардинг: Поддержка маршрутизации при условии NULL
  28. Прокси: Исправление опции многократных команд для клиента MySQL

Исправления ошибок

  1. Пайплайн: Исправление проблемы отсутствия удаления связанных задач проверки согласованности при выполнении коммита/отката миграционной задачи
  2. Пайплайн: Исправление отображения времени завершения состояния проверки согласованности
  3. Прокси: Восстановление оригинального имени базы данных после одиночного соединения
  4. Прокси: Исправление выполнения команды SHOW TABLES без использования базы данных
  5. Прокси: Исправление некорректного текущего имени базы данных после одиночного маршрутизования
  6. Прокси: Исправление выполнения команды SHOW TABLES до использования базы данных
  7. Чтение/запись разделение: Исправление исключения при использовании источника данных тени
  8. Управление: Исправление проблем блокировки потока при создании логической базы данных для центра регистрации Etcd
  9. Управление: Исправление проблем регистрации узлов хранения и создания правил функциональности при использовании режима Standalone
  10. Метаданные: Исправление отсутствия построения системы схемы базы данных при её создании
  11. Метаданные: Исправление исключения NullPointerException в системе сборщика схем
  12. Парсер SQL: Исправление исключения NullPointerException при парсинге столбцаRef для PostgreSQL
  13. Парсер SQL: Исправление исключения NullPointerException при парсинге команды SELECT WINDOW для MySQL
  14. Шардинг: Исправление ошибки маршрутизации при объединении таблиц в верхнем регистре
  15. Шардинг: Исправление исключения при удалении таблицы в верхнем регистре
  16. Шардинг: Исправление генерируемого ключа с именем столбца в верхнем регистре
  17. Федерация: Исправление исключения "Объект 'DUAL' не найден" при выполнении команды SELECT 1 FROM DUAL
  18. Транзакция: Исправление автоматического режима COMMIT при выполнении команды EXECUTEQUERY
  19. Прокси: Исправление выполнения многократных команд с указанием имени базы данных

Изменения

  1. МЕЛЬНИКА

Версия 5.4.1

Новые возможности

  1. Прокси: Поддержка пулов соединений dbcp и c3p0
  2. Метаданные: Адаптация режима Standalone к новой структуре метаданных
  3. Управление: Поддержка регистрации уровня экземпляра источника данных

Улучшения

  1. Режим: Улучшение реализации типа JDBC в режиме Standalone для сброса данных при инициализации
  2. Эскалация: Изоляция хранилища данных ShardingSphereDataSource в режиме Standalone в пайплайне
  3. Эскалация: Отключение параметра system-schema-metadata-enabled в пайплайне
  4. JDBC: Перемещение основного файла META-INF/services/java.sql.Driver из тестового каталога в основной
  5. Эскалация: Добавление колонок алгоритма в результате команды SHOW MIGRATION CHECK ALGORITHMS
  6. Эскалация: Добавление колонки type_alias в результате команды SHOW MIGRATION CHECK ALGORITHMS
  7. Зашифрование: Добавление проверки дубликатов имён выведенных и логических столбцов
  8. Зашифрование: Запрет DDL для зашифрованных столбцов в прокси
  9. Зашифрование: Добавление значения по умолчанию для выведенных столбцов как VARCHAR(4000)

Исправления ошибок

  1. Эскалация: Исправление получения позиции инвентаризации при продолжении работы с точки остановки при схожих именах таблиц
  2. Эскалация: Исправление недоступности запуска импортера CDC при продолжении работы с точки остановки после завершения первой задачи инвентаризации
  3. Одиночная таблица: Исправление отсутствия активации версии при создании/удалении таблицы, модифицирующей конфигурацию правила одиночной таблицы
  4. JDBC: Исправление утечки памяти JDBC с MySQL в версии 5.4.0

Изменения

  1. МЕЛЬНИКА### Изменения API
  2. Метаданные: Изменение шардинговых broadcast таблиц на глобальные broadcast таблицы
  3. JDBC: Удаление восклицательного знака (!) для глобальных правил
  4. Распределённый SQL: Упрощение ключевых слов ASSISTED_QUERY, LIKE_QUERY в распределённом SQL шифровании
  5. Распределённый SQL: Оптимизация синтаксиса правила SQL_PARSER
  6. Зашифрование: Корректировка API YAML зашифрования для различения между конфигурациями зашифрования, LIKE и assisted_query
  7. Зашифрование: Удаление конфигураций plain_column и query_with_cipher_column в функции зашифрования
  8. Чтение/запись разделение: Переработка API чтения/записи разделения
  9. Прокси: Удаление конфигурации свойства proxy_instance_type
  10. Прокси: Удаление конфигурации свойства proxy_backend_executor_suitable
  11. Прокси: Удаление конфигурации свойства proxy_mysql_default_version
  12. Эскалация: Переработка коммита/отката потока в DROP_STREAMING
  13. Шардинг: Объединение правил ShardingCacheRule и ShardingRule (Экспериментальный)

Новые возможности

  1. Распределённый SQL: Новый синтаксис для управления правилом SQL_FEDERATION
  2. Прокси: Поддержка Unix Domain Socket

Улучшения

  1. Шкалирование: CDC поддерживает чистый режим увеличения
  2. Шкалирование: CDC поддерживает экспорт данных по транзакциям
  3. Шкалирование: CDC поддерживает MySQL и PostgreSQL
  4. Шкалирование: CDC поддерживает одиночную таблицу
  5. Шкалирование: CDC поддерживает все типы данных openGauss
  6. Шкалирование: CDC поддерживает восстановление репликации
  7. Шкалирование: Удаление DataConsistencyCalculateAlgorithmChooser
  8. Шкалирование: Улучшение производительности разделения данных уникального ключа целого типа
  9. Шкалирование: Адаптация значения по умолчанию конфигурации процесса для снижения потребления ресурсов
  10. Шкалирование: Автоматическое обновление метаданных таблицы при миграции
  11. Шкалирование: Совместимость с повторным использованием существующего слота репликации openGauss при отсутствии базы данных
  12. Шкалирование: Отображение статуса проверки согласованности данных должно быть пустым при незавершенной проверке
  13. Шкалирование: Включение параллельного сравнения CRC32 источника и цели
  14. Шкалирование: Поддержка стратегии аудита правил шардинга в задачах конвейера
  15. Метаданные: Переработка структуры хранения метаданных
  16. Метаданные: Оптимизация процесса загрузки метаданных одной таблицы
  17. Метаданные: Поддержка пустых запросов системных таблиц MySQL/PostgreSQL/openGauss
  18. Распределенные SQL: Добавление поддержки стратегии чтения для правила разделения на чтение и запись
  19. Распределенные SQL: Улучшение проверки свойств алгоритма
  20. Транзакции: Добавление проверки привилегий
  21. Транзакции: Удаление TransactionTypeHolder и создание текущего менеджера транзакций
  22. Парсер: Поддержка операторов LOAD DATA и LOAD XML для одной или широкой таблицы
  23. Парсер: Улучшение поддержки анализа высокоприоритетных SQL-запросов в тестовых результатах программы MySQL
  24. Парсер: Парсер диалекта Oracle теперь поддерживает запятую китайского языка
  25. Криптография: Поддержка запроса зашифрованного столбца в подзапросе проекции при использовании функции шифрования
  26. Ядро: Добавление проверки метаданных существования таблицы для операций INSERT, DELETE, UPDATE и SELECT
  27. JDBC: Реализация выполнения пакета для ShardingSphereStatement
  28. Прокси: Поддержка SSL/TLS на стороне клиента
  29. Прокси: Поддержка сообщения FLUSH для PostgreSQL/openGauss Proxy
  30. Прокси: Поддержка типа данных BIT, BOOL для PostgreSQL Proxy

Исправления ошибок

  1. Шкалирование: Исправление сохранения состояния завершения задачи конвейера
  2. Шкалирование: Исправление события CDC DELETE, когда Record.beforeList равно null
  3. Шкалирование: Исправление проблемы одиночного апострофа в плагине декодирования openGauss mppdb
  4. Шкалирование: Исправление проблем закрытия движка выполнения после остановки задачи
  5. Шкалирование: Исправление проблемы остановки задачи до начала выполнения задачи
  6. Метаданные: Исправление чувствительности к регистру при загрузке метаданных схемы с помощью базы данных H2
  7. Метаданные: Исправление исключения "объект не найден", когда имя схемы PostgreSQL/openGauss указано как имя базы данных
  8. Распределенные SQL: Исправление неверного результата проверки check_table_metadata_enabled при выполнении команды SHOW DIST VARIABLE
  9. Криптография: Исправление исключения переопределения SQL при использовании функции шифрования LIKE для PostgreSQL/openGauss
  10. Шардинг: Поддержка передачи null значений условия шардинга для управления маршрутизацией null значений пользователями
  11. Парсер: Поддержка парсинга выражения BETWEEN AND в проекции MySQL
  12. Маскирование: Исправление неверного результата маскирования при одинаковых значениях from-x и to-y с KEEP_FROM_X_TO_Y
  13. Инфраструктура: Исправление возможной ошибки ClassNotFoundException при отсутствии pgjdbc
  14. Прокси: Исправление проблемы некорректного порядка пакетов MySQL при отправке клиентом последовательных запросов

Журнал изменений

  1. МЕЖДУЗАПИСЬ

5.3.2

Изменения API

  1. Прокси: Добавлен параметр system-log-level, поддерживающий динамическую смену уровня логирования через распределенные SQL.
  2. Распределенные SQL: Удалены связанные с подсказками DistSQL, пользователи могут использовать SQL Hint вместо этого.

Новые возможности

  1. Шкалирование: Поддержка любого типа уникального ключа таблицы

Улучшения1. Шкалирование: Использование потокового запроса для выгрузки инвентаризации и проверки согласованности данных

  1. Шкалирование: Совместимость с типом данных VARBINARY в анализе бинлога MySQL
  2. Шкалирование: Переработка метода execute класса AbstractSimplePipelineJob на блокирующий
  3. Шкалирование: Улучшение расчета количества записей в таблице
  4. Шкалирование: Поддержка отсутствия правила шардинга в задаче миграции
  5. Шкалирование: Добавление параметра useServerPrepStmts=false для задачи конвейера на MySQL
  6. Шкалирование: Улучшение анализа времени и даты в бинлоге MySQL
  7. Шкалирование: Добавление глобального статуса подготовительной стадии
  8. Шкалирование: Добавление параметра netTimeoutForStreamingResults для задачи конвейера на MySQL
  9. Авторизация: Поддержка указания метода аутентификации пароля
  10. Авторизация: Добавление поддержки аутентификации MD5 для протокола openGauss
  11. Агент: Добавление дополнительных метрик для JDBC
  12. Ядро: Конфигурация драйвера ShardingSphere поддерживает Apollo
  13. Ядро: Корректировка подсказки SKIP_ENCRYPT_REWRITE SQL на SKIP_SQL_REWRITE для поддержки большего количества сценариев
  14. Ядро: Поддержка команды EXPLAIN PERFORMANCE для openGauss
  15. Криптография: Поддержка использования функции CONCAT в LIKE

Исправления ошибок

  1. Шкалирование: Исправление декодирования символов Unicode и специальных символов для постепенной задачи PostgreSQL
  2. Шкалирование: Исправление недостаточной поддержки типа данных JSON в задаче миграции PostgreSQL
  3. Распределенные SQL: Поддержка стратегии NONE в CREATE SHARDING TABLE RULE
  4. Ядро: Исправление ошибки использования системной базы данных при отсутствии источников данных
  5. Ядро: Исправление проблемы применения параметра worker-id в режиме standalone
  6. Ядро: Чистка информации узла хранения при удалении правил разделения на чтение и запись и открытии базы данных
  7. Ядро: Исправление проблемы выходящего за границы индекса столбца при выполнении сложного запроса к одной таблице
  8. Ядро: Исправление ошибки LIKE в нижнем регистре для PostgreSQL
  9. Ядро: Исправление исключения сбора метабазы при несоответствии типов баз данных
  10. Ядро: Исправление проблемы отчета об ошибках маршрутизации при некоторых именах таблиц
  11. Ядро: Исправление ошибки парсинга создания процедуры MySQL
  12. Ядро: Исправление ошибки NullPointerException при извлечении имени таблицы из объединенного запроса
  13. Ядро: Исправление ошибки перезаписи ограничения столбца в верхнем регистре
  14. Ядро: Исправление ошибки парсинга SQL с типом данных MONEY для PostgreSQL/openGauss
  15. Ядро: Исправление ошибки парсинга константы с преобразованием типа для PostgreSQL/openGauss
  16. Ядро: Исправление исключения кодировки китайских символов при выполнении выборки с движком федерации SQL
  17. Ядро: Исправление ошибки IndexOutOfBoundsException при выполнении установки переменной в адаптере JDBC
  18. Ядро: Исправление ошибки отсутствия индекса при выполнении команды DROP INDEX
  19. Прокси: Исправление обработки знака числа в двоичном протоколе MySQL
  20. Прокси: Исправление ошибки обработки типа данных BYTEA в PostgreSQL Proxy
  21. Прокси: Исправление ошибки парсинга значения времени с микросекундами в PostgreSQL Proxy
  22. Прокси: Исправление кодирования типа DATE в двоичном формате в протоколе PostgreSQL
  23. Прокси: Исправление возможной ошибки CCE PostgreSQLInt2BinaryProtocolValue
  24. Прокси: Исправление ошибки при передаче кавыченного набора символов кодировки от клиента к PostgreSQL/openGauss Proxy

Журнал изменений

  1. МЕЖДУЗАПИСЬ

5.3.1

Новые возможности

  1. Ядро: Добавление новых функций маскирования данных и динамического маскирования данных, а также встроенных алгоритмов маскирования
  2. Шкалирование: Базовая поддержка функции CDC
  3. Распределенные SQL: Добавление DistSQL для правил маскирования

Улучшения

  1. Ядро: Режим кластера избегает вторичного обновления метаданных
  2. Ядро: SHOW COMPUTE NODES поддерживает отображение номера версии каждого экземпляра
  3. Ядро: Системная база данных добавляет таблицу информации о кластере
  4. Ядро: Режим standalone поддерживает постоянство метаданных для MySQL
  5. Ядро: Улучшение производительности подсказок SQL
  6. Ядро: Восстановление маршрутизации в указанную базу данных с помощью подсказок
  7. Криптография: Поддержка подчеркивания в шаблоне для алгоритма шифрования Encrypt CharDigestLikeEncryptAlgorithm
  8. Ядро: Поддержка SQL федерации SELECT NULLS LAST/FIRST
  9. Ядро: Переработка логики интеграционного тестирования шифрования и добавление дополнительных тестовых случаев
  10. Ядро: Добавление параметров соль для алгоритмов MD5MaskAlgorithm и MD5EncryptAlgorithm
  11. Ядро: Переработка ShardingConditionEngine для поддержки конфигурации SPI
  12. Распределенные SQL: Добавление проверки типа алгоритма для CREATE SHARDING TABLE RULE

Исправления ошибок### Имprovement

  1. Шкалирование: Увеличение частоты обновления прогресса задач шкалирования
  2. Шкалирование: Обеспечение возможности возобновления прерванной проверки согласованности DATA_MATCH
  3. Шкалирование: Поддержка удаления задачи проверки согласованности через DistSQL
  4. Шкалирование: Переименование столбца из sharding_total_count в job_item_count в ответах DistSQL списка задач
  5. Шкалирование: Добавление распределенного столбца в SQL задачи по частям для избежания маршрутизации широковещательной рассылки
  6. Шкалирование: Распределенный столбец может быть обновлен при генерации SQL
  7. Шкалирование: Улучшение читателя значений столбцов для проверки согласованности DATA_MATCH
  8. DistSQL: Криптография оптимизация синтаксиса DistSQL, поддержка алгоритма поиска LIKE
  9. DistSQL: Добавление проверки значений свойств при REGISTER STORAGE UNIT
  10. DistSQL: Одновременное удаление бесполезных алгоритмов при DROP RULE
  11. DistSQL: EXPORT DATABASE CONFIGURATION поддерживает широковещательные таблицы
  12. DistSQL: REGISTER STORAGE UNIT поддерживает гетерогенные источники данных
  13. Криптография: Поддержка функции LIKE для шифрования
  14. Автоматическое начало распределённых транзакций при выполнении операторов DML между несколькими фрагментами
  15. Ядро: Поддержка команды \d для PostgreSQL и openGauss
  16. Ядро: Поддержка SELECT GROUP BY, ORDER BY при наличии NULL значений в колонках
  17. Ядро: Поддержка парсинга RETURNING клауз PostgreSQL/openGauss INSERT
  18. Ядро: Улучшение производительности SQL HINT
  19. Ядро: Поддержка парсинга CASE WHEN THEN для MySQL
  20. Ядро: Поддержка гетерогенной базы данных на уровне источника данных
  21. (Экспериментальная) Шардинг: Добавление плагина кэширования шардинга
  22. Прокси: Поддержка большего количества форматов времени PostgreSQL
  23. Прокси: Поддержка MySQL COM_RESET_CONNECTION
  24. Шкалирование: Улучшение метода MySQLBinlogEventType.valueOf для поддержки неизвестного типа события
  25. Ядро: Поддержка CASE WHEN для федерации1. SQL федеральный движок добавил продвинутый выполнитель и адаптировался к базе данных openGauss
  26. Поддерживается запуск ShardingSphere Proxy после отключения чтения с разделённой записью на базе данных
  27. Поддержка SQL подсказок для принудительного маршрутизации шардинга
  28. Добавлена возможность отображения списка процессов для отображения соединений агента (сонм, активность)
  29. Улучшено сообщение об ошибке конфигурации источника данных ShardingSphere-JDBC
  30. ShardingSphere-JDBC поддерживает версию SpringBoot 3.x
  31. Поддерживается загрузка метаданных представлений MySQL, PostgreSQL, openGauss и SQLServer
  32. Обновлен Snakeyaml до версии 1.33 и увеличен лимит YAML до 3МБ
  33. При одиночном распределении шардинга стараются использовать кэшированные соединения
  34. Поддерживается парсинг команды ALTER ROLE в Oracle
  35. Добавлена поддержка команды ALTER RESOURCE COST в Oracle
  36. Поддерживается парсинг команды DROP материализованного представления в Oracle
  37. Поддерживается парсинг команды DROP библиотеки в Oracle
  38. Поддерживается парсинг команды DROP JAVA в Oracle
  39. Поддерживается парсинг команды DROP плuggable базы данных в Oracle
  40. Поддерживается парсинг команды DROP типа индекса в Oracle
  41. Поддерживается парсинг команды ALTER PACKAGE в openGauss
  42. Поддерживается парсинг OFFSET и COUNT запросов в openGauss и удаление избыточного синтаксиса PostgreSQL
  43. Добавлено максимальное значение размера max_size в синтаксис openGauss
  44. Улучшено парсинг ALTER VIEW/DROP VIEW и исправление ошибки при перезагрузке ALTER VIEW
  45. Добавлено подробное описание ошибки в ParseCancellationException
  46. Добавлена поддержка парсинга ON CONFLICT в PostgreSQL
  47. Улучшена поддержка команд ALTER TABLE и ALTER VIEW в PostgreSQL
  48. Добавлен пропущенный ключевой синтаксис в DECLARE запросе PostgreSQL
  49. Добавлена поддержка парсинга JSON функций в MySQL
  50. ShardingSphere-Proxy автоматически адаптируется к ограничениям памяти cgroups в Docker
  51. Добавлена колонка error_message в ответе состояния миграции
  52. Добавлена колонка processed_records_count в ответе состояния миграции
  53. Поддерживается кэширование SHA2 паролей при экспортном режиме MySQL 8
  54. Улучшено удаление конфигураций процесса
  55. Поддерживается уникальное ключевое переносимое представление таблицы
  56. Поддерживается перенос таблицы в новую таблицу
  57. Улучшено использование пула потоков в задачах и операторах
  58. Поддерживается отменяемая проверка согласованности данных
  59. DistSQL: при создании или изменении правил чтения/записи проверяет повторяющиеся ресурсы записи или чтения
  60. DistSQL: добавлена проверка корректности команды ALTER SHARDING BINDING TABLE RULES
  61. В режиме работы на одном сервере H2 поддерживает постоянное хранение метаданных
  62. Исправлена проблема с курсором при работе с XA транзакциями в openGauss
  63. Добавлены исключения, связанные с транзакциями

Исправления ошибок

  1. Генерация подходящих заполнителей при переписывании PostgreSQL
  2. Исправлена ошибка при анализе обновления настроек в openGauss
  3. Исправлена ошибка при анализе вставки с отрицательными значениями
  4. Исправлен неправильный connectDescriptorUrlPattern в OracleDataSourceMetaData
  5. Исправлена путаница в SQL вставке после переписывания шардинга при специальных правилах
  6. Исправлена ошибка при выполнении select * from information_schema.tables
  7. Исправлена ошибка при выполнении alter view rename
  8. Исправлена ошибка при проверке прав доступа источников данных PostgreSQL при использовании rolsuper
  9. DistSQL: исправлена ошибка NullPointerException при REFRESH TABLE METADATA без ресурсов
  10. Исправлено необновленное метаданные таблиц при изменении правил
  11. Исправлена ошибка обнаружения базы данных
  12. Алгоритм MySQL.NORMAL_REPLICATION не может найти главный узел
  13. Исправлена ошибка при сборке кластера с помощью etcd
  14. Исправлена ошибка NullPointerException при отсутствии управления транзакциями
  15. Исправлена ошибка маршрутизации при значении шардинга за пределами диапазона целого числа

Изменения API

  1. Формат SQL подсказок скорректирован в соответствии с SQL стилем
  2. DistSQL: удален синтаксис COUNT DATABASE RULES
  3. Распределенная модель убрана конфликтующая конфигурация
  4. Агент: оптимизация конфигурации файла agent.yaml

Журнал изменений1. Милицейный камень

  1. Поддержка отображения столбцов для MySQL, Oracle, SQL Server и H2

  2. Поддержка конфигурации прямого произведения для чтения и разделения записей

  3. Поддержка пространства Spring и использования Spring Boot для SQL-переводчика

  4. Поддержка года и месяца в алгоритме IntervalShardingAlgorithm согласно JSR-310

  5. Поддержка ограничения на обновление/удаление таблицы с широковещательной передачей

  6. Поддержка переопределения создания индекса на таблицу (столбец) при конфигурировании шифрования

  7. Поддержка операторов курсора openGauss (cursor, fetch, move, close) для шардинга и разделения записей

  8. Поддержка переопределения зашифрованного столбца при выполнении запроса, если значение столбца равно NULL

  9. Поддержка вывода логических столбцов при использовании команды "show create table" для зашифрованных таблиц

  10. Поддержка переопределения создания таблицы с индексом при конфигурировании шифрования

  11. Поддержка парсинга команды PostgreSQL "create operator"

  12. Поддержка парсинга команды PostgreSQL "create materialized view"

  13. Поддержка парсинга вложенных комментариев в PostgreSQL

  14. Поддержка парсинга команды PostgreSQL "alter subscription"

  15. Поддержка парсинга команды PostgreSQL "create group"

  16. Поддержка парсинга команды PostgreSQL "alter statistics"

  17. Поддержка парсинга команды PostgreSQL "create foreign table"

  18. Поддержка парсинга команды PostgreSQL "alter server"

  19. Поддержка парсинга команды PostgreSQL "create foreign data wrapper"

  20. Поддержка парсинга команды PostgreSQL "create event trigger"

  21. Поддержка парсинга команды PostgreSQL "security label"

  22. Поддержка парсинга команды PostgreSQL "reindex"

  23. Поддержка парсинга команд PostgreSQL "reassign owned" и "refresh materialized view"

  24. Поддержка парсинга команды PostgreSQL "prepare transaction"

  25. Поддержка парсинга команды PostgreSQL "create collation"

  26. Поддержка парсинга команды PostgreSQL "lock"

  27. Поддержка парсинга команды PostgreSQL "alter rule"

  28. Поддержка парсинга команды PostgreSQL "notify"

  29. Поддержка парсинга команды PostgreSQL "unlisten"

  30. Поддержка парсинга команд Oracle "alter function" и "alter hierarchy"

  31. Поддержка парсинга команды Oracle "alter pluggable database"

  32. Поддержка парсинга команды Oracle "alter materialized view log"

  33. Поддержка парсинга команды Oracle "alter diskgroup"

  34. Поддержка парсинга команды Oracle "alter operator"

  35. Поддержка парсинга команды Oracle "alter cluster"

  36. Поддержка парсинга команды Oracle "alter audit policy"

  37. Поддержка парсинга команды Oracle "alter index type"

  38. Поддержка парсинга команды Oracle "lock table"

  39. Поддержка парсинга команды Oracle "alter java"

  40. Поддержка парсинга команды Oracle "inline constraint"

  41. Поддержка парсинга команды openGauss "geometric operator"

  42. Оптимизация парсинга видимости/невидимости столбцов в создании/изменении таблиц в MySQL

  43. Поддержка области переменных, начинающихся с @@ в команде MySQL SET

  44. Поддержка создания процедуры с созданием представления в MySQL

  45. Поддержка парсинга сегментов столбцов в команде создания индекса на таблицу

  46. Поддержка операторов курсора openGauss (cursor, fetch, move, close) для шардинга и разделения записей

  47. Поддержка переопределения зашифрованного столбца при выполнении запроса, если значение столбца равно NULL

  48. Поддержка вывода логических столбцов при использовании команды "show create table" для зашифрованных таблиц

  49. Поддержка переопределения создания таблицы с индексом при конфигурировании шифрования

  50. Поддержка парсинга команды Oracle "ALTER LOCKDOWN PROFILE"

  51. Поддержка парсинга команды Oracle "ALTER MATERIALIZED VIEW"

  52. Поддержка парсинга команды Oracle "ALTER MATERIALIZED ZONEMAP"

  53. Поддержка парсинга команды Oracle "ALTER LIBRARY"

  54. Поддержка парсинга команды Oracle "ALTER INMEMORY JOIN GROUP"

  55. Поддержка парсинга команды Oracle "DROP OPERATOR"

  56. Поддержка парсинга команды Oracle "DROP RESTORE POINT"

  57. Поддержка парсинга команды Oracle "CREATE RESTORE POINT"

  58. Поддержка парсинга команды Oracle "DROP INMEMORY JOIN GROUP"

  59. Поддержка парсинга команды MySQL "create_bit_xor_table"

  60. Поддержка парсинга команды MySQL "DO statement"

  61. Поддержка парсинга команды openGauss "DropServer"

  62. Поддержка парсинга команды openGauss "CREATE AGGREGATE"

  63. Поддержка парсинга команды PostgreSQL "ALTER ROUTINE"

  64. Добавлена поддержка команды PostgreSQL "Create Cast Statement"

  65. Добавлена поддержка команды PostgreSQL "Create Aggregate Statement"

  66. Поддержка команд fetch/move/close для курсора в PostgreSQL

  67. Поддержка парсинга команды PostgreSQL "ALTER PUBLICATION"

  68. Добавлена поддержка команды PostgreSQL "Create Access Method Statement"

  69. Поддержка парсинга команды PostgreSQL "ALTER POLICY"

  70. Поддержка парсинга команды PostgreSQL "ALTER OPERATOR"

  71. Добавлена поддержка команды PostgreSQL "Copy Statement"

  72. Добавлена поддержка команды PostgreSQL "Comment Statement"

  73. Поддержка команды listen в PostgreSQL

  74. Поддержка объявления курсора

  75. Добавлено значение по умолчанию для серверной конфигурации в Helm чартах

  76. Интеграция драйвера JDBC openGauss в распределение Proxy

  77. ShardingSphere-Proxy прослушивает указанные IP-адреса

  78. Поддержка команды COM_STMT_SEND_LONG_DATA в MySQL Proxy

  79. Поддержка псевдонима в SELECT VERSION() в MySQL Proxy

  80. Устранено недоступность соединения openGauss Proxy при отсутствии ресурсов

  81. Поддержка использования JRE, указанного в JAVA_HOME, в скрипте запуска ShardingSphere-Proxy

  82. Предотвращение блокировки клиента при возникновении ошибки OutOfMemoryError в ShardingSphere-Proxy

  83. Поддержка использования c3p0 в ShardingSphere-JDBC

  84. Поддержка установки кодировки с использованием двойных кавычек

  85. Поддержка метода prepareStatement с аргументами колонок в ShardingSphere-JDBC

  86. Масштабируемость: Улучшение подключения и повторного подключения к MySQL

  87. Масштабируемость: Устранение утечки памяти при работе с JSON-колонками в MySQL

  88. Масштабируемость: Добавление проверки прав доступа для источников данных PostgreSQL

  89. Масштабируемость: Поддержка частичной миграции для режима MGR MySQL

  90. Масштабируемость: Улучшение сохранения прогресса задач

  91. Масштабируемость: Начальная и завершающая синхронизация задач DistSQL

  92. Масштабируемость: Поддержка миграции таблиц с первичным ключом и уникальным индексом

  93. Масштабируемость: Закрытие фоновых ElasticJob при остановке задач

  94. Масштабируемость: Улучшение генерации названий логических слотов для PostgreSQL и openGauss

  95. Масштабируемость: Возможность выполнения DistSQL-запросов без выбора базы данных

  96. DistSQL: Добавление worker_id в результат SHOW INSTANCE LIST и SHOW INSTANCE INFO

  97. DistSQL: Улучшение результата EXPORT DATABASE CONFIG

  98. DistSQL: Поддержка большего количества параметров

  99. DistSQL: Разделение команды SHOW INSTANCE MODE на SHOW MODE INFO и SHOW INSTANCE INFO

  100. DistSQL: Изменение команды DROP SCALING jobId на CLEAN MIGRATION jobId

  101. DistSQL: Удаление команды COUNT INSTANCE RULES

  102. Добавление базы данных, поддерживающей высокую доступность всех библиотек рабочих серверов, а также конфигурацию основной библиотеки для обслуживания чтения

  103. SnowflakeKeyGenerateAlgorithm поддерживает настройку worker-id в одиночном режиме

  104. Замена sourceDataSourceName на productionDataSourceName в конфигурации Shadow API

  105. Авторизация: Удаление устаревшего провайдера авторизации native### Переработка

  106. Переработка метаданных ShardingSphere для разделения фактических метаданных и логических метаданных.

  107. Использование ConnectionContext, QueryContext для удаления ThreadLocal в FetchOrderByValueQueuesHolder, TrafficContextHolder, SQLStatementDatabaseHolder и TransactionHolder.

  108. Изменение значения по умолчанию версии ShardingSphere-Proxy в Helm чартах.

  109. Контейнер Docker завершает работу, если ShardingSphere-Proxy не может запуститься.

  110. Helm чарты в репозитории ShardingSphere перемещены в субпроект shardingsphere-on-cloud.

  111. Шкалирование: Множество переработок для лучшей переиспользования кода.

  112. DistSQL: Добавление новой категории RUL.

  113. Переработка модуля расписания и его разделение на расписание кластера и расписание одиночного режима.

  114. Удаление режима памяти, оставив одиночный режим и режим кластера.

  115. Переработка логики загрузки метаданных таблиц и логики сохранения.

  116. Переработка распределённых блокировок для сохранения наиболее компактного дизайна интерфейсов.

  117. Переработка создания контейнеров Proxy в IT из модулей ENV.

  118. Переработка конфигурации контейнеров, созданных с помощью Testcontainers.

Изменения

  1. МЕДИАЦИЯ

5.1.2

Новые возможности

  1. Ядро: Альфа версия для поддержки перевода SQL диалекта для MySQL и PostgreSQL.
  2. Ядро: Поддержка пользовательских схем для PostgreSQL и openGauss.
  3. Ядро: Поддержка операторов CREATE/ALTER/DROP VIEW для PostgreSQL и openGauss.
  4. Ядро: Поддержка курсора openGauss.
  5. Ядро: Поддержка использования пользовательской системы базы данных.
  6. Ядро: Поддержка получения SQL создания openGauss и MySQL.
  7. Ядро: Поддержка получения SQL создания PostgreSQL.
  8. Прокси: Официальная поддержка быстрого развёртывания кластера ShardingSphere-Proxy с использованием кластера ZooKeeper в Kubernetes через Helm.
  9. JDBC: Поддержка драйвера JDBC ShardingSphere.
  10. Шкалирование: Поддержка автоматического создания таблиц PostgreSQL.
  11. Шкалирование: Поддержка шкалирования для таблиц с пользовательскими схемами в PostgreSQL и openGauss.
  12. Шкалирование: Поддержка шкалирования для таблиц с первичным ключом типа текст и отсутствием целочисленного первичного ключа.
  13. Режим: Центр регистрации поддерживает трёхуровневую структуру PG/openGauss.
  14. Режим: Центр регистрации поддерживает распределённые блокировки уровня базы данных.

Улучшения1. Ядро: Поддержка оператора COPY для PostgreSQL и openGauss

  1. Ядро: Поддержка операторов ALTER/DROP INDEX для PostgreSQL
  2. Ядро: Поддержка оператора UPDATE FORCE INDEX для MySQL
  3. Ядро: Поддержка операторов CREATE/ALTER/DROP SCHEMA для openGauss
  4. Ядро: Оптимизация алгоритмов RoundRobinReplicaLoadBalanceAlgorithm и RoundRobinTrafficLoadBalanceAlgorithm
  5. Ядро: Оптимизация логики загрузки метаданных при различии frontendDatabaseType и backendDatabaseType
  6. Ядро: Переработка логики загрузки метаданных
  7. Ядро: Оптимизация оператора SHOW PROCESSLIST
  8. Ядро: Улучшение производительности при загрузке больших таблиц
  9. Ядро: Поддержка выполнения оператора COMMENT
  10. Ядро: Поддержка представлений в правиле шардинга
  11. Ядро: Поддержка парсинга CREATE ROLLBACK SEGMENT в Oracle
  12. Ядро: Поддержка парсинга DROP TYPE в openGauss
  13. Ядро: Поддержка парсинга ALTER TYPE в openGauss
  14. Ядро: Поддержка парсинга DROP DISKGROUP в Oracle
  15. Ядро: Поддержка парсинга CREATE DISKGROUP в Oracle
  16. Ядро: Поддержка парсинга DROP FLASHBACK ARCHIVE в Oracle
  17. Ядро: Поддержка парсинга CHECKPOINT в openGauss
  18. Ядро: Поддержка парсинга CREATE FLASHBACK ARCHIVE в Oracle
  19. Ядро: Добавление оператора CLOSE для PostgreSQL
  20. Ядро: Поддержка парсинга DROP CAST в openGauss
  21. Ядро: Поддержка парсинга CREATE CAST в openGauss
  22. Ядро: Поддержка парсинга CREATE CONTROL FILE в Oracle
  23. Ядро: Поддержка парсинга DROP DIRECTORY в openGauss
  24. Ядро: Поддержка парсинга ALTER DIRECTORY в openGauss
  25. Ядро: Поддержка парсинга CREATE DIRECTORY в openGauss
  26. Ядро: Добавление оператора CHECKPOINT для PostgreSQL
  27. Ядро: Поддержка парсинга DROP SYNONYM в openGauss
  28. Ядро: Поддержка парсинга CREATE SYNONYM в openGauss
  29. Ядро: Поддержка парсинга ALTER SYNONYM в openGauss
  30. Ядро: Добавление оператора CALL для PostgreSQL
  31. Ядро: Поддержка парсинга CREATE PFILE в Oracle
  32. Ядро: Поддержка парсинга CREATE SPFILE в Oracle
  33. Ядро: Поддержка парсинга ALTER SEQUENCE в Oracle
  34. Ядро: Поддержка парсинга CREATE CONTEXT в Oracle
  35. Ядро: Поддержка парсинга ALTER PACKAGE в Oracle
  36. Ядро: Поддержка парсинга CREATE SEQUENCE в Oracle
  37. Ядро: Поддержка парсинга ALTER ATTRIBUTE DIMENSION в Oracle
  38. Ядро: Поддержка парсинга ALTER ANALYTIC VIEW в Oracle
  39. Ядро: Использование ShardingSphere SPI в SQLVisitorFacade
  40. Ядро: Использование ShardingSphere SPI в DatabaseTypedSQLParserFacade
  41. Ядро: Поддержка парсинга ALTER OUTLINE в Oracle
  42. Ядро: Поддержка парсинга DROP OUTLINE в Oracle
  43. Ядро: Поддержка парсинга DROP EDITION в Oracle
  44. Ядро: Поддержка WITH Common Table Expression SQL Server
  45. Ядро: Исключение скобок из SubquerySegment в withClause
  46. Ядро: Переработка JoinTableSegment
  47. Ядро: Поддержка парсинга DROP SYNONYM в Oracle
  48. Ядро: Поддержка парсинга CREATE DIRECTORY в Oracle
  49. Ядро: Поддержка парсинга CREATE SYNONYM в Oracle
  50. Ядро: Поддержка XMLNamespaces Clause SQL Server SELECT Statement
  51. Ядро: Поддержка парсинга Alter Database Dictionary в Oracle
  52. Ядро: Поддержка FOR Clause SQL Server SELECT Statement
  53. Ядро: Поддержка парсинга ALTER DATABASE LINK в Oracle
  54. Ядро: Поддержка парсинга CREATE EDITION в Oracle
  55. Ядро: Поддержка парсинга ALTER TRIGGER в Oracle
  56. Ядро: Добавление оператора REVERT для SQL Server
  57. Ядро: Поддержка парсинга DROP TEXT SEARCH в PostgreSQL
  58. Ядро: Добавление оператора DROP SERVER для PostgreSQL
  59. Ядро: Поддержка парсинга ALTER VIEW в Oracle
  60. Ядро: Добавление оператора DROP ACCESS METHOD для PostgreSQL
  61. Ядро: Поддержка парсинга DROP ROUTINE в PostgreSQL
  62. Ядро: Корректировка SQL Server DROP USER Statement
  63. Ядро: Поддержка парсинга DROP TRIGGER в Oracle
  64. Ядро: Поддержка парсинга DROP SUBSCRIPTION в PostgreSQL
  65. Ядро: Добавление оператора DROP OPERATOR CLASS для PostgreSQL
  66. Ядро: Поддержка парсинга DROP PUBLICATION в PostgreSQL
  67. Ядро: Поддержка парсинга DROP VIEW в Oracle
  68. Ядро: Поддержка парсинга DROP TRIGGER в PostgreSQL
  69. Ядро: Поддержка парсинга DROP DIRECTORY в Oracle
  70. Ядро: Поддержка парсинга DROP STATISTICS в PostgreSQL
  71. Ядро: Добавление парсера DROP TYPE для PostgreSQL
  72. Ядро: Поддержка парсинга DROP RULE в PostgreSQL
  73. Ядро: Корректировка SQL Server ALTER LOGIN Statement
  74. Ядро: Поддержка парсинга DROP FOREIGN DATA WRAPPER в PostgreSQL
  75. Ядро: Мелкие изменения в DROP EVENT TRIGGER Statement PostgreSQL
  76. Прокси: ShardingSphere-Proxy MySQL поддерживает получение MySQL пакетов размером более 16 МБ
  77. Прокси: Поддержка настройки параметра ChannelOption.SO_BACKLOG в ShardingSphere-Proxy
  78. Прокси: Оптимизация so-reuseaddr в Netty для решения проблемы занятости порта
  79. Прокси: Docker образ ShardingSphere-Proxy поддерживает платформу aarch64
  80. Прокси: Настройка версии сервера в ShardingSphere-Proxy MySQL
  81. Прокси: Поддержка большего количества данных в ShardingSphere-Proxy1. Ядро: Устранение ошибки парсинга при отображении команды show для PostgreSQL и openGauss
  82. Ядро: Устранение ошибки парсинга при использовании функции извлечения времени для PostgreSQL и openGauss
  83. Ядро: Устранение ошибки парсинга при использовании функции select mod для PostgreSQL и openGauss
  84. Ядро: Устранение ошибки PSQLException при выполнении оператора объединения с несколькими схемами в режиме чтения и записи
  85. Ядро: Устранение неправильного маршрута при выполнении команды создания схемы в зашифрованном сценарии
  86. Ядро: Устранение ошибки NullPointerException при выполнении команды удаления схемы, если она существует
  87. Ядро: Устранение неправильного маршрута при выполнении команды SELECT LAST_INSERT_ID() AS id;
  88. Ядро: Устранение ошибки NullPointerException при выполнении команды использования базы данных, когда база данных не содержит источник данных
  89. Ядро: Устранение ошибки при создании функции с установкой переменной
  90. Прокси: Устранение ошибки NullPointerException вызванной несоответствием регистра столбцов в PostgreSQLComDescribeExecutor
  91. Прокси: Добавление командных тегов для схемы DDL в ShardingSphere-Proxy PostgreSQL / openGauss
  92. Шкалирование: Устранение ошибки при работе с типом UNSIGNED MySQL при наличии значения NULL во время задачи увеличения
  93. Шкалирование: Устранение утечки ресурсов вызванной ошибкой при создании DataSource в ShardingSphere-Scaling
  94. Шкалирование: Устранение игнорирования других правил при создании ShardingSphereDataSource
  95. Шкалирование: Устранение невозможности остановки задачи подготовки
  96. Шкалирование: Устранение проблемы совместимости свойства url и jdbcUrl
  97. Шкалирование: Устранение потери возможного инкрементального изменения данных при создании логического слота репликации openGauss
  98. Шкалирование: Обновление состояния локальной задачи перед сохранением состояния задачи в центр управления, чтобы гарантировать, что оно не будет перезаписано позднее
  99. Шкалирование: Обработка значений NULL в TestDecodingPlugin для PostgreSQL
  100. Распределённое SQL: Устранение проблем с изменением SET VARIABLE, которое не применяется в standalone и режиме памяти
  101. Распределённое SQL: Устранение несоответствия между данными, отображаемыми SHOW INSTANCE LIST, и фактическими данными
  102. Распределённое SQL: Устранение чувствительности к регистру в распределённом SQL шардинга
  103. Режим: Устранение потери данных метаданных после изменения таблицы шардинга в Scaling
  104. Распределённые транзакции: Устранение проблемы получения информации о ключах с каталогом

Изменения API

  1. Распределённое SQL: Изменение EXPORT SCHEMA CONFIG на EXPORT DATABASE CONFIG
  2. Распределённое SQL: Изменение IMPORT SCHEMA CONFIG на IMPORT DATABASE CONFIG
  3. Распределённое SQL: Изменение SHOW SCHEMA RESOURCES на SHOW DATABASE RESOURCES
  4. Распределённое SQL: Изменение COUNT SCHEMA RULES на COUNT DATABASE RULES
  5. Режим: Коррекция конфигурации алгоритма обнаружения базы данных
  6. Авторизация: Обновление провайдера авторизации ALL_PRIVILEGES_PERMITTED до ALL_PERMITTED
  7. Авторизация: Обновление провайдера авторизации SCHEMA_PRIVILEGES_PERMITTED до DATABASE_PERMITTED

Переработка

  1. Шкалирование: Переработка JobConfiguration для различных типов задач повторного использования и расширения
  2. Режим: Оптимизация структуры вычислительного узла в центре управления
  3. Режим: Использование UUID вместо ip@port как идентификатор экземпляра

Журнал изменений

  1. МЕЖДУЗАПИСЬ
  2. Поддержка подсказки SQL
  3. Новый синтаксис DistSQL: ПОКАЗАТЬ ПРАВИЛА АВТОРИЗАЦИИ
  4. Новый синтаксис DistSQL: ПОКАЗАТЬ ПРАВИЛА ТРАНЗАКЦИЙ
  5. Новый синтаксис DistSQL: ИЗМЕНИТЬ ПРАВИЛА ТРАНЗАКЦИЙ
  6. Новый синтаксис DistSQL: ПОКАЗАТЬ ПРАВИЛА SQL_PARSER
  7. Новый синтаксис DistSQL: ИЗМЕНИТЬ ПРАВИЛА SQL_PARSER
  8. Новый синтаксис DistSQL: ИЗМЕНИТЬ УСТАНОВЛЕННЫЙ ШАРДИНГ СТРАТЕГИЮ
  9. Новый синтаксис DistSQL: УДАЛИТЬ УСТАНОВЛЕННУЮ ШАРДИНГ СТРАТЕГИЮ
  10. Новый синтаксис DistSQL: СОЗДАТЬ УСТАНОВЛЕННУЮ ОДНОМЕРНУЮ ТАБЛИЧНУЮ СТРАТЕГИЮ
  11. Новый синтаксис DistSQL: ПОКАЗАТЬ ОДНОМЕРНЫЕ ТАБЛИЦЫ
  12. Новый синтаксис DistSQL: ПОКАЗАТЬ ПРАВИЛА ДЛЯ ОДНОМЕРНЫХ ТАБЛИЦ
  13. Новый синтаксис DistSQL: ПОКАЗАТЬ ШАРДИНГ ТАБЛИЧНЫЕ УЗЛЫ
  14. Новый синтаксис DistSQL: СОЗДАТЬ/ИЗМЕНИТЬ/УДАЛИТЬ ГЕНЕРАТОР ШАРДИНГ КЛЮЧА
  15. Новый синтаксис DistSQL: ПОКАЗАТЬ ГЕНЕРАТОРЫ ШАРДИНГ КЛЮЧА
  16. Новый синтаксис DistSQL: ОБНОВИТЬ МЕТАДАННЫЕ ТАБЛИЦЫ
  17. Новый синтаксис DistSQL: ПАРСИРОВАТЬ SQL, ВЫВЕСТИ АБСТРАКТНОЕ СИНТАКСИЧЕСКОЕ ДЕРЕВО
  18. Новый синтаксис DistSQL: ПОКАЗАТЬ НЕИСПОЛЬЗУЕМЫЕ ШАРДИНГ АЛГОРИТМЫ
  19. Новый синтаксис DistSQL: ПОКАЗАТЬ НЕИСПОЛЬЗУЕМЫЕ ГЕНЕРАТОРЫ ШАРДИНГ КЛЮЧА
  20. Новый синтаксис DistSQL: СОЗДАТЬ/УДАЛИТЬ ПРАВИЛО ШАРДИНГ РАЗМЕЩЕНИЯ
  21. Новый синтаксис DistSQL: ВКЛЮЧИТЬ/ВЫКЛЮЧИТЬ ПРАВИЛО ШАРДИНГ РАЗМЕЩЕНИЯ
  22. Новый синтаксис DistSQL: ПОКАЗАТЬ ПРАВИЛА ШАРДИНГ РАЗМЕЩЕНИЯ
  23. Новый синтаксис DistSQL: ПОКАЗАТЬ РЕЖИМ ИНСТАНСА
  24. Новый синтаксис DistSQL: ПОСЧИТАТЬ ПРАВИЛА СХЕМЫ
  25. Эластичность: Добавлен конфигурационный параметр rateLimiter и реализация QPS TPS
  26. Эластичность: Добавлена проверка согласованности данных DATA_MATCH
  27. Эластичность: Добавлен конфигурационный параметр batchSize для предотвращения возможной ошибки OOME
  28. Эластичность: Добавлен конфигурационный параметр streamChannel и его реализация MEMORY
  29. Эластичность: Поддержка типа данных BINARY в MySQL
  30. Эластичность: Поддержка типа данных YEAR в MySQL
  31. Эластичность: Поддержка типа данных BIT в PostgreSQL
  32. Эластичность: Поддержка типа данных MONEY в PostgreSQL
  33. Обнаружение базы данных добавляет поддержку JDBC Spring Boot
  34. Обнаружение базы данных добавляет поддержку JDBC Spring Namespace
  35. Обнаружение базы данных добавляет поддержку openGauss
  36. Тень базы данных добавляет поддержку логического переноса данных
  37. Добавлен валидатор типов данных для столбцов, соответствующих алгоритму тени
  38. Добавлена поддержка команд START/END/PREPARE/COMMIT/RECOVER для расширенного случая использования одного источника данных

Изменение API1. Обновлён синтаксис DistSQL для обнаружения баз данных

  1. В DistSQL ключевое слово GENERATED_KEY изменено на KEY_GENERATE_STRATEGY
  2. Локальный провайдер авторизации помечен как устаревший и будет удалён в будущей версии
  3. Эластичность: Конфигурации масштабируемости перемещены из файла server.yaml в config-sharding.yaml
  4. Эластичность: SPI clusterAutoSwitchAlgorithm переименован в completionDetector, переработаны параметры метода
  5. Эластичность: Метод API проверки согласованности данных переименован, изменён тип возврата
  6. Обновлён модуль API обнаружения баз данных
  7. Чтение/разделение поддерживают статическую и динамическую конфигурацию
  8. Конфигурация включения тени базы данных удалена
  9. Тип алгоритма тени изменён

Улучшение

  1. Улучшено выполнение запросов на несколько одиночных таблиц
  2. Автоматически добавляемый ORDER BY по первичному ключу удалён
  3. Оптимизирована логика маршрута объединённой таблицы без шардинг колонки в условии JOIN
  4. Поддерживается изменение шардинг ключа при сохранении результата маршрутизации
  5. Оптимизирована производительность движка переопределения
  6. Поддерживается выполнение UNION/UNION ALL... запросов через федерацию движка
  7. Поддерживается INSERT ON DUPLICATE KEY UPDATE шардинг колонки при сохранении контекста маршрутизации
  8. Используется UNION ALL для объединения единиц маршрутизации SQL для простых SELECT для повышения производительности
  9. Поддерживается автокоммит в ShardingSphere-Proxy
  10. Прокси ShardingSphere для openGauss поддерживает метод аутентификации SHA256
  11. Параметр java.net.preferIPv4Stack=true из скрипта запуска прокси удалён
  12. Проверка пустых правил для JDBC удалена
  13. Оптимизирована производительность выполнения пакетных вставок openGauss
  14. По умолчанию отключена проверка утечки ресурсов Netty
  15. Поддерживается описание подготовленного запроса в PostgreSQL / openGauss Proxy
  16. Оптимизирована производительность выполнения пакетных вставок PostgreSQL
  17. Добавлен instance_id в результате SHOW INSTANCE LIST
  18. Поддерживается использование instance_id для выполнения операций при включении/выключении экземпляра прокси
  19. Поддерживается автоматическая генерация алгоритма при CREATE SHARDING TABLE RULE, что снижает шаги создания правила
  20. Поддерживается указание существующего KeyGenerator при создании SHARDING TABLE RULE
  21. DROP DATABASE поддерживает опцию IF EXISTS
  22. DATANODES в SHARDING TABLE RULE поддерживают перечисление встроенных выражений
  23. CREATE/ALTER SHARDING TABLE RULE поддерживают сложные алгоритмы шардинга
  24. SHOW SHARDING TABLE NODES поддерживают незастроенную ситуацию (диапазон, время и т.д.)
  25. При наличии только одного источника чтения в правиле чтение/разделение, он не может быть выключен
  26. Эластичность: Добавлена базовая поддержка частичной проверки согласованности данных потоками
  27. Оптимизирована логика принятия решений алгоритма тени для повышения производительности

Переработка

  1. Обновлён механизм просмотра таблиц в федерационном движке
  2. Предотвращено повторное парсинг TCL SQL при выполнении подготовленного запроса в прокси
  3. Эластичность: Добавлены модули трубопровода для переработки масштабируемости
  4. Эластичность: Переработаны структуры нескольких конфигураций задач
  5. Эластичность: Предварительно рассчитаны задачи разделения и сохранены в конфигурации задач
  6. Эластичность: Добавлена базовая поддержка переиспользования кода pipeline-core для зашифрованных задач
  7. Эластичность: Добавлена базовая поддержка совместного выполнения задач масштабируемости и шифрования
  8. Эластичность: Добавлены конфигурации input и output, включающие workerThread и rateLimiter
  9. Эластичность: Перемещён blockQueueSize в streamChannel
  10. Эластичность: Изменён тип jobId с целого числа на текст
  11. Оптимизирована структура метаданных центральной регистрации
  12. Алгоритм тени NOTE переименован в HINT1. Поддержка парсинга функций
  13. Исправлено изменение таблицы с удалением ограничения
  14. Исправлено оптимизированное маршрутизация таблицы
  15. Поддержка группы ресурсов маршрутизации
  16. Поддержка парсинга binlog
  17. Поддержка операторов '&' и '|' в PostgreSQL/openGauss
  18. Поддержка парсинга openGauss INSERT ON DUPLICATE KEY
  19. Поддержка парсинга UNION в PostgreSQL/openGauss
  20. Поддержка запроса, который показывает таблицу, содержащую колонку со значением ключевого слова
  21. Исправлено отсутствие параметра в функции
  22. Исправлено отсутствие псевдонима для подзапроса таблицы
  23. Исправлено UTC TIMESTAMP функции
  24. Исправлено изменение шифрованного столбца
  25. Поддержка изменения позиции шифрованного столбца
  26. Исправлено удаление с указанием схемы для PostgreSQL
  27. Исправлено неверное маршрутное решение вызванное двусмысленностью парсера Oracle
  28. Исправлено неверное количество проекций при использовании шифрования и шардинга
  29. Исправлено исключение при использовании тени и чтение/разделение
  30. Исправлено неверное метаданные при фактической таблице без учета регистра букв
  31. Исправлено исключение переопределения при выполнении запроса со многими таблицами
  32. Исправлено парсинг китайских символов
  33. Исправлено исключение шифрования EXISTS подзапроса
  34. Исправлено полное маршрутное решение вызванное ключевым словом BINARY в условиях шардинга
  35. Исправлено исключение получения пустого результата при использовании JDBCMemoryQueryResult
  36. Исправлено неверное логическое правило проверки таблицы при создании хранимой процедуры/функции
  37. Исправлено исключение отсутствия набора символов при подключении к прокси с некоторыми клиентами PostgreSQL
  38. Исправлено неверное состояние транзакции при выполнении COMMIT в подготовленном запросе
  39. Исправлено зависание клиента при возникновении ошибки в PostgreSQL с не английской локалью
  40. Исправлено исключение при отсутствии пути конфигурации с пробелами
  41. Исправлено неверное состояние транзакции вызванное ранним очисткой буферов
  42. Исправлено проблему с типом UNSIGNED при выполнении запроса с PrepareStatement
  43. Исправлено нарушение протокола при выполнении подготовленного запроса в MySQL Proxy
  44. Исправлено кэширование слишком большого количества соединений при выполнении пакетных вставок openGauss
  45. Исправлено отсутствие данных в SHOW READWRITE_SPLITTING RULES при использовании db-discovery и чтение/разделение вместе
  46. Исправлено отсутствие данных в SHOW READWRITE_SPLITTING READ RESOURCES при использовании db-discovery и чтение/разделение вместе
  47. Исправлено исключение при создании SHARDING TABLE RULE без указания стратегии под-схемы и под-таблицы
  48. Исправлено исключение при просмотре SQL с помощью schema.table
  49. Исправлено отключение источника данных записи при использовании DISABLING STATEMENT
  50. Исправлено отключение текущего экземпляра при использовании DISABLING INSTANCE
  51. Исправлено возможность запроса недоступной логической схемы при использовании PROVIDER SCHEMA_PRIVILEGES_PERMITTED
  52. Исправлено исключение при отсутствии конфигурации провайдера авторизации
  53. Эластичность: Исправлено утечка соединений БД при инициализации XA, вызванное проверкой согласованности данных
  54. Эластичность: Исправлено исключение потока репликации PostgreSQL при работе с несколькими источниками данных
  55. Эластичность: Исправлено исключение миграции обновленных записей при этапе увеличения PostgreSQL
  56. Эластичность: Исправлено несоответствие опции BINLOG_ROW_IMAGE при проверке MySQL 5.5
  57. Эластичность: Исправлено исключение проверки согласованности данных типа данных XML в PostgreSQL
  58. Исправлено неудачное изменение конфигурации CRON при обнаружении баз данных
  59. Исправлено использование весового алгоритма нагрузки при одном источнике чтения
  60. Исправлено создание избыточного источника данных без режима MEMORY
  61. Исправлено исключение преобразования типов данных при использовании алгоритма тени

Изменение журнала

  1. MILESTONE
  2. Добавление конфигурации имени схемы для ShardingSphere-JDBC
  3. Добавление конфигурации по умолчанию для столбца шардинга
  4. Изменение по умолчанию провайдера авторизации с NATIVE на ALL_PRIVILEGES_PERMITTED
  5. Адаптация синтаксиса SCTL, объединенная с DistSQL RAL синтаксисом
  6. SHOW RESOURCES DistSQL корректирована до SHOW SCHEMA RESOURCES
  7. Удаление логического поля shadow, поддержка алгоритма shadow

Улучшения1. Поддержка парсинга объединённых запросов MySQL (UNION, UNION ALL)

  1. Поддержка запроса ABORT в PostgreSQL
  2. Переработка и улучшение процесса загрузки метаданных
  3. Поддержка автоматической генерации индекса при использовании PostgreSQL CREATE INDEX запроса в случае отсутствия явного указания индекса
  4. Поддержка выполнения SQL запросов с логической схемой
  5. Поддержка конфигурирования связанных таблиц с различными столбцами шардинга
  6. Оптимизация производительности ядра
  7. Прокси поддерживает запросы к частям таблиц information_schema для оптимизации клиентского соединения
  8. DistSQL поддерживает использование кавычек для использования ключевых слов как имен параметров
  9. Пароль в запросе ADD RESOURCE поддерживает специальные символы
  10. ADD RESOURCE поддерживает пользовательские параметры JDBC и свойства пула подключений
  11. DROP RESOURCE поддерживает опциональный параметр ignore single tables, используемый для игнорирования ограничений правил одиночной таблицы
  12. Поддержка использования DistSQL для создания правил шардинга таблиц на основе правил чтения и записи
  13. Запрос SHOW DATABASES поддерживает синтаксис LIKE
  14. CREATE SHARDING TABLE RULE поддерживает использование встроенных выражений для указания ресурсов
  15. CREATE SHARDING TABLE RULE поддерживает конфигурирование с помощью dataNodes
  16. CREATE SHARDING TABLE RULE поддерживает переиспользование существующих алгоритмов
  17. SET VARIABLE, поддержка изменения конфигурации прокси
  18. Улучшения протокола PostgreSQL (например, поддержка Portal, неопределённого типа)
  19. Использование Netty executor для оптимизации производительности прокси в определённых сценариях
  20. Настройка строго фиксированного размера памяти в прокси
  21. Шкалирование: Улучшение поддержки PostgreSQL
  22. Шкалирование: Поддержка параллельной проверки согласованности данных источника и целевой стороны

Переработка

  1. Переработка функции SingleTable для поддержки шифрования нескольких источников данных
  2. Корректировка постоянной структуры данных центра регистрации состояния узла
  3. Удаление SQL-перезаписи DML для Shadow
  4. Поддержка SQL-маршрутизации DDL для Shadow
  5. Шкалирование: Переработка базовой реализации алгоритма обнаружения завершения задачи
  6. Шкалирование: Переработка базовой реализации алгоритма проверки согласованности данных
  7. Шкалирование: Удаление HTTP API и двоичного распределения

Исправление ошибок

  1. Исправление алгоритма интервала шардинга
  2. Исправление исключения перезаписи запроса SHOW INDEX FROM TABLE FROM TABLE
  3. Исправление исключения перезаписи запроса JOIN для зашифрованных таблиц
  4. Исправление исключения выходящего за границы массива подзапроса
  5. Исправление неверного результата запроса страницирования Oracle
  6. Исправление исключения перезаписи при отсутствии конфигурации KeyGenerateStrategy в функции шардинга
  7. Исправление исключения исполнителя федерации вызванного диалектом Oracle
  8. Исправление исключения перезаписи при использовании функций шардинга и шифрования вместе
  9. Исправление исключения загрузки метаданных Oracle
  10. Исправление проблемы, когда запрос SHOW RESOURCES не может отображать пользовательские атрибуты
  11. Исправление проблемы, когда исключение выполнения SQL запроса не выбрасывается
  12. Исправление проблемы отправки события добавления узла Etcd
  13. Исправление проблем с отсутствием значений NULL в результатах запроса PostgreSQL
  14. Исправление проблем с порядком колонок метаданных PostgreSQL
  15. Исправление проблемы неправильного набора символов клиента в прокси

Изменения

  1. MILESTONE

5.0.0-beta

Новые возможности

  1. Новый DistSQL для загрузки и отображения всех правил конфигурации ShardingSphere
  2. Поддержка JOIN SQL из различных экземпляров баз данных
  3. Поддержка множества типов баз данных для новой функции шлюза баз данных
  4. Поддержка создания и обновления аутентификации онлайн
  5. Добавлен новый модуль автономного агента

Изменения API

  1. Конфигурация QueryReplica заменена на read-write-splitting
  2. Конфигурация Authentication для ShardingProxy заменена на AUTHORITY
  3. Оптимизация конфигурации источников данных для ShardingJDBC с dataSourceClassName
  4. Новый API для автоматической конфигурации шардинга таблиц для предоставления стандарта и автоматизации шардинга таблиц
  5. Удаление конфигурационного параметра acceptor-size из ShardingProxy
  6. Создание встроенного SPI алгоритма шардинга, который позволяет пользователям напрямую конфигурировать имя класса, как в версии 4.x

Улучшения

  1. Улучшение процесса загрузки метаданных
  2. Великое улучшение парсинга SQL для Oracle, SQLServer и PostgreSQL
  3. Поддержка загрузки привилегий из MySQL/PostgreSQL/SQLServer/Oracle
  4. Поддержка DDL запросов для функции шифрования
  5. Поддержка перезаписи имени владельца таблицы проекции при использовании шардинга и шифрования вместе
  6. При использовании SELECT * из шифрованного SQL, добавление кавычки для перезаписанного столбца для избежания конфликта с ключевым словом
  7. Поддержка парсинга операторов JSON/JSONB/паттерн-матчер PostgreSQL
  8. Поддержка запросов MySQL/PostgreSQL CREATE/ALTER/DROP TABLESPACE
  9. Поддержка запросов PostgreSQL PREPARE, EXECUTE, DEALLOCATE
  10. Поддержка запросов PostgreSQL EXPLAIN
  11. Поддержка запросов PostgreSQL START/END TRANSACTION
  12. Поддержка запросов PostgreSQL ALTER/DROP INDEX
  13. Поддержка создания TABLESPACE PostgreSQL
  14. Поддержка запроса MySQL CREATE LOADABLE FUNCTION
  15. Поддержка запросов MySQL/PostgreSQL ALTER TABLE RENAME
  16. Поддержка команды CLOSE PostgreSQL

Переработка

  1. Новая структура схемы в центре регистрации
  2. Удаление поддержки центра конфигурации Nacos и Apollo
  3. ShardingScaling использует elasticJob для распределения задач
  4. Переработка содержимого метаданных и его процесса обновления

Исправление ошибок1. Исправление невозможности использования SELECT * wildcard при использовании только readwrite-splitting

  1. Исправление ошибки экземпляра при несоответствии пользовательского алгоритма шардинга конфигурации
  2. Исправление ошибки NoSuchTableException при выполнении запроса DROP TABLE IF EXISTS
  3. Исправление ошибки перезаписи таблицы в запросе UPDATE ... SET ...
  4. Исправление ошибки перезаписи таблицы в запросах CREATE/ALTER TABLE с внешним ключом
  5. Исправление исключения проверки владельца проекции при наличии временной таблицы подзапроса
  6. Исправление исключения класса при использовании Oracle/SQL92 SELECT ... WHERE ... LIKE
  7. Исправление ошибки парсинга запроса MySQL SELECT EXISTS ... FROM ...
  8. Исправление ошибки перезаписи запроса SHOW INDEX
  9. Исправление ошибки перезаписи и слияния результатов запроса SELECT ... GROUP BY ...
  10. Исправление ошибки перезаписи запроса CREATE TABLE для шифрования
  11. Исправление исключения при работе PostgreSQL Proxy с чтением текстовых параметров
  12. Улучшение поддержки объектов массива PostgreSQL Proxy
  13. Исправление ошибки преобразования типов данных для ShardingProxy
  14. PostgreSQL Proxy поддерживает использование числовых типов
  15. Исправление ошибки тэга завершенного пакета транзакции PostgreSQL Proxy
  16. Исправление ошибки возврата пакета, которого не ожидают клиенты

Изменения

  1. ПОЛУЧЕНИЕ

5.0.0-alpha

Сборка и зависимости

  1. Обновление минимально поддерживаемой версии JDK до Java8
  2. Обновление Zookeeper до версии 3.6.x и Curator до версии bcm5.1.0
  3. Обновление Google Guava до версии 29.0-jre

Новые возможности

  1. Доступна плагируемая архитектура, поддерживающая расширение функциональности через SPI
  2. Доступен независимый движок парсинга SQL для получения AST парсинга SQL для различных диалектов баз данных
  3. Новое правило определения языка (RDL) для ShardingSphere Proxy поддерживает создание правил шардинга и шардинговых таблиц
  4. ShardingSphere-Scaling поддерживает возобновление миграции данных с точки прерывания
  5. ShardingSphere-Scaling поддерживает использование ShardingSphere JDBC для миграции данных в новый кластер
  6. Доступна функция тенистого базового хранилища

Изменения API

  1. Новые API для шардинга/шифрования/тенистого/replica запроса
  2. Новые API для алгоритма и стратегии шардинга
  3. Новые API для ShardingSphere Scaling для создания задач
  4. Удаление параметра конфигурации DefaultDataSourceName
  5. Разделитель параметра конфигурации изменён с точки ‘.’ на минус ‘-‘
  6. Изменение параметра allow.range.query.with.inline.sharding с глобального параметра на параметр алгоритма шардинга

Переработка

  1. Переработка архитектуры модуля парсинга SQL на основе диалектов баз данных
  2. Использование механизма SPI для перестроения процесса изменения метаданных онлайн
  3. Переименование модуля Orchestration в Governance
  4. Переименование модуля MasterSlave в QueryReplica
  5. Переработка структуры метаданных в центре регистрации управления
  6. Переработка GovernmentShardingSphereDataSource
  7. Интерфейс ShardingSphere UI объединяет конфигурацию центра и центр регистрации

Улучшения

  1. Улучшение определения и парсинга синтаксиса SQL для MySQL и PostgreSQL
  2. Улучшение поддержки подзапросов в различных диалектах баз данных
  3. Поддержка операций представлений MySQL для нешардируемых таблиц
  4. Поддержка операций хранимых процедур и функций MySQL для нешардируемых таблиц
  5. Поддержка синтаксиса TOP SQLServer
  6. Оптимизация загрузки метаданных для повышения скорости старта
  7. Оптимизация производительности батч-вставки
  8. Поддержка использования URL JDBC Oracle RAC
  9. Управитель транзакций XA добавляет поддержку базы данных Oracle
  10. Прокси ShardingSphere поддерживает использование драйвера p6spy
  11. Добавление справочной информации к скрипту запуска прокси ShardingSphere

Исправление ошибок

  1. ПОЛУЧЕНИЕ

4.1.1

Улучшения

  1. Добавлен Dockerfile для Sharding-Scaling & Sharding-UI
  2. Обновление версий MySQL и PostgreSQL для прокси

Исправления ошибок

  1. Исправление синтаксического правила парсера для SUBSTRING и CONVERT
  2. Исправление исключения ClassCastException в парсере ColumnSegment
  3. Исправление ошибки загрузки TableMetaData при использовании Sharding-JDBC с Oracle
  4. Исправление исключения NullPointerException при получении схемы при использовании Sharding-JDBC с Oracle
  5. Исправление исключения NullPointerException при парсинге SQL в PostgreSQL при использовании Sharding-JDBC
  6. Исправление получения некорректного ответа от клиента JDBC PostgreSQL при использовании Sharding-Proxy
  7. Исправление проблемы получения нулевых значений количества обновлений от клиента JDBC PostgreSQL при использовании Sharding-Proxy
  8. Исправление получения пустых данных метаданных столбцов от клиента JDBC PostgreSQL при использовании Sharding-Proxy
  9. Исправление исключения NullPointerException при выполнении задачи MySQL с Sharding-Scaling

Изменения

  1. ПОЛУЧЕНИЕ

4.1.0

Новые возможности

  1. Поддержка масштабирования для ShardingSphere (альфа версия)
  2. Перемещение центра регистрации etcd из экспериментального репозитория в репозиторий Apache
  3. Обновление до Java 8

Улучшения

  1. Оптимизация парсера Sharding с использованием ANTLR Visitor, что увеличивает производительность парсинга длинных SQL на 100%-1000%
  2. Использование нескольких потоков для загрузки метаданных для различных источников данных
  3. Поддержка опции allow.range.query.with.inline.sharding
  4. Прокси ShardingSphere поддерживает загрузку внешних библиотек
  5. Поддержка интеграции с Spring с помощью аннотации @ShardingSphereTransactionType
  6. Улучшение ShardingDataSource для совместимости с Seata в микросервисах распределенной транзакции

Переработка

  1. Удаление генератора ключей LEAF

Исправления ошибок1. Исправление исключения вызванного использованием столбца типа CHAR/VARCHAR как элемента ORDER BY

  1. Уточнение синтаксических правил DataTypeName для всех диалектов баз данных
  2. Исправление исключения вызванного выполнением BEGIN с помощью подготовленного запроса MySQL C API
  3. Исправление проблемы, когда ALTER TABLE не выполняется из-за типа поля Integer/Double/BigDecimal
  4. Исправление проблемы смещения индекса конечной точки сегмента с псевдонимом
  5. Исправление проблемы перезаписи SQL SELECT * FROM tbl WHERE encrypt_col = ? AND (sharding_key = ? OR sharding_key = ?) при использовании шардинга + шифрования
  6. Исправление проблемы некорректного декодирования после AES шифрования при использовании ShardingSphere-Proxy в Spring Boot
  7. Исправление долгосрочной проблемы динамической добавки схемы в ShardingSphere-UI

Изменения

  1. Получение

4.0.1

Исправления ошибок

  1. Использование кэша Guava для решения проблемы мертвого замка парсера
  2. Вставка SQL Oracle не работает в режиме шифрования
  3. Прокси PostgreSQL для всех типов данных кроме строки декодирует параметры неверно
  4. COM_STM_EXECUTE для прокси MySQL не поддерживает sysbench
  5. Политика без шардинга не может быть настроена в spring-boot
  6. Поле WasNull в GroupByStreamMergeResult неверное
  7. Получение столбцов через Metadata.getColumns не работает в JDBC
  8. Оператор IN с пробелами и \n \t \r не поддерживаются парсером

Улучшения

  1. Оптимизация производительности ANTLR с двухэтапной стратегией парсинга
  2. Добавление конструктора фильтра классов для ограничения нелегальных классов из YAML

Изменения

  1. Получение

4.0.0

Изменения API

  1. Изменение пакета и groupId Maven с io.shardingsphere на org.apache.shardingsphere.
  2. Адаптация API конфигурации ShardingSphere-JDBC.
  3. Адаптация структуры хранения для центра регистрации.

Новые возможности

  1. Поддержка синтаксиса SQL92.
  2. Поддержка протокола PostgreSQL для ShardingSphere-Proxy.
  3. Совместимость SQL 100% если запрос направляется на одиночный узел данных.
  4. Поддержка операторов меньше (<), больше (>), меньше либо равно (<=), больше либо равно (>=) для ключа шардинга.
  5. Поддержка синтаксиса DISTINCT SQL.
  6. Поддержка таблицы broadcast.
  7. Генератор ключей LEAF.
  8. Поддержка транзакций XA, интегрированы Atomikos, Narayana и Bitronix.
  9. Поддержка транзакций BASE, интегрирована Seata.
  10. Шифрование данных.
  11. Плагины SkyWalking.
  12. ShardingSphere-UI, платформа управления оркестра.

Улучшения

  1. Поддержка MariaDB.
  2. Улучшение совместимости парсинга SQL.
  3. SELECT FOR UPDATE направляется только на основной источник данных.
  4. Поддержка подсказок в ShardingSphere-Proxy.
  5. Соответствие конфигурации оркестра между ShardingSphere-JDBC и ShardingSphere-Proxy.
  6. Обновление только изменённых источников данных, а не всех.
  7. Настройка колебания для генератора ключей Snowflake.

Исправления ошибок

  1. Улучшение совместимости JDBC Driver URL.
  2. Поддержка удаления записей с псевдонимом.
  3. Проверка и отключение обновления столбца шардинга.
  4. Исправление неверного типа TINYINT и SMALLINT как INTEGER.

Изменения

  1. Получение #3
  2. Получение #4
  3. Получение #5
  4. Получение #6
  5. Получение #7
  6. Получение #8
  7. Получение #9

4.0.0.RC3

Новые возможности

  1. ShardingSphere-UI, платформа управления оркестра для ShardingSphere.
  2. Парсинг любых SQL92 синтаксисов корректно и использование их в ShardingSphere.

Улучшения

  1. Поддержка использования символов "<" и ">" для шардинга данных.
  2. При наличии основного и реплицирующего источника данных, поддержка выполнения SELECT FOR UPDATE на основном источнике данных.
  3. Поддержка подсказок в ShardingSphere-Proxy.
  4. Завершение парсинга синтаксиса DAL для MySQL.
  5. Соответствие конфигурации оркестра между ShardingSphere-JDBC и ShardingSphere-Proxy.

Исправления ошибок

  1. Через исправление ошибок, функциональность шифрования стала более стабильной и применимой.
  2. Поддержка удаления записей с псевдонимом.
  3. Проверка и отключение обновления столбца шардинга.
  4. Исправление неверного типа TINYINT и SMALLINT как INTEGER.

Переработка

  1. Переименование модуля оптимизации в модуль препроцессора.
  2. Разделение модуля рефакторинга SQL и функций шардинга/шифрования.

Изменения

  1. Получение

4.0.0.RC2

Изменения API

  1. Оптимизация и удаление API и элементов конфигурации логического индекса шардинга.
  2. Обновление API шифрования для поддержки совместного существования зашифрованных и обычных данных.

Новые возможности

  1. Интеграция Seata для распределённых транзакций.
  2. Возможность шифрования данных с использованием ShardingProxy.
  3. Возможность использования генератора ключей LEAF для получения распределённых ID.
  4. Поддержка плагина SkyWalking для управления производительностью приложений.

Улучшения

  1. Обновление только изменённых источников данных для повышения производительности конфигурации оркестра.
  2. Улучшение совместимости парсинга SQL.

Переработка

  1. Удаление перечня enum DatabaseType, использование динамической SPI для загрузки типа источника данных.
  2. Обновление парсера на третью версию.
  3. Рефакторинг модуля рефакторинга SQL.

Изменения

  1. Получение

4.0.0.RC1

Объединение всех изменений версий 3.1.0.M1, 3.1.0, 3.1.0.1 и 4.0.0.M1. Первое выпускаемые Apache.

Изменения API

  1. Адаптация структуры хранения для центра регистрации оркестра.
  2. Адаптация API конфигурации ShardingSphere-JDBC.
  3. Изменение пакета и groupId Maven с io.shardingsphere на org.apache.shardingsphere.
  4. Адаптация spring-boot-starter.

Новые возможности1. Поддержка транзакций XA.

  1. Поддержка шифрования данных.
  2. Использование протокола PostgreSQL для доступа к ShardingSphere-Proxy.
  3. Поддержка синтаксиса DISTINCT SQL.
  4. Поддержка таблицы broadcast.
  5. Совместимость SQL 100%, если запрос направляется на одиночный узел данных (MySQL только).

Изменения

  1. ПОЛУЧЕНИЕ #3
  2. ПОЛУЧЕНИЕ #4
  3. ПОЛУЧЕНИЕ #5
  4. ПОЛУЧЕНИЕ #6

3.0.0

Майлстоны

  1. Запуск ShardingSphere-Proxy. Поддержка использования ShardingSphere в качестве базы данных для работы с клиентами MySQL CLI и GUI.

Новые возможности

Ядро

  1. ЗАДАЧА #290 Поддержка batch INSERT
  2. ЗАДАЧА #501 Поддержка OR
  3. ЗАДАЧА #980 Поддержка DCL
  4. ЗАДАЧА #1111 Поддержка MySQL DAL

ShardingSphere-Proxy

  1. ЗАДАЧА #902 Поддержка транзакций XA
  2. ЗАДАЧА #916 Поддержка авторизации
  3. ЗАДАЧА #936 Поддержка центра регистрации
  4. ЗАДАЧА #1046 Поддержка множества логических баз данных

Улучшения

Ядро

  1. ISSUE #373 Поддержка order by ?
  2. ISSUE #610 Роутинг одиночной передачи для DQL без таблицы
  3. ISSUE #701 Кэширование распарсенных результатов для повышения производительности
  4. ISSUE #773 Поддержка шардинга и автоинкрементного ключа вставки без указания столбцов
  5. ISSUE #935 Использование YAML вместо JSON для хранения конфигураций в центре регистрации
  6. ISSUE #1004 Возможность настройки свойств для шардинга и запроса реплик независимо
  7. ISSUE #1205 Улучшение выполнения движка

ShardingSphere-JDBC

  1. ISSUE #652 Поддержка Spring Boot Starter 2.X
  2. ISSUE #702 Поддержка $->{..} для встроенных выражений
  3. ISSUE #719 Поддержка внедрения объектов генератора ключей через пространство имён Spring
  4. ISSUE #720 Поддержка внедрения объектов алгоритма шардинга через пространство имён Spring

Sharding-Opentracing

  1. ISSUE #1172 Улучшение opentracing

Изменения API

  1. ISSUE #1153 Корректировка артефакта Maven для модуля оркестрирования
  2. ISSUE #1203 Корректировка пространства имён XSD для шардинга и запроса реплик
  3. ISSUE #1289 Корректировка API подсказок
  4. ISSUE #1302 Оптимизация структуры пакетов
  5. ISSUE #1305 Отключение и удаление модуля sharding-jdbc-transaction-parent
  6. ISSUE #1382 Удаление типа конфигурации в модуле оркестрирования

Исправление ошибок

Ядро

  1. ISSUE #569 Невозможно распарсить SQL для Oracle при отсутствии ROWNUM в конце
  2. ISSUE #628 Поддержка типа данных jsonb для PostgreSQL
  3. ISSUE #646 При наличии псевдонимов в SELECT ITEMS, соответствующих реальным именам колонок в GROUP BY или ORDER BY, нет необходимости создавать производные колонки
  4. ISSUE #806 Исключение парсинга NOT IN
  5. ISSUE #827 Бесконечный цикл для некорректного SQL вроде SELECT * FROM table WHERE id IN ()
  6. ISSUE #919 Встроенное выражение с использованием Groovy может вызвать утечку памяти
  7. ISSUE #993 Невозможно распарсить PostgreSQL из-за кавычек
  8. ISSUE #1015 Поддержка SQL вроде SELECT id, COUNT(*) FROM table GROUP BY 1,2
  9. ISSUE #1120 Производные колонки GROUP BY / ORDER BY появляются в результате запроса
  10. ISSUE #1186 Может возникнуть мертвый замок при работе в режиме MEMORY_STRICTLY в многопоточной среде
  11. ISSUE #1265 Исключение ArrayIndexOutOfBoundsException при переполнении AtomicInteger в RoundRobinReplicaLoadBalanceAlgorithm

ShardingSphere-JDBC

  1. ISSUE #372 Переиспользование PreparedStatement приводит к тому, что кеш результата маршрутизации не очищается
  2. ISSUE #629 Поддержка уровня изоляции транзакций в JDBC
  3. ISSUE #735 Непредвиденный результат маршрутизации реплицирующего источника данных при использовании алгоритма балансировки нагрузки "round-robin" в Mybatis
  4. ISSUE #1011 Невозможно разрешить плейсхолдер в конфигурации Spring Boot YAML

2.0.3

Новые возможности

Ядро

  1. ISSUE #600 Поддержка TCL

Исправление ошибок

Ядро

  1. ISSUE #540 Поддержка SQL, где псевдоним является зарезервированным словом
  2. ISSUE #577 Поддержка новой строки для конфигурации YAML

ShardingSphere-JDBC

  1. ISSUE #522 Реплицирующий источник данных не требует выполнения DDL для запроса реплик

2.0.2

Улучшения

Ядро

  1. ISSUE #475 Поддержка CREATE INDEX
  2. ISSUE #525 Поддержка DROP INDEX

Исправление ошибок

Ядро1. ISSUE #521 ShardingProperties недействителен в конфигурации YAML

  1. ISSUE #529 Невозможно запрашивать имя таблицы с учётом регистра букв
  2. ISSUE #541 Ошибка парсинга IS NOT NULL
  3. ISSUE #557 Когда псевдонимы GROUP BY и ORDER BY не совпадают, следует использовать потоковое объединение
  4. ISSUE #559 Поддержка парсинга чисел, начинающихся с минуса и десятичной точки (например, -.12)
  5. ISSUE #567 Добавление символа экранирования для производных колонок или псевдонимов при использовании MySQL

ShardingSphere-JDBC

  1. ISSUE #520 Исключение больше не является DuplicateKeyException при конфликте уникального ключа

2.0.1

Улучшения

Ядро

  1. ISSUE #490 Использование rownum больше или равно или меньше или равно для результата пагинации неверно в Oracle
  2. ISSUE #496 Логические имена таблиц в конфигурации шардинга могут быть чувствительны к регистру букв
  3. ISSUE #497 Грациозное закрытие центра регистрации

Исправление ошибок

ShardingSphere-JDBC

  1. ISSUE #489 Использование RuntimeBeanReference для предотвращения создания InnerBean в пространстве имён Spring
  2. ISSUE #491 Невозможно закрыть соединение через ResultSet.getStatement().getConnection().close()

2.0.0

Майлстоны

  1. Корректировка API. Новый groupId и artifactId для Maven, упрощенная и улучшенная структура пакетов, полная поддержка конфигурации встроенных выражений
  2. Поддержка spring-boot-starter для ShardingSphere-JDBC
  3. Динамическая конфигурация. ZooKeeper и etcd могут использоваться как центр регистрации для динамического изменения источников данных и конфигураций шардинга
  4. Оркестрирование баз данных. Интеграция процедур доступа к базам данных для доступа к базам данных и отключения доступа к репликам
  5. Поддержка ConfigMap. Предопределенные метаданные могут быть получены в стратегиях шардинга и запроса реплик
  6. Поддержка системы трассировки. Вы можете просматривать цепочку вызова ShardingSphere-JDBC через sky-walking и другие системы APM на основе opentracing

Улучшения

Ядро

  1. ISSUE #386 Поддержка SQL без указания имени таблицы, например SELECT 1

ShardingSphere-JDBC

  1. ISSUE #407 Поддержка свойств с дефисами для sharding-jdbc-spring-boot-starter
  2. ISSUE #424 Предоставление общего события выполнения SQL

Исправление ошибок

Ядро

  1. ISSUE #387 Предотвращение ошибок обработки зарезервированных слов при наличии ' в функции + имени колонки
  2. ISSUE #419 При переписывании SQL не проверяется, является ли псевдоним зарезервированным словом без использования символа экранирования, что приводит к исключению SQL
  3. ISSUE #464 Если тип VARCHAR не заключен в одинарные кавычки, следующий VARCHAR в SQL будет некорректным SQL с кириллицей, что приводит к увеличенному использованию процессора

ShardingSphere-JDBC

  1. ISSUE #394 Невозможно закрыть только заявление
  2. ISSUE #398 Использование подсказок для защиты от чувствительности к регистру букв
  3. ISSUE #404 sharding-jdbc-spring-boot-starter не поддерживает HikariDataSource
  4. ISSUE #436 Запрос реплик, когда используется алгоритм балансировки нагрузки "round-robin", он может быть направлен только на одну реплику
  5. ISSUE #452 Шардинг DDL-запросов более одной таблицы приводит к утечке соединений
  6. ISSUE #472 До выполнения метода createStatement соединением вызывается метод getMetaData, затем setAutoCommit не работает корректно для соединения, созданного позднее

1.5.4.1

Исправление ошибок

  1. ISSUE #382 Запрос невозможно завершить без правил шардинга

1.5.4

Исправление ошибок

  1. ЗАПИСЬ #356 В условии WHERE SQL оператор REGEXP совместим с некластеризованными столбцами
  2. ЗАПИСЬ #362 При запросе реплик используя PreparedStatement вызывается метод setParameter, что приводит к ошибкам
  3. ЗАПИСЬ #370 Ошибка при вызове getGeneratedKeys с использованием автоинкрементного первичного ключа
  4. ЗАПИСЬ #375 После пагинации второй страницы данные не могут быть получены, так как маршрутизация происходит на один узел
  5. ЗАПИСЬ #379 При использовании Mybatis для вызова Connection.getMetaData() соединение не закрывается правильно

Версия 1.5.3

Улучшения

  1. ЗАПИСЬ #98 Поддержка конфигурации стратегии балансировки нагрузки для запросов реплик
  2. ЗАПИСЬ #196 Независимость конфигурации запросов реплик и кластеризации

Исправление ошибок

  1. ЗАПИСЬ #349 Некорректная работа ResultSet.wasNull приводит к нулл значениям типа NUMERIC в БД, которые преобразуются в ноль
  2. ЗАПИСЬ #351 Таблицы, включенные в источник данных по умолчанию, но не указанные в конфигурации TableRule, не выполняются корректно
  3. ЗАПИСЬ #353 В условии WHERE SQL поддерживаются операторы !=, !> и !< для некластеризованных столбцов
  4. ЗАПИСЬ #354 В условии WHERE SQL поддерживаются операторы NOT для некластеризованных столбцов

Версия 1.5.2

Майлстоны

  1. Тестовый движок качества обеспечивает выполнение каждого SQL 60 тестов различных размерностей

Улучшения1. ЗАПИСЬ #335 Поддержка SQL с GROUP BY и пользовательской функцией

  1. ЗАПИСЬ #341 Поддержка ORDER BY xxx NULLS FIRST | LAST для Oracle

Исправление ошибок

  1. ЗАПИСЬ #334 Парсинг ORDER BY с функциями приводит к неверному распознаванию следующих ASC и DESC как атрибут имени OrderItem
  2. ЗАПИСЬ #339 Некорректный парсинг JOIN с полным именем таблицы
  3. ЗАПИСЬ #346 Ошибка парсинга имени таблицы в DDL-запросе DROP TABLE IF EXISTS USER

Версия 1.5.1

Новые возможности

  1. ЗАПИСЬ #314 Поддержка типовых DDL-запросов SQL

Изменения

  1. ЗАПИСЬ #327 По умолчанию отключен sql.show конфигурация

Исправление ошибок

  1. ЗАПИСЬ #308 Некорректный возврат базового генерируемого ключа
  2. ЗАПИСЬ #310 ORDER BY и GROUP BY в подзапросах не учитываются в контексте аналитики
  3. ЗАПИСЬ #313 Поддержка оператора <>
  4. ЗАПИСЬ #317 Параметр LIMIT не может быть типа Long
  5. ЗАПИСЬ #320 Ошибка переопределения GROUP BY + LIMIT
  6. ЗАПИСЬ #323 Ошибка парсинга ORDER BY + Агрегирующего Выражения

Версия 1.5.0

Майлстоны

  1. Новый модуль парсинга SQL устраняет зависимость от Druid. Теперь требуется только парсинг контекста шардинга, применяется концепция "полу понимания" SQL для дальнейшего повышения производительности и совместимости, а также снижения сложности кода
  2. Новый модуль переопределения SQL добавляет оптимизированную систему переопределения
  3. Новый модуль объединения SQL перестроен в три объединительных движка: потоковый, памяти и декоратор

Новые возможности

  1. Поддержка Oracle, SQLServer и PostgreSQL
  2. Поддержка нереляционных подзапросов

Улучшения

  1. ЗАПИСЬ #256 Настройка отображения лога выполнения SQL
  2. ЗАПИСЬ #291 Обработка SQL в режиме потока, содержащего только GroupBy

Изменения

  1. Упрощение распределенного автоинкремента. Каждая таблица теперь поддерживается путем упрощения множественного автоинкремента до одной таблицы, поддерживающей только одно распределенное автоинкрементное значение, и больше не поддерживающих установки workerID через переменные окружения
  2. Отсутствие поддержки OR

Исправление ошибок

  1. ЗАПИСЬ #239 LIMIT маршрутизирует к нескольким наборам результатов. Если есть только один не пустой набор результатов, то результат пагинации будет некорректным
  2. ЗАПИСЬ #263 Конфигурация шардинга и логической таблицы может быть регистронезависимой
  3. ЗАПИСЬ #292 Когда режим памяти обрабатывает GROUP BY, если есть информация о пагинации, она должна быть переопределенной
  4. ЗАПИСЬ #295 LIMIT 0 не фильтрует набор результатов согласно ограничениям пагинации

Версия 1.4.2

Улучшения

  1. ЗАПИСЬ #219 Оптимизация производительности потока
  2. ЗАПИСЬ #215 Оптимизация производительности объединенного результата SET для потока SORT StreamingOrderByReducerResultSet
  3. ЗАПИСЬ #161 При объединении результирующих наборов можно использовать сортировку кучей для улучшения производительности

Исправление ошибок

  1. ЗАПИСЬ #212 Более значимые подсказки для отсутствующих правил источников данных
  2. ЗАПИСЬ #214 table_name.column_name в (?, ?) в WHERE не может быть распарсена
  3. ЗАПИСЬ #180 Некорректность возвращаемых значений при выполнении UPDATE в режиме пакетного выполнения
  4. ЗАПИСЬ #225 Последний символ автоматически сгенерированного ID не равен 0

Версия 1.4.1

Улучшения

  1. ЗАПИСЬ #191 Генерация KeyGenerator на основе IP хоста
  2. ЗАПИСЬ #192 Получение KeyGenerator на основе цифрового суффикса имени хоста
  3. ЗАПИСЬ #210 Маршрутизация к одиночной базе данных и одиночной таблице для удаления дополнительных фрагментов SQL

Исправление ошибок

  1. ЗАПИСЬ #194 Исключения некоторых компонентов в методе закрытия Connection, Statement, ResultSet и других интерфейсов приводят к тому, что метод закрытия другого компонента не вызывается
  2. ЗАПИСЬ #199 Шардинг и повторное использование объекта PreparedStatement приводят к ошибке маршрутизации
  3. ЗАПИСЬ #201 Пропущено событие передачи перед выполнением пакетной операции
  4. ЗАПИСЬ #203 Объединение событий отправленных пакетной операцией
  5. ЗАПИСЬ #209 Параллельное выполнение нескольких запросов LIMIT приводит к исключению IndexOutOfBoundsException

Версия 1.4.0

Улучшения

Реализация автоматического генерирования ключа, включающая:

  1. ЗАПИСЬ #162 Реализация алгоритма распределенного первичного ключа
  2. ЗАПИСЬ #163 Получение автоинкрементного последовательного значения через интерфейсы JDBC
  3. ЗАПИСЬ #171 Координация автоматического генерирования последовательности в sharding-jdbc-core
  4. ЗАПИСЬ #172 Конфигурация YAML и Spring поддерживает автоинкрементное значение

Исправление ошибок

  1. ЗАПИСЬ #176 Флаг былNull в AbstractMemoryResultSet не сбрасывается своевременно

Версия 1.3.3### Улучшения

  1. ЗАПИСЬ #59 PreparedStatement может вызывать правильный внутренний метод set по типу параметра

Исправление ошибок

  1. ЗАПИСЬ #149 При выполнении INSERT IGNORE INTO, если данные дублируются, то игнорируется значение -1, которое должно быть равно 0
  2. ЗАПИСЬ #118 В одном потоке сначала выполняется DQL, затем DML, и операция DML выполняется из реплицированной базы данных
  3. ЗАПИСЬ #122 В случае недоступности соединений (например, из-за сетевых проблем), транзакция должна быть прервана, а не повторена
  4. ЗАПИСЬ #152 Кэширование PreparedStatement приводит к исключению ArrayIndexOutOfBoundsException
  5. ЗАПИСЬ #150 Проблема совместимости с последним драйвером JDBC SQLServer, имя продукта должно быть изменено с SQLServer на Microsoft SQL Server
  6. ЗАПИСЬ #166 Добавление синхронизации уровня подключения к базе данных для многопоточного отчета об ошибках фильтром статистики DataSource Druid
  7. ЗАПИСЬ #36 ShardingPreparedStatement не может повторно устанавливать параметры
  8. ЗАПИСЬ #114 При выполнении пакетных задач ShardingPreparedStatement происходит многократный анализ SQL, что приводит к исчерпанию оперативной памяти (OOM)
  9. ЗАПИСЬ #33 По данным документации MySQL, запросы вроде LIMIT 100 и -1 формата не поддерживаются
  10. ЗАПИСЬ #124 Возвращаемое значение метода getUpdateCount класса com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter не соответствует спецификации JDBC
  11. ЗАПИСЬ #141 Ошибка установки параметров при использовании многопоточного исполнителя

Версия 1.3.1

Улучшения

  1. ЗАПИСЬ #91 Поддержка открыта для использования Statement.getGeneratedKeys, чтобы вернуть первоначальный автоинкрементируемый первичный ключ базы данных
  2. ЗАПИСЬ #92 Отправка события для DQL запроса

Исправление ошибок

  1. ЗАПИСЬ #89 Использование репликационного запроса с подсказками шардинга приводит к конфликту
  2. ЗАПИСЬ #95 Запись в одном потоке чтения из основной базы данных была изменена на один и тот же поток и ту же соединение

Версия 1.3.0

Новые возможности

  1. ЗАПИСЬ #85 Новая возможность для репликационного запроса

Улучшения

  1. ЗАПИСЬ #82 TableRule может импортировать атрибут dataSourceName для указания источника данных, соответствующего TableRule
  2. ЗАПИСЬ #88 Отменены ограничения для других баз данных, теперь поддерживаются стандартные SQL, но не поддерживаются личные страницы

Исправление ошибок

  1. ЗАПИСЬ #81 Запрос ассоциативной таблицы использует условие OR для решения исключений результата

Версия 1.2.1

Переработка

  1. ЗАПИСЬ #60 Адаптация API, удаление ShardingDataSource, использование фабрики вместо него
  2. ЗАПИСЬ #76 ShardingRule и TableRule изменены на паттерн Builder
  3. ЗАПИСЬ #77 ShardingRule и TableRule изменены на паттерн Builder

Улучшения

  1. ЗАПИСЬ #61 Добавлено имя логической таблицы в класс ShardingValue
  2. ЗАПИСЬ #66 На уровне JDBC поддерживается получение и установка значений MaxFieldSize, MaxRows и QueryTimeout
  3. ЗАПИСЬ #72 Поддержка выборочных вставок с помощью SELECT UNION ALL
  4. ЗАПИСЬ #78 Упрощено конфигурирование шардинга без необходимости указывать соответствие между логическими и реальными таблицами
  5. ЗАПИСЬ #80 Упрощено конфигурирование без шардинга, указывается источник данных по умолчанию, нет необходимости указывать TableRule

Исправление ошибок

  1. ЗАПИСЬ #63 В ORDER BY и GROUP BY производятся столбцы вывода без имени таблицы или псевдонима таблицы
  2. ЗАПИСЬ #65 Улучшение производительности анализа контекста условия
  3. ЗАПИСЬ #67 Жесткая транзакция лога не может быть удалена при маршрутизации в несколько таблиц
  4. ЗАПИСЬ #71 Ошибка маршрутизации одного ключа шардинга с использованием OFFSET в LIMIT
  5. ЗАПИСЬ #75 Проблема конкурентного доступа при повторной попытке в случае ошибки в памяти TransactionLogStorage

Версия 1.2.0

Новые возможности

  1. ЗАПИСЬ #53 Соответствие между реальной и логической таблицей не указано, реальная таблица вычисляется динамически алгоритмом шардинга
  2. ЗАПИСЬ #58 Жесткая транзакция: начальная версия типа "best-effort"

Переработка

  1. ЗАПИСЬ #49 Адаптация конфигурации свойств
  2. ЗАПИСЬ #51 Переработка интерфейса Hint

Исправление ошибок

  1. ЗАПИСЬ #43 Файл конфигурации YAML содержит китайские символы, режим работы системы не использует UTF-8 кодировку, что приводит к невозможности парсинга YAML
  2. ЗАПИСЬ #48 Файл YAML не закрывается после чтения
  3. ЗАПИСЬ #57 На уровне аналитики можно идентифицировать подзапросы, чтобы обеспечить точное положение дополнительных колонок

Версия 1.1.0

Новые возможности

  1. ЗАПИСЬ #40 Поддержка конфигурации YAML
  2. ЗАПИСЬ #41 Поддержка конфигурации пространства имен Spring
  3. ЗАПИСЬ #42 Поддержка конфигурации встроенных выражений

Исправление ошибок1. ISSUE #25 При использовании выражения OR могут возникнуть повторяющиеся результаты

Версия 1.0.1

Улучшения

  1. ISSUE #39 Добавлена поддержка использования метода Hint для регистрации значения ключа в маршрутизации SQL

Исправление ошибок

  1. ISSUE #11 Функция COUNT возвращает неверные данные без псевдонимов
  2. ISSUE #13 Инструкция INSERT не записывает имена колонок или записывает имена колонок, но они не содержат полей шардинга, что приводит к широкому рассылке
  3. ISSUE #16 При каждом выполнении SQL создается новый пул соединений. Вместо этого каждый объект ShardingDataSource должен использовать общий пул
  4. ISSUE #18 При запросе COUNT вызов метода getObject() приводит к исключению: "Unsupported data type: Object"
  5. ISSUE #19 В функциях SUM и AVG слияние не выполняется без псевдонимов, и возникает исключение NullPointerException при добавлении псевдонимов
  6. ISSUE #38 Улучшена совместимость JPA и ShardingSphere-JDBC. JPA автоматически добавляет псевдонимы колонок SELECT, что приводит к тому, что ORDER BY получает данные ResultSet только через псевдонимы, а не через имена колонок

Версия 1.0.0

  1. Первый выпуск

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Sharding-Sphere-sharding-sphere.git
git@api.gitlife.ru:oschina-mirror/Sharding-Sphere-sharding-sphere.git
oschina-mirror
Sharding-Sphere-sharding-sphere
Sharding-Sphere-sharding-sphere
master