Skip to content

Latest commit

 

History

History
2083 lines (1313 loc) · 138 KB

CHANGELOG.ru.md

File metadata and controls

2083 lines (1313 loc) · 138 KB

Список изменений

Все заметные изменения в этом проекте будут задокументированы в этом файле.

Формат основан на Keep a Changelog и этот проект придерживается cемантического версионирования.

Добавлено

  • Добавлена поддержка объектов USER, ROLE в ClickHouse.

Изменено

Исправлено

  • Исправлено пропущенное квотирование в имене POLICY в ClickHouse.

9.6.0 - 2024-05-14

Добавлено

  • Добавлена поддержка объекта POLICY в ClickHouse.

Изменено

  • Удалено лишнее условие в запросах на чтении объектов.

Исправлено

  • Исправлена ошибка пересоздания зависимостей при изменении пользовательского типа данных в MS SQL.
  • Исправлена логика чтения схем при использовании файла .pgcodekeeperignoreschema.

9.5.1 - 2024-04-24

Исправлено

  • Исправлено поведение поля домен в настройках БД.
  • Исправлена ошибка при чтении базы данных ClickHouse.

9.5.0 - 2024-04-09

Добавлено

  • Добавлена поддержка работы с ClickHouse в тестовом режиме.

9.4.3 - 2024-03-18

Исправлено

  • Исправлена ошибка при одновременной загрузке библиотек.
  • Исправлена ошибка при попытке открытия мастера создания новых объектов.

9.4.2 - 2024-03-13

Исправлено

  • Исправлена генерация кода партицонных таблиц с методом доступа в GreenPlum 7.
  • Исправлена ошибка при одновременной загрузке библиотек.

9.4.1 - 2024-03-11

Исправлено

  • Исправлена ошибка при чтении таблиц в GreenPlum 7.

9.4.0 - 2024-03-05

Добавлено

  • Добавлена настройка для оборачивания создания IDENTITY и CONSTRAINT в DO блок с секцией EXCEPTION (Window -> Preferences -> pgCodeKeeper -> Обновление БД -> Печатать создание CONSTRAINT и IDENTITY в DO блоке, CLI-опция -do (--generate-exist-do-block)).

Изменено

  • Отдельный мастер создания проекта для MS SQL заменен на выбор типа БД.
  • Улучшен текст ошибки при парсинге выражений.

Исправлено

  • Исправлена ошибка при парсинге некоторых спецсимволов в MS SQL.
  • Исправлена ошибка при парсинге конструкции $n%TYPE в PostgreSQL.

9.3.0 - 2024-02-06

Добавлено

  • Добавлен поиск зависимостей при использовании ::regoper и ::regoperator.

Исправлено

  • Исправлена генерация кода для объектов VIEW с опцией SCHEMABINDING в MS SQL.

9.2.0 - 2024-01-23

Изменено

  • Обновлен год лицензии.

Исправлено

  • Исправлена ошибка дублирования объекта в скрипте миграции.
  • Исправлена генерация кода при изменении порядка столбцов в объектах INDEX и CONSTRAINT.
  • Исправлено пропущенное квотирование в FOREIGN KEY.

Исправлено

  • Удалена генерация комментариев для объекта DATABASE.

9.1.0 - 2024-01-10

Добавлено

  • Добавлена настройка для переноса комментариев в конец скрипта миграции (Window -> Preferences -> pgCodeKeeper -> Обновление БД -> Печатать комментарии в конце скрипта, CLI-опция --comments-to-end).

Исправлено

  • Исправлены ошибки парсера для MS SQL.
  • Исправлена ошибка при открытии файлов вне pgCodeKeeper проекта в редакторе SQL.
  • Исправлена ошибка с определением зависимости в теле функции в PG.
  • Добавлены пропущенные ссылки на объекты COLLATION в PostgreSQL.
  • Исправлены ошибки с зависимостями столбцов в MS SQL.

9.0.0 - 2023-12-13

Добавлено

  • Добавлено имя базы данных в консоли при накате.

Изменено

  • Параметр --ms-sql заменен на параметр --db-type с указанием типа БД. На текущий момент поддерживается 2 значения: PG (значение по-умолчанию) и MS. Параметр --ms-sql помечен как устаревший и будет удален в будущих версиях. Все флаги с выбором MS SQL базы заменены на комбобокс с выбором типа БД.
  • Изменен механизм работы с объектами CONSTRAINT и INDEX: объекты теперь хранятся не в виде строки, а в виде отдельных полей, что позволяет избежать лишних различий в ключевых словах и пробелах. Для сохранения совместимости использован старый шаблон для генерации кода.
  • Обновлены все библиотечные зависимости ядра программы. Для использования Windows аутентификации требуется обновить DDL.
  • Улучшены правила парсера для MS SQL.

Исправлено

  • Исправлена ошибка в работе мастера сравнений.
  • Исправлена ошибка в CLI версии при использовании относительного пути.
  • Исправлена ошибка с добавлением шаблона.

8.9.0 - 2023-11-07

Изменено

  • Улучшены правила парсера.

8.8.0 - 2023-09-27

Добавлено

  • Добавлена поддержка PostgreSQL 16.

Изменено

  • Улучшены правила парсера для MS SQL.

Исправлено

  • Исправлена ошибка при чтении локали для объектов COLLATION.
  • Исправлена ошибка в генерации скрипта миграций для COLLATION.

8.7.0 - 2023-09-12

Добавлено

  • Добавлена поддержка синтаксиса GOTO в MS SQL.

Изменено

  • Улучшены правила парсера для MS SQL.

8.6.0 - 2023-08-29

Изменено

  • Улучшены правила парсера.
  • В мастер создания новых объектов добавлены SEQUENCE и AGGREGATE.

Исправлено

  • Исправлена ошибка парсинга CLUSTER ON для таблиц и материализованных представлений.

8.5.0 - 2023-08-15

Изменено

  • Изменено логирование core модуля на использование slf4j.
  • Отключена самостоятельная сборка pgCodeKeeper для macOS.
  • Отсортирован список типов в фильтре объектов.
  • Перемещены сгенерированные классы.
  • Улучшены правила парсера для MS SQL.

Исправлено

  • Исправлена ошибка с чтением USER MAPPING из библиотек.
  • Исправлена ошибка с поиском зависимостей.

8.4.0 - 2023-08-01

Добавлено

  • Добавлена поддержка объекта EVENT TRIGGER.
  • Добавлена опция для отображения кода всех дочерних объектов при сравнении.

Исправлено

  • Исправлена генерация кода с опцией Печатать DROP перед CREATE конструкцией при пересоздании объекта.

8.3.0 - 2023-07-19

Добавлено

  • Добавлены настройки для типов подключения.

Изменено

  • Оптимизированы запросы на получение объектов из БД.

Исправлено

  • Исправлен анализ выражений и поиск зависимостей для колонок.
  • Исправлено кеширование меню базы данных.

8.2.0 - 2023-07-04

Добавлено

  • Добавлен алфавитный порядок дочерних объектов одного типа в файле при сохранении в проект.

Изменено

  • Удалены лишние команды при генерации скрипта миграций для функций.

Исправлено

  • Исправлена версия Eclipse, используемая в сборках pgCodeKeeper, для сохранения совместимости с JAVA 11.
  • Исправлена генерация кода при изменений свойств TABLE SUBPARTITION TEMPLATE в Greenplum.

8.1.0 - 2023-06-13

Изменено

  • Оптимизирована работа с пользовательскими типами.

Исправлено

  • Исправлена ошибка при чтении библиотеки-проекта при использовании относительного пути.
  • Исправлены ложные различия в квотировании тела функции.
  • Исправлены конфликты всплывающих подсказок для имени объекта.

8.0.0 - 2023-05-30

Добавлено

  • Добавлена поддержка работы с Greenplum в тестовом режиме.
  • Добавлено диалоговое окно для редактирования свойств библиотеки.
  • Добавлена поддержка относительного пути для библиотеки.
  • Добавлено необязательное поле "Имя" в свойствах библиотеки для настройки отображаемого имени в списке.
  • Добавлен переход на страницу настроек библиотек из диалогового окна с ошибкой при переопределении объектов.

Изменено

  • Улучшен механизм сравнения RETURNS TABLE у функций.

Исправлено

  • Исправлена ошибка из-за которой outline не обновлялся при переходе между результатами поиска.

7.6.0 - 2023-05-16

Изменено

  • Удалена модальность диалогового окна мастера сравнения.

Исправлено

  • Исправлена ошибка из-за которой директория COLLATION игнорировалась.
  • Исправлена ошибка генерации скрипта миграции при изменении порядка колонок в композитном типе.

7.5.0 - 2023-04-11

Добавлено

  • Добавлена возможность обновления версии плагина в самостоятельных сборках pgCodeKeeper.
  • Добавленна поддержка парсером опций REBUILD для таблиц в MS SQL.
  • Добавлены тесты для загрузчика библиотек.

Исправлено

  • Исправлена ошибка в механизме "нормализации" проекта с библиотеками и переопределениями.
  • Исправлена ошибка в генерации скрипта миграции при переливке данных с удалением identity колонки таблицы.
  • Исправлена ошибка в сборщике MS SQL при сохранении файлов.
  • Исправлен NPE в агрегатных функциях PostgreSQL.
  • Исправлен NPE при чтении USER MAPPING с пользователем PUBLIC.
  • Исправлено пропущенное квотирование в столбцах композитных типов.

7.4.0 - 2023-03-28

Добавлено

  • Добавлена подпись jar-файлов сертификатом.
  • Добавлена поддержка версий PostgreSQL 9.4 - 9.6.
  • Добавлена поддержка опций MASKED, ROWGUIDCOL, PERSISTED, SPARSE, NOT FOR REPLICATION для столбцов таблиц в MS SQL.
  • Добавлен всплывающая подсказка для имени базы данных в редакторе проекта.
  • Добавлена поддержка синтаксиса MATCH в MS SQL.

Изменено

  • Актуализирована лицензия.

Исправлено

  • Исправлена проблема с генерацией кода при удалении партиционного индекса вместе с таблицей.
  • Исправлена ошибка при чтении дефолтного значения VARIADIC параметра функции.
  • Исправлена ошибка при переименовании объектов с длинными именами при миграции данных.

7.3.0 - 2023-03-14

Добавлено

  • Добавлена поддержка опций для объекта User в MS SQL: DEFAULT_LANGUAGE, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS.
  • Добавлена поддержка опции STATISTICS_INCREMENTAL для объекта Index в MS SQL.

Исправлено

  • Исправлены ошибки в тестах при запуске на машинах с RU локалью.
  • Исправлены проблемы с генерацией кода при изменениях OWNED BY свойства последовательностей.
  • Исправлена уязвимость при чтении XML файлов.

7.2.0 - 2023-02-21

Изменено

  • Обновлен механизм отправки анонимных данных с Google Universe до Google Analytics 4.

Исправлено

  • Исправлена ошибка при выводе сообщения об ошибке в запросе.
  • Исправлена ошибка с генерацией кода миграции данных для секционированных таблиц.
  • Исправлена ошибка при пересоздании sequence при переливке данных с таблицы.

7.1.0 - 2023-02-07

Добавлено

  • Начиная с этой версии, pgCodeKeeper требует Eclipse 2021-03 (4.19) или выше.
  • Добавлены CHANGELOG файлы.
  • Добавлена возможность добавления комментария к объекту через контекстное меню редактора SQL.

Изменено

  • Улучшена сборка за счет замены вложенных jar-файлов на maven зависимости.
  • В CLI версии изменен параметр --graph-name: добавлена поддержка регулярных выражений.

Исправлено

  • Исправлена ошибка при изменении типа колонки в FOREIGN TABLE.
  • Исправлены ошибки при анализе выражений.
  • Исправлена проверка версии pg_dbo_timestamp.
  • Исправлена ошибка при переопределении привилегий.
  • Добавлены пропущенные ссылки на объекты в MS SQL.
  • Добавлены пропущенные ключевые слова из PostgreSQL 15.

Удалено

  • Удалена настройка ограничения количества строк, получаемых при выполнении SELECT.

7.0.1 - 2022-11-14

Исправлено

  • Исправлена ошибка в запросе для SEQUENCE.

7.0.0 - 2022-11-14

Добавлено

  • Добавлена поддержка PostgreSQL 15.
  • Добавлен переключатель для отображения колонок в графе зависимостей.
  • Добавлен поиск по квалифицированному имени объекта.

Изменено

  • Повышена минимальная версии JAVA до 11.
  • Изменен механизм чтения ресурсов.

Исправлено

  • Отключена переливка данных для сторонних таблиц.
  • Исправлена установка на Eclipse 2022-09.
  • Исправлена ошибка в запросе MS SQL таблиц.
  • Добавлены пропущенные ссылки на объекты в MS SQL.

Удалено

  • Прекращена поддержка версий PostgreSQL ниже 10.
  • Удалена форма для отправки обратной связи через Eclipse.

6.6.0 - 2022-09-27

Добавлено

  • Добавлена поддержка объектов COLLATION.
  • Добавлена возможность генерировать создание CONSTRAINT-ов с использованием NOT VALID/VALIDATE в скриптах миграции (CLI-опция --generate-constraint-not-valid).
  • Добавлена возможность изменять параметр trustServerCertificate для MS SQL подключений.
  • Добавлена CLI-опция --update-project для обновления проекта в режиме --parse.
  • Добавлена CLI-опция --clear-lib-cache для очистки кэша библиотек.

Изменено

  • Добавлена возможность наката выделенных объектов в редакторе проекта.
  • Доработан механизм быстрого исправления имени файла для FUNCTION, USER MAPPING, CAST.
  • Добавлено отображение текущей группы в меню выбора базы данных.
  • Отключены повторные запуски парсера по нажатию пкм в редакторе SQL.

6.5.3 - 2022-08-05

Изменено

  • Добавлена рекурсивная обработка вложенных директорий с PRE/POST скриптами..
  • Установлена минимальная ширина для меню выбора БД на панели инструментов Eclipse.

Исправлено

  • Исправлена ошибка при отсутствии PRE/POST файлов и директорий в UI.
  • Исправлен запрос расположения файла при первом сохранении глобальных PRE/POST скриптов.

6.5.2 - 2022-08-03

Добавлено

  • Добавлены PRE/POST скрипты для миграций. В проекте возможно создать директории PRE и POST, содержимое которых будет добавлено в начало и конец основного скрипта миграции. Также доступны PRE/POST скрипты в глобальных настройках и в опциях CLI.
  • Добавлена поддержка поиска зависимостей при анализе выражений для вызовов функций с передачей параметров по имени.
  • Добавлена поддержка опций DISABLE для триггеров.
  • Добавлена поддержка парсинга зарезервированных слов в квалифицированных именах объектов.

Изменено

  • Улучшено отображение меню выбора БД на панели инструментов Eclipse.

6.5.1 - 2022-07-11

Исправлено

  • Исправлена ошибка при чтении USER MAPPING с выключенными привилегиями объектов.
  • Исправлено отображение меню выбора БД в редакторе SQL.

6.5.0 - 2022-07-11

Добавлено

  • Добавлена возможность группировки подключений к БД по пользовательским группам. Группы отображаются в виде подменю для удобства выбора подключения к БД.
  • Добавлена возможность импорта/экспорта списка подключений к БД.
  • Добавлена возможность генерировать DROP/CREATE команды с опциями IF (NOT) EXISTS, а так же удалять некоторые объекты непосредственно перед их созданием (CLI опции --generate-exist и --drop-before-create).
  • Добавлена поддержка объектов USER MAPPING.

Исправлено

  • Исправлена отсутствующая зависимость композитных типов.
  • Исправлена последовательность создания объектов: INDEX генерируется до CONSTRAINT.
  • Исправлен анализ выражений и поиск зависимостей в командах SELECT ... LATERAL.

6.4.3 - 2022-04-21

Изменено

  • Изменение значения SEQUENCE START теперь генерирует команду ALTER ... START вместо RESTART.

Исправлено

  • Исправлен порядок команд в скрипте миграции при удалении колонки и ее CONSTRAINT. Исправлены ошибки при чтении объектов CONSTRAINT.
  • Режим создания скрипта только с выбранными объектами (CLI --selected-only) более не скрывает команды refreshsqlmodule MS SQL и не переносит их в конец скрипта.

6.4.2 - 2022-04-11

Изменено

  • Обновлены все библиотечные зависимости ядра программы. Новый драйвер mssql-jdbc (10.2) работает с шифрованием по-умолчанию. Для сохранения старого поведения, подключения к MS SQL выполняются с параметром trustServerCertificate=true. Для включения проверки сертификата сервера укажите trustServerCertificate=false в свойствах или в строке подключения.

Исправлено

  • Исправлена ошибка генерации кода пересоздания функции в виде процедуры и наоборот.
  • Исправлена ошибка при открытии временного редактора SQL на Windows.

6.4.1 - 2022-03-28

Исправлено

  • Исправлена ошибка парсинга foreign options и других параметров объектов.

6.4.0 - 2022-03-25

Добавлено

  • Добавлена возможность рекурсивной загрузки библиотек pgCodeKeeper, на которые ссылаются другие библиотеки, подключенные к проекту. Библиотека с зависимостями должна быть в формате проекта (или архива проекта) и содержать файл .dependencies с зависимостями этой библиотеки. Эта возможность выключена по-умолчанию, поэтому поведение существующих проектов не изменится. Включить новый механизм можно в настройках проекта. В общем случае, для загрузки зависимостей библиотеки, контейнер этой библиотеки должен иметь включенную настройку loadNested в файле .dependencies. Например, в цепочке зависимостей project → lib1 → lib2 → lib3 для загрузки lib2 настройка должна быть включена в project, а для загрузки lib3 настройка должна быть включена в project и в lib1.
  • Добавлено отображение библиотек и их содержимого в Project Explorer.
  • Добавлена возможность отключения хранения паролей в безопасном хранилище Eclipse при его нестабильной работе. В этом случае пароли БД будут храниться открытым текстом в рабочем пространстве Eclipse (workspace). Также, возможно использовать пароли из файла .pgpass.
  • Добавлена настройка ограничения количества строк, получаемых при выполнении SELECT.

Изменено

  • Улучшено форматирование SQL кода, исправлены ошибки.
  • Добавлена генерация пересоздания для неперемещаемых (relocatable) расширений.

Исправлено

  • Исправлена ошибка потери переноса строки в начале некоторых выражений.

6.3.3 - 2022-01-13

Исправлено

  • Исправлена потеря данных при изменении атрибутов типа колонки при миграции данных.

6.3.2 - 2021-12-10

Исправлено

  • Исправлена установка на Eclipse 2021-12.

6.3.1 - 2021-11-18

Исправлено

  • Исправлено чтение стандартных тел функций по JDBC.

6.3.0 - 2021-11-17

Добавлено

  • Добавлена поддержка PostgreSQL 14:
    • поддержка парсинга новых синтаксисов SQL и PL/pgSQL
    • поддержка стандартного написания тел функций, без заворачивания тела в строку
    • поддержка опции COMPRESSION в колонках таблиц
    • поддержка опций MULTIRANGE и SUBSCRIPT в типах
    • поддержка использования ключевых слов как имен колонок в SELECT без AS
    • удалена поддержка постфикс унарных операторов

Исправлено

  • Исправлена ошибка парсинга SELECT ... INTO в PL/pgSQL IF-выражении.

6.2.0 - 2021-10-12

Добавлено

  • Добавлена поддержка объектов SERVER и FOREIGN DATA WRAPPER.
  • Добавлена возможность рефакторинга SQL кода. Теперь объекты в SQL коде можно переименовывать вместе со ссылками на них. Эта возможность доступна в контекстном меню редактора SQL или по горячей клавише Alt+Shift+R.
  • Добавлена возможность поиска ссылок на объекты в SQL коде. Теперь в редакторе SQL можно найти все распознанные ссылки на текущий выбранный объект. Эта возможность доступна в контекстном меню редактора SQL или по горячей клавише Ctrl+Shift+G.
  • Добавлено быстрое исправление ошибок некорректного расположения объектов. Эта возможность доступна во всплывающей подсказке или в контекстном меню Quick Fix редактора SQL. При использовании быстрого исправления файл объекта будет перемещен на ожидаемое для него место в проекте.
  • Добавлена опция автоматического форматирования кода объектов при сравнении и сохранении в проект.

Изменено

  • Улучшено отображение всплывающих подсказок в редакторе SQL.

Исправлено

  • Исправлено ошибочное требование Java 11 для CLI версии.
  • Исправлена ошибка с генерацией кода миграции данных для таблиц с IDENTITY колонками.

6.1.0 - 2021-08-16

Добавлено

  • Добавлена возможность выборочной загрузки схем при чтении проекта или БД по JDBC. Исключение схем позволяет ускорить загрузку БД или проекта. Объекты в исключенных схемах не могут быть использованы при генерации скриптов миграции. Подробнее см. документацию.
  • Добавлено описание структуры проекта и работы программы в README.

Изменено

  • Улучшена работа ссылок на функции в редакторе SQL, а также зависимости от функций.
  • Добавлен фильтр по типу БД в выпадающем списке БД в редакторе проекта.
  • Удалено лишнее меню Show In в Project Explorer.

Исправлено

  • Исправлено ложное различие в привилегиях функций с GRANT для PUBLIC.
  • Исправлено отображение комбобокса БД в редакторе проекта под KDE.
  • Исправлена ошибка в генерации кода миграции данных при пересоздании таблицы.
  • Исправлена ошибка парсинга ALTER TABLE SWITCH TO в MS SQL.

6.0.0 - 2021-08-07

Добавлено

  • Добавлена возможность форматирования кода функций на языках plpgsql и sql. Реализована расстановка отступов, переносов строк, замена табов на пробелы; расстановка пробелов вокруг операторов и удаление пробелов в конце строки. Функциональность форматирования будет дорабатываться в дальнейшем.

Изменено

  • Редактор проекта запоминает последний выбор направления применения изменений при повторном открытии.
  • В редакторе проекта добавлен выпадающий список подключений БД для более удобного выбора подключения.

Исправлено

  • Исправлены ошибки при чтении схемы БД по JDBC в случаях, когда объекты разных типов имеют одинаковые oid.

5.11.3 - 2021-04-09

Исправлено

  • Исправлена ошибка дублирования объекта при использовании расширения pg_dbo_timestamp.

5.11.2 - 2021-03-25

Исправлено

  • Исправлен парсер меток блокировки plpgsql.

5.11.1 - 2021-03-22

Добавлено

  • Добавлена полная поддержка нового синтаксиса объектов, представленных в PostgreSQL 13.
  • Редактор проекта теперь четко показывает выбранный в данный момент источник для сравнения схем и место назначения для применения выбранных изменений.

5.11.0 - 2021-03-18

Добавлено

  • Начиная с этой версии, pgCodeKeeper требует Eclipse 2020-06 (4.16) или выше.
  • Улучшен интерфейс редактора проекта, исправлены ошибки отображения GUI под Windows. Подробнее см. документацию.
  • Улучшен CLI режим вывода графа зависимостей объектов. Теперь вывод можно фильтровать по типам объектов, объекты выводятся упорядоченно. Подробнее см. CLI помощь по параметру --graph-filter-object.
  • В анализе выражений добавлена поддержка вызовов функций с использованием null, anyelement и т.д. типов.

Исправлено

  • Исправлено падение при анализе WITH RECURSIVE выражений.
  • Исправлен поиск ссылок на функции с INOUT аргументами.
  • Исправлено сравнение индексов при включенной опции генерации кода с CONCURRENTLY.
  • Исправлено падение при чтении IDENTITY SEQUENCE по JDBC.
  • Исправлены ошибки в парсере идентификаторов.

5.10.8 - 2020-12-02

Добавлено

  • Добавлена возможность миграции данных при пересоздании таблиц.
  • Добавлена возможность копирования имен объектов в редакторе проекта.

Исправлено

  • Исправлено поведение меню Снять выбор с дочерних элементов в редакторе проекта.
  • Исправлены зависимости индексов и констрейнтов от колонок таблицы.
  • Исправлены ошибки при выполнении некоторых SQL команд.

5.10.7 - 2020-08-27

Исправлено

  • Исправлена проверка квалифицированных имен объектов в списках игнорирования.
  • Исправлено сохранение списков игнорирования с зарезервированными словами.
  • Исправлено пересоздание триггера в миграциях MS SQL.
  • Исправлен вывод ALTER SCHEMA в логе выполнения скрипта.
  • Исправлена ошибка в интерфейсе редактора проекта.

5.10.6 - 2020-08-13

Изменено

  • Специальные символы в именах файлов теперь заменяются на '_'. При совпадении имен файлов для разных объектов они будут храниться в одном файле.
  • В диалоговое окно настроек получения изменений добавлена пропущенная опция "Игнорировать порядок колонок".
  • Улучшен интерфейс редактирования подключения к БД.
  • Улучшена сборка для Mac OS X.

Исправлено

  • Исправлена ошибка распознавания проекта при импорте.
  • Исправлена проверка расположения объектов под Windows.
  • Исправлены ошибки в парсере MS SQL.
  • Исправлен анализ выражений при изменении отдельных файлов в MS SQL проектах.

5.10.5 - 2020-07-29

Добавлено

  • Добавлены самостоятельные сборки pgCodeKeeper, не требующие предварительной установки Eclipse. Сборки доступны для скачивания на Github. Предыдущие версии сайтов обновления pgCodeKeeper теперь также доступны на гитхабе. Основной сайт обновления теперь содержит только последнюю версию.
  • Добавлена настройка создания миграции только для выбранных объектов без изменения зависимостей. В CLI режиме "выбранными" считаются объекты, прошедшие через фильтры разрешенных объектов и списки игнорирования, либо все объекты, если эти фильтры не заданы.
  • Добавлена настройка игнорирования различий в порядке колонок таблиц.

Изменено

  • Улучшена генерация команд COMMENT ON.

Исправлено

  • Исправлены зависимости между операторами и их функциями.

5.10.4 - 2020-07-15

Исправлено

  • Исправлена ошибка с чтением схем FOREIGN TABLE по JDBC.
  • Исправлена совместимость с PostgreSQL 9.4 при чтении схемы по JDBC.
  • Исправлен порядок команд для зависимостей между функциями.
  • Исправлена ошибка, из-за которой проверка пути к объекту учитывала регистр.
  • Исправлена ошибка в анализе выражений.
  • Исправлено падение при парсинге некорректной команды MS SQL.
  • Исправлен экспорт типов при инициализации MS SQL проекта.

5.10.3 - 2020-07-02

Добавлено

  • Добавлена подсветка вхождений выбранного объекта в SQL редакторе.
  • Добавлены предупреждения о неправильном расположении объектов.
  • Добавлена поддержка вложенных комментариев.

Изменено

  • Улучшен диалог фильтра объектов.

Исправлено

  • Удалены дубликаты маркеров ошибок.
  • Исправлена ошибка при ошибке в последнем символе в строке в скрипте наката.

5.10.2 - 2020-06-18

Исправлено

  • Исправлена ошибка в сборщике проекта.

5.10.1 - 2020-06-16

Добавлено

  • Добавлена поддержка объектов POLICY.

Изменено

  • Улучшено отображение комментариев в Outline редактора SQL.

Исправлено

  • Исправлена ошибка с генерацией кода комментария для DOMAIN CONSTRAINT.
  • Исправлена ошибка с игнорированием комментариев перед MS объектами при накате.
  • Исправлены ошибки с недостающими/лишними ссылками на объекты.

5.10.0 - 2020-06-03

Добавлено

  • Переделан поиск ссылок на объекты. Теперь ссылки на объекты собираются при анализе тел функций, запросов VIEW, и всех других выражений. Неточный способ поиска по тексту выражений более не используется.
  • В Редакторе проекта добавлена возможность фильтрации по колонкам. Будут отображены таблицы с изменениями в колонках.

Изменено

  • Улучшена поддержка эскейп схем SQL строк.

Исправлено

  • Исправлена ошибка в парсере SQL в именах колонок SELECT.
  • Исправлены ссылки на объекты в COMMENT ON.
  • Исправлено падение при парсинге скриптов MS SQL.

5.9.14 - 2020-05-20

Исправлено

  • В JDBC загрузчике исключены объекты CAST, принадлежащие расширениям.
  • Исправлено содержимое выпадающего списка БД на панели инструментов при переключении редакторов.

5.9.13 - 2020-05-19

Изменено

  • Улучшен интерфейс выпадающего списка выбора БД. Увеличена ширина списка на панели инструментов Eclipse.

Исправлено

  • Исправен порядок добавления новых колонок в таблицу для сохранения указанного пользователем порядка.
  • Исправлены ложные различия в изменении порядка комментариев на колонках VIEW.

5.9.12 - 2020-04-29

Добавлено

  • Добавлена поддержка объектов CAST.
  • В списки игнорирования объектов добавлен флаг QUALIFIED, проверяющий совпадение правила с квалифицированным именем объекта.
  • Сборщик проекта использует подключенные библиотеки при полной сборке, и не отмечает использование библиотечных объектов как ошибки.

Исправлено

  • Исправлено отображение списка подключений к БД и других списков на Windows.
  • Исправлено падение при парсинге пустого скрипта миграции.

5.9.11 - 2020-04-16

Добавлено

  • Добавлено предупреждение о недостаточном объеме Java heap памяти для работы с большими проектами.

Изменено

  • Улучшен вывод лога команд и уведомления об ошибках при выполнении скрипта.
  • Улучшен список команд, отображаемых в Outline редактора SQL, а так же в Project Explorer.

Исправлено

  • Исправлена ошибка в интерфейсе отображения результатов запросов.
  • Исправлена ошибка парсинга WITH (reloptions) в индексах, таблицах и т.д.
  • Исправлено отсутствие ссылок для объектов, используемых в телах функций и триггерах.

5.9.10 - 2020-03-11

Добавлено

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

Изменено

  • Из файла настроек проекта .settings/ru.taximaxim.codekeeper.ui.prefs вынесены вспомогательные настройки.
  • Улучшены правила PL/pgSQL парсера.

Исправлено

  • Исправлена ошибка при чтении агрегатныx функций с сортировкой по VARIADIC "any".

5.9.9 - 2020-02-19

Добавлено

  • Добавлена возможность выключения парсера SQL редактора для больших файлов для улучшения скорости работы.
  • В списке подключений БД, списках игнорирования, списках библиотек и др. теперь возможно перетаскивать элементы.
  • Добавлена возможность задания кодировки при импорте проекта.

Изменено

  • Мастер сравнения теперь использует глобальный список игнорируемых объектов.
  • Улучшен парсер PL/pgSQL INTO конструкции.
  • Улучшена скорость анализа выражений для MS SQL.

Исправлено

  • Исправлена генерация кода для изменений IN/INOUT режимов аргументов функции.
  • Исправлено падение сборщика проекта при ошибке в анализе выражений.

5.9.8 - 2020-01-28

Добавлено

  • Добавлена поддержка новых свойств объектов, введенных в PostgreSQL 12.
  • Добавлена CLI опция --ignore-errors для игнорирования ошибок парсера и анализа кода.
  • Добавлена поддержка PostgreSQL строк, разделенных переносами строки.

Изменено

  • Отслеживание зависимостей выключено для тел функций PostgreSQL в связи с нестабильной работой.
  • Включен поиск зависимостей в выражениях значений по-умолчанию в MS SQL.
  • Улучшены сообщения об ошибках в анализе выражений.
  • Улучшено сравнение PostgreSQL VIEW без учета незначимых символов (whitespace)..

5.9.7 - 2019-12-24

Исправлено

  • Исправлена ошибка при анализе RETURNING DML команд, находящихся в CTE.
  • Исправлена ошибка в bat-файле запуска Windows CLI при передаче строк со специальными символами из PowerShell.

5.9.6 - 2019-12-16

Изменено

  • Включена обработка зависимостей функций PostgreSQL при изменении их тел.
  • Уменьшено количество объектов, пересоздаваемых при изменении тел функций, от которых они зависят.

Исправлено

  • Исправлен парсер CREATE FDW.
  • Исправлен парсер SELECT ... FOR.
  • Исправлена ошибка в переопределении настроек перед запуском операции.

5.9.5 - 2019-12-09

Изменено

  • Оптимизирована генерация скриптов миграций для сложных/больших графов зависимостей объектов.
  • Улучшено сообщение об ошибке при сохранении паролей в безопасном хранилище.
  • Улучшена возможность отмены чтения БД по JDBC.

5.9.4 - 2019-11-29

Добавлено

  • Добавлена возможность переопределения настроек перед запуском Получения изменений и генерацией скрипта миграции. Переопределенные настройки используются один раз и не влияют на настройки программы и проекта. Переопределяемые настройки добавлены в Мастер сравнения.
  • Добавлена поддержка MEMORY_OPTIMIZED таблиц в MS SQL.

Изменено

  • Оптимизирован анализ выражений: выключено отладочное логирование, анализ запускается параллельно в несколько потоков, анализ представлений выполняется в один проход и не требует граф зависимостей.
  • Анализ выражений выполняется последним шагом при загрузке любой БД. Данные оптимизации уменьшили время выполнения анализа в 4 раза относительно предыдущей версии (зависит от количества CPU).
  • Улучшен вывод сообщений об ошибках при сохранении паролей в безопасном хранилище Eclipse.

Исправлено

  • Исправлена генерация кода при изменений свойств ANSI_NULLS и QUOTED_IDENTIFIER в MS SQL.
  • Исправлено исполнение скриптов MS SQL содержащих единственный пакет (batch) команд.

5.9.3 - 2019-11-19

Исправлено

  • Исправлен парсинг RETURN QUERY EXPLAIN.

5.9.2 - 2019-11-14

Добавлено

  • Пароли баз данных теперь хранятся в зашифрованном Безопасном хранилище Eclipse. Пароли в файле .pgpass поддерживаются как раньше.
  • Добавлена возможность освобождения памяти кэша парсера после периода неактивности или при необходимости. Интервал неактивности по-умолчанию равен 30 минутам и может быть изменен в настройках программы. Кэш парсера существенно повышает скорость парсинга, но может занимать сотни МБ Java heap, что может быть нежелательным при редком использовании парсера.

Изменено

  • Добавлен обход потенциального дедлока GUI на Linux.
  • Добавлена зависимость запросов SELECT к PRIMARY KEY, колонки которых используются в секции GROUP BY.
  • Зависимости колонок добавлены в граф панели pgDependencies.

Исправлено

  • Исправлена ошибка в привилегиях функции по-умолчанию при изменении владельца.
  • Исправлен порядок генерируемых команд в случаях циклических зависимостей между функциями и таблицами.

5.9.1 - 2019-10-31

Добавлено

  • В CLI добавлена возможность выполнения сгенерированного скрипта на базе данных (опции --run-on и --run-on-target).

Изменено

  • Улучшены сообщения об ошибках парсинга.
  • Добавлены зависимости объектов Full Text Search от используемых ими функций.
  • Улучшен интерфейс отображения результатов запросов: вкладкам добавлено контекстное меню, добавлена возможность закрытия вкладки средней кнопкой мыши.

Исправлено

  • Исправлены ошибки в парсере PL/pgSQL, оптимизирован анализ кода.
  • Исправлены проблемы с генерацией кода при изменениях OWNED BY свойства последовательностей, удалении последовательностей и др.
  • Исправлена проблема с неправильным порядком создания зависимостей колонок при создании таблицы.
  • Исправлена проблема с поиском зависимостей в выражениях при использовании конструкций COALESCE, NULLIF и т.д.
  • Исправлена генерация кода при работе с партиционированными индексами.

5.9.0 - 2019-10-16

Изменено

  • Включен анализ кода функций на языке PL/pgSQL: обрабатываются зависимости, используемые телами функций, подсвечиваются ошибки в их коде. Зависимости от тел функций к другим функциям отключены по-умолчанию. Работа с проектами, содержащими большое количество PL/pgSQL кода, может потребовать больше памяти чем прежде, из-за увеличившегося объема парсинга.

5.8.3 - 2019-10-10

Исправлено

  • Исправлена ошибка при работе с PostgreSQL 12.
  • Исправлены отчеты об ошибках, найденных в подключенных к проекту pgCodeKeeper библиотеках, а так же в самих проектах, при их чтении в CLI.
  • Исправлена ошибка при использовании идентификатора LIST.
  • Исправлена кодировка скриптов мастера сравнения.
  • Исправлена ошибка при анализе объектов, полученных из JDBC.

5.8.2 - 2019-10-02

Изменено

  • Формат данных, копируемых из результата запроса изменен для совместимости с SQL и CSV (копируются SQL строки).

Исправлено

  • Исправлена ошибка при открытии скрипта мастера сравнения.

5.8.1 - 2019-10-10

Добавлено

  • При обнаружении ошибок в загружаемых SQL файлах в CLI режиме операция завершается с ошибкой.
  • Добавлена генерация кода REFRESH MATERIALIZED VIEW при изменениях состояния WITH [NO] DATA.

Изменено

  • В парсер SQL добавлена поддержка конструкций XMLTABLE, TABLESAMPLE, SELECT INTO.
  • В парсер MS SQL добавлена поддержка триггерной функции UDPATE, улучшены правила парсера.

Исправлено

  • Исправлена ошибка при открытии файлов вне pgCodeKeeper проекта в редакторе SQL.

5.8.0 - 2019-09-18

Добавлено

  • Включен анализ тел функций на языке SQL: обрабатываются зависимости, используемые телами функций, подсвечиваются ошибки в их коде. Зависимости от тел функций к другим функциям отключены по-умолчанию (как в MS SQL). Аналогичная функциональность для plpgSQL запланирована на ближайшие релизы.
  • Добавлена возможность открыть редактор SQL для исполнения запросов без создания файла на диске.
  • В SQL редакторе добавлена возможность переключения парсера кода и шаблонов между PostgreSQL и MS SQL для файлов вне pgCodeKeeper проектов.

Изменено

  • Прогресс выполнения скриптов и получения изменений теперь отображается на панели задач Windows.

5.7.0 - 2019-09-03

Добавлено

  • Добавлена глобальная настройка и настройка проекта для чтения представлений в упрощенном формате.
  • Расширены правила ANLTR парсера для PostgreSQL, исправлены ошибки.
  • Возвращено окно с предупреждениями об ошибках во время сравнения.
  • CLI: Добавлен новый режим работы --graph для отображения зависимостей объектов.
  • Добавлен параметр VM ru.taximaxim.codekeeper.parser.poolsize, позволяющий ограничить количество потоков ANTLR парсера. Пример использования в CLI:

Исправлено

  • Исправлена ошибка с EXCLUDE ограничениями.
  • Исправлен устаревший синтаксис в запросе представлений.
  • Исправлена ошибка, связанная с невозможностью выбрать базу данных MS SQL для файлов, находящихся вне проекта.

Удалено

  • CLI: Удален устаревший параметр -l(--lisence).

5.6.1 - 2019-08-14

Исправлено

  • Исправлена ошибка генерации комментария для индексов.

5.6.0 - 2019-08-13

Добавлено

  • Добавлена возможность переопределения некоторых глобальных настроек для проекта.
  • Добавлена поддержка синтаксиса SELECT WITH ORDINALITY.
  • Добавлено изменение текста в фильтре в соответствии с текущим направлением изменений.
  • Добавлена возможность передачи параметров JVM в CLI версии. Все параметры переданные после -vmargs будут переданы JVM.

Исправлено

  • Исправлена ошибка с генерацией GRANT/REVOKE для объектов с именами в кавычках.
  • Исправлена ошибка с типом CHARACTER VARYING в MS SQL.

5.5.3 - 2019-07-30

Исправлено

  • Исправлена зависимость к функциям с модификаторами типа.
  • Исправлена ошибка при открытии SQL файла вне проекта.

5.5.2 - 2019-07-17

Добавлено

  • Добавлена поддержка синтаксиса IDENTITY в определении колонки.
  • Добавлена поддержка команды ALTER EXTENSION в парсер SQL.

Изменено

  • В свойствах проекта добавлена возможность редактирования списка исключения по-умолчанию.
  • Улучшена обработка зависимостей между колонками наследованных таблиц.
  • Список подключенных библиотек в Project Explorer теперь показывает имена файлов для URL.

5.5.1 - 2019-07-02

Изменено

  • В диалоге свойств подключения к БД добавлено поле домена для включения доменной аутентификации в MS SQL.
  • Улучшен вывод контекстной информации об ошибках при выполнении SQL скриптов.

Исправлено

  • Исправлен порядок операций с колонками партиционированных таблиц с учетом зависимостей между ними.
  • Исправлены ошибки в интерфейсе автоподстановки шаблонов в редакторе SQL.

5.5.0 - 2019-06-19

Добавлено

  • Обновлены шаблоны кода SQL редактора. Мастер создания SQL объектов создает новые объекты с помощью шаблонов для удобства дальнейшего редактирования.
  • Автодополнение кода в SQL редакторе разделено на категории: идентификаторы и ключевые слова, и шаблоны. Переключение между категориями осуществляется повторными нажатиями клавиш автодополнения (Ctrl+Space).
  • Обновлен MS SQL драйвер JDBC. Новая версия позволяет использовать доменную NTLM аутентификацию с помощью задания дополнительных свойств подключения.

Исправлено

  • Исправлено слишком широкое условие изменения функции с параметрами по-умолчанию. Оно вызывало излишние пересоздания зависимых объектов.
  • Исправлена генерация кода для выдачи PUBLIC привилегий функциям, процедурам и типам.
  • Исправлена генерация кода комментария индекса при его изменении в режиме CONCURRENTLY.

5.4.10 - 2019-06-05

Изменено

  • Идентичные объекты в проекте и библиотеке не считаются переопределениями, и не блокируют работу при включенном запрете переопределений.
  • Добавлена возможность редактирования пути или URL в списке библиотек.
  • При переопределении привилегий "пустым списком" используются привилегии по-умолчанию для данного объекта.

Исправлено

  • Исправлена уязвимость при распаковке zip архивов.

5.4.9 - 2019-04-30

Изменено

  • При изменении индекса в режиме CONCURRENTLY генерируется оптимизированный код, минимизирующий время отсутствия индекса на таблице.
  • Для изменений индексов MS SQL генерируется код с DROP_EXISTING без удаления существующего объекта.
  • Удаление колонок производится только в указанной таблице с помощью указания ONLY.
  • Указание ONLY выключено для операций SET NOT NULL, которые невозможно выполнить только на родительской таблице.
  • При создании колонки с NOT NULL не генерируются отдельные команды для выставления NOT NULL и DEFAULT.
  • В парсер MS SQL добавлена поддержка указания нескольких действий в команде ALTER TABLE.

5.4.8 - 2019-04-17

Добавлено

  • Добавлена возможность привязки проекта к подключению БД. Привязанный проект возможно использовать только с выбранным подключением.
  • Добавлена возможность настройки внешнего загрузчика (pg_dump или другого) для каждого подключения БД. Параметры подключения передаются загрузчику через переменные окружения, описанные в документации pg_dump.
  • Типы изменения объектов в редакторе проекта теперь отображаются с учетом выбранного направления миграции.

Исправлено

  • Исправлено некорректное сравнение отступов в тексте пользовательских типов MS SQL.

5.4.7 - 2019-04-02

Исправлено

  • Исправлена обработка зависимостей для представлений, функций, процедур и триггеров MS SQL.
  • Исправлена ошибка в сравнении объектов последовательностей MS SQL, использующих системные типы.
  • Исправлена ошибка в сравнении объектов функций PostgreSQL.
  • Исправлена ошибка в обработчике парсера MS SQL для команды DROP TRIGGER.
  • Исправлено поведение опции сохранения переопределений привилегий в диалоге обновления проекта.
  • Исправлена ошибка при сортировке редактора проекта по пользователям git и БД.
  • Исправлено зависание интерфейса при запуске больших скриптов.

5.4.6 - 2019-03-19

Добавлено

  • Добавлена возможность сортировки колонок пользователей git и БД в редакторе проекта.
  • Добавлена опция продолжения чтения схемы БД при получении неконсистентных состояний объектов.

Исправлено

  • Исправлены ошибки поиска зависимостей в выражениях и функциях MS SQL.

5.4.5 - 2019-03-11

Добавлено

  • Добавлена возможность выполнения запросов данных из SQL редактора. Полученные данные отображаются в представлении Результат запроса.

Исправлено

  • Исправлен код создания индексов на партиционированных таблицах.
  • Исправлено название опции правила черного/белого списка, применяющее его к содержимому объекта.

5.4.4 - 2019-03-05

Изменено

  • Отключен вывод sp_refreshsqlmodule для объектов кроме VIEW.

5.4.3 - 2019-02-27

Добавлено

  • Добавлена поддержка T-SQL скриптов, начинающихся с команды GO.
  • Добавлена поддержка скриптов PostgreSQL без завершающей точки с запятой.

5.4.2 - 2019-02-27

Исправлено

  • Исправлено ошибочное чтение TABLESPACE для FOREIGN KEY.

5.4.1 - 2019-02-26

Исправлено

  • Исправлена ошибка невыполнения команд при запуске скриптов.

5.4.0 - 2019-02-26

Добавлено

  • Изменен механизм работы с проектом и search_path. Ожидается, что все объекты в проекте квалифицированы через схему, в противном случаем будет показано предупреждение. Ссылки на неквалифицированные объекты считаются ссылками на системную схему.
  • Добавлен сборщик проекта для MS SQL.
  • Добавлена поддержка индексов в секционированных таблицах и материализованных представлениях.
  • Добавлена поддержка TABLESPACE в ограничениях таблицы.

Изменено

  • Улучшен механизм работы с опасными выражениями. Проверка на содержание опасных выражений происходит непосредственно перед исполнением скрипта.
  • Улучшен механизм обновления зависимых объектов в MS SQL. Изменения функций, процедур, представлений, триггеров, а также типа и количества колонок таблицы вызывает обновление зависимых объектов.
  • Улучшены и оптимизированы правила SQL парсера.

Исправлено

  • Исправлена ошибка, дублирующая FOREIGN KEY для дочерних таблиц в секционированных таблицах в PostgreSQL 11.
  • Исправлена ошибка при чтении имени сервера в FOREIGN TABLE.

5.3.9 - 2019-02-12

Добавлено

  • Добавлена поддержка объектов пользовательских агрегатных функций.
  • Добавлена поддержка синонимов типов данных PostgreSQL. Синонимы конвертируются в стандартные типы "на лету", использование разных синонимов не считается различием объектов.

Изменено

  • Улучшены и оптимизированы правила SQL парсера.

Исправлено

  • Исправлена ошибка "too many open files" при параллельном запуске парсеров.
  • Исправлен механизм сбора и показа ошибок SQL при параллельном запуске парсеров.

5.3.8 - 2019-02-01

Добавлено

  • Добавлена поддержка парсера для пустых SQL команд.

Исправлено

  • Исправлена генерация скрипта для зависимых объектов функции при изменении ее параметров "по-умолчанию".

5.3.7 - 2019-01-30

Исправлено

  • Исправлена утечка консолей в интерфейсе программы.
  • Исправлен сборщик MS SQL для параллельного запуска парсеров.

5.3.6 - 2019-01-29

Добавлено

  • Добавлена поддержка модификаторов пользовательских типов в PostgreSQL.

Изменено

  • Ускорена загрузка проектов путем параллельного запуска парсеров.
  • При генерации миграций MS SQL не изменившиеся зависимые объекты обновляются с помощью sp_refreshsqlmodule вместо пересоздания.

Исправлено

  • Исправлен MS SQL парсер CREATE SCHEMA с определениями объектов.

5.3.5 - 2019-01-15

Добавлено

  • Добавлен вывод прогресса выполнения скрипта в консоль pgCodeKeeper. Результат и ошибки выполнения также выводятся в консоль.

Исправлено

  • Исправлено отсутствие зависимостей от функций, вызываемых с помощью EXEC в MS SQL.

5.3.4 - 2018-12-11

Добавлено

  • Добавлена возможность переопределения владельца для всех объектов библиотеки. Данная функция доступна в GUI и в CLI при подключении библиотек с помощью XML файла. Переопределения в проекте имеют приоритет над переопределением владельца в настройках библиотеки.

Исправлено

  • Исправлены ошибки StackOverflowError при обработке больших БД.
  • Исправлена потеря зависимостей между объектами, полученными из библиотек.

5.3.3 - 2018-12-05

Добавлено

  • Добавлена поддержка специальных синтаксисов вызовов системных функций в MS SQL.

Исправлено

  • Исправлены перепутанные source/target опции XML библиотек в CLI.
  • Исправлена отсутствующая проверка отмены операции при чтении БД по JDBC.

5.3.2 - 2018-11-30

Исправлено

  • Исправлен порядок загрузки: переопределения загружаются последними, в том числе после библиотек.
  • Исправлен экспорт функций MS SQL.

5.3.1 - 2018-11-28

Исправлено

  • Исправлена ошибка при чтении значений по-умолчанию аргументов функций MS SQL по JDBC.

5.3.0 - 2018-11-27

Добавлено

  • Добавлен механизм переопределения владельцев и прав объектов, хранящихся в проекте или библиотеках. Переопределения сохраняются в директории OVERRIDES, структура которой повторяет структуру проекта.
  • В диалог обновления проекта добавлена возможность сохранить выбранные изменения в директорию переопределений.
  • Добавлена поддержка объектов пользовательских типов в MS SQL.
  • Добавлен вывод сообщений для ошибок, найденных при загрузке библиотек.

Изменено

  • CLI режим автоматически использует директорию переопределений.

Исправлено

  • Исправлена ошибка при обновлении файлов представлений (VIEW) с триггерами.

5.2.1 - 2018-11-20

Исправлено

  • Исправлена ошибка отбрасывания REVOKE PUBLIC привилегий для функций и типов.

5.2.0 - 2018-11-13

Добавлено

  • Добавлена поддержка процедур в PostgreSQL 11. Также исправлено чтение функций через JDBC в PostgreSQL 11.
  • В парсер добавлена поддержка нового синтаксиса, введенного в PostgreSQL 11.
  • Добавлена обработка зависимостей между всеми объектами MS SQL.
  • Добавлена возможность использования zip-архивов как библиотек pgCodeKeeper проектов.
  • Добавлена возможность подключения файлов библиотек при помощи указания URL удаленных ресурсов.
  • В CLI добавлена возможность подключения библиотек с помощью XML списков (файлы .dependencies, см. параметр --src-lib-xml).

Изменено

  • Привилегии, по-умолчанию существующие у объектов, не записываются в файлах проекта.
  • При изменении порядка колонок в таблице в миграции генерируются команды для ее пересоздания.

Исправлено

  • Исправлена обработка минимумов и максимумов последовательностей в MS SQL.
  • Исправлена обработка параметров конфигурации функций PostgreSQL в соответствии с исправлениями в pg_dump.
  • Правила допустимых имен пользовательских операторов исправлены в соответствии со спецификацией PostgreSQL.
  • Исправлено сравнение INCLUDE колонок в индексах. Порядок при их сравнении не учитывается.

5.1.7 - 2018-10-24

Исправлено

  • Выключено чтение операторов, принадлежащих расширениям (EXTENSION).

5.1.6 - 2018-10-23

Добавлено

  • Добавлена поддержка объектов OPERATOR в PostgreSQL.
  • Генерация миграций MS SQL с учетом порядка зависимостей между объектами и представлениями (VIEW).

Изменено

  • Перед удалением роли в MS SQL из нее удаляются все члены.

Исправлено

  • Исправлено чтение параметра TEXTIMAGE_ON для таблиц MS SQL.
  • Исправлена ошибка скрипта запуска CLI под Windows при работе из директории с пробелами в пути.
  • Исправлена ошибка JDBC загрузки при отсутствии схемы для сохранения объекта.

5.1.5 - 2018-10-10

Исправлено

  • Исправлены ошибки в поддержке MS SQL.

5.1.4 - 2018-10-08

Добавлено

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

Изменено

  • Значительно расширено покрытие команд SQL парсерами.
  • При работе с кодом объектов MS SQL PROCEDURE, FUNCTION, TRIGGER, VIEW используется пользовательское форматирование.
  • Изменен алгоритм добавления NOT NULL для колонок (используется UPDATE). UPDATE добавлен в список опасных выражений.
  • Улучшено логирование ошибок.

Исправлено

  • Исправлена ошибка при чтении схемы MS SQL по JDBC при отсутствии необходимых прав.
  • Исправлена ошибка при чтении и парсинге RULE c командой SELECT.
  • Исправлена ошибка парсинга для USER в MS SQL.
  • Исправлена ошибка записи дробных значений FUNCTION COST и ROWS.

5.1.3 - 2018-09-27

Исправлено

  • Исправлены ошибки в поддержке MS SQL.

5.1.2 - 2018-09-24

Исправлено

  • Исправлена ошибка закавычивания значений по-умолчанию у параметров процедур MS SQL.

5.1.1 - 2018-09-24

Добавлено

  • Добавлена возможность выполнения T-SQL скриптов на базах MS SQL. Теперь скрипты разбиваются парсерами на отдельные команды, которые затем отправляются на БД. В случае T-SQL скриптов, команды собираются в пакеты с помощью разделителей GO.
  • Добавлена поддержка MS SQL объектов ASSEMBLY, ROLE, USER.
  • Выпадающие списки БД теперь фильтруются по типу (PG/MS) в зависимости от контекста.

Изменено

  • Улучшена работа парсера T-SQL, исправлено большинство неоднозначностей, остававшихся в грамматике парсера. Улучшены сообщения об ошибках парсера.
  • Анализ выражений теперь производится после загрузки всех подключенных библиотек для избежания ошибок со ссылками на еще не загруженные объекты.

Исправлено

  • Исправлены ошибки ложных различий и неправильной загрузки объектов MS SQL.
  • Исправлены ошибки с чтением и записью DEFERRED состояния для CONSTRAINT TRIGGER.
  • Исправлено падение загрузки БД при анализе выражений, содержащих ссылки на несуществующие объекты. Для таких ссылок теперь отображаются ошибки в соответствующих файлах.

5.1.0 - 2018-09-06

Добавлено

  • Добавлена поддержка работы с Microsoft SQL Server в тестовом режиме.

5.0.3 - 2018-08-09

Изменено

  • В CLI версии расширен параметр -Z: значение временной зоны используется при чтении БД.
  • В парсер добавлена поддержка новых команд.

Исправлено

  • Исправлена ошибка при получении временной зоны из БД при создании нового проекта.
  • Исправлена блокировка интерфейса при использовании диалога обратной связи.

5.0.2 - 2018-08-01

Исправлено

  • Исправлена квалификация пользовательских типов при чтении из базы данных.

5.0.1 - 2018-08-01

Исправлено

  • Исправлена ошибка при чтении объектов таблиц: ограничений, индексов, правил и триггеров.
  • Исправлена ошибка при чтении IDENTITY SEQUENCE.

5.0.0 - 2018-08-01

Изменено

  • Изменена генерация SQL кода. Теперь все SQL выражения создаются для search_path = pg_catalog. Это изменение повышает безопасность и стабильность сгенерированного кода, подробнее см. изменения PostgreSQL 10.3. Вследствие этого, при сравнении проектов с БД, будут найдены различия в квалификации имен. Проекты необходимо привести к новому формату, сохранив эти различия. Использование постоянного search_path для генерации SQL кода позволяет JDBC загрузчику читать объекты одном запросом из всех схем сразу. Это значительно ускоряет скорость загрузки схемы и позволяет избавиться от серверных хелпер функций, они более не используются. Также значительно ускоряется работа с расширением pg_dbo_timestamp.
  • Изменено местоположение SQL файлов схем в проекте. Теперь они хранятся не в общей директории SCHEMA, а каждый в директории своей схемы. При открытии проектов старого формата, pgCodeKeeper предложит переместить файлы схем на их новое местоположение.

4.6.1 - 2018-07-19

Исправлено

  • Исправлено чтение безымянного параметра функции с типом character varying.
  • Исправлена совместимость с Eclipse 4.8.
  • Уменьшающиеся последовательности (SEQUENCE) исправлены для соответствия имплементации PostgreSQL 10.
  • Исправлена обработка ограничений (CONSTRAINT) при работе с расширением pg_dbo_timestamp.

4.6.0 - 2018-06-21

Добавлено

  • Добавлена поддержка объектов TEXT SEARCH: CONFIGURATION, DICTIONARY, PARSER, TEMPLATE. Отслеживание этих объектов добавлено в расширение pg_dbo_timestamp.
  • Обновлено расширение pg_dbo_timestamp для обхода проблемы с отслеживанием изменений в привилегиях объектов. Это позволяет использовать расширение для ускорения чтения схемы БД в pgCodeKeeper. Для включения этого режима работы в общие настройки добавлена соответствующая опция. Эта же опция управляет отображением пользователя БД, изменившего объект.
  • В парсер добавлена поддержка команды IMPORT FOREIGN SCHEMA.

Изменено

  • Улучшен интерфейс редактирования списков исключенных объектов.

Исправлено

  • Исправлена подсветка многострочных строковых литералов в редакторе SQL.
  • Исправлены ошибки в SEQUENCE, прочитанных с помощью хелпер-функций на PostgreSQL 10.

4.5.3 - 2018-05-30

Добавлено

  • В редакторе SQL включена подсветка скобок. Эту опцию можно дополнительно настроить в разделе Редактор SQL в глобальных настройках pgCodeKeeper.
  • Улучшен интерфейс редактирования данных подключения к БД, добавлена возможность указания специальных свойств соединения.
  • Добавлен поиск зависимостей выражений от колонок без указания имен таблиц, например в SELECT и выражениях индексов.

Изменено

  • Улучшен вид нотификаций о событиях в редакторе проекта.

Исправлено

  • Исправлена проблема увеличенного потребления памяти, возникшая в версии 4.5.0.

4.5.2 - 2018-05-15

Исправлено

  • Исправлена пропавшая ассоциация SQL файлов с редактором.
  • Исправлен отказ JDBC при попытке обхода ошибки серверной хелпер функции, переводящей транзакцию в ошибочное состояние.

4.5.1 - 2018-05-15

Добавлено

  • pgCodeKeeper теперь доступен в Eclipse Marketplace!
  • Добавлена возможность задания дополнительных списков исключенных объектов в настройках проекта.
  • Списки возможно создавать и изменять с помощью диалога редактирования, доступного из настроек проекта.
  • Диалог сравнения заменен стандартным редактором сравнения.
  • Представление Переопределенные объекты позволяет сравнивать версии объекта с помощью этого редактора.
  • При отсутствии найденных различий в результате получения изменений показывается соответствующее уведомление.
  • В парсер добавлена поддержка команд TRUNCATE, CREATE USER MAPPING, и конструкции FROM в команде UPDATE.

Изменено

  • Некоторые встроенные функции PostgreSQL получают данные вне текущей транзакции. Добавлены проверки на безопасность использования этих функций. Security checks have been added to these function calls.
  • При изменениях библиотек их дерево в Project Explorer обновляется автоматически.
  • Панель различий в редакторе проекта теперь использует глобальные настройки для отображения редакторов кода. Это исправляет ошибку нулевой ширины табов в Windows.
  • Улучшено отображение кнопок-переключателей с длинными надписями в Windows.
  • Ускорен анализ зависимостей VIEW.

4.5.0 - 2018-04-25

Добавлено

  • В списках исключенных объектов теперь возможно указать типы объектов, к которым применяется правило. Подробности в документации.
  • Библиотеки проектов pgCodeKeeper:
    • структура библиотек теперь отображаются в дереве Project Explorer;
    • добавлено представление Переопределенные объекты, отображающее переопределения объектов в текущем редакторе проекта;
    • библиотечные объекты в таблице различий редактора проекта теперь отмечаются иконкой.

Изменено

  • Улучшен анализ выражений SQL (в SELECT и других value expression). Благодаря этому теперь определяются зависимости выражений от конкретной функции из нескольких перегруженных, а также от колонок, выбранных звездочкой (SELECT * FROM ...).
  • Логи CLI версии теперь записываются в один файл в директории пользователя. Это поведение можно изменить в скрипте запуска CLI.

4.4.0 - 2018-04-11

Добавлено

  • Добавлена возможность подключения библиотек к проектам pgCodeKeeper. Библиотеками могут являться директории других проектов, дамп файлы, директории с SQL файлами и JDBC строки подключения к БД.

Исправлено

  • В настройках проекта добавлена возможность отключить SQL парсер при открытии посторонних файлов из этого проекта в редакторе SQL.
  • Исправлена ошибка совместимости с Eclipse Neon.3.

4.3.4 - 2018-03-28

Добавлено

  • Улучшено хранилище БД: добавлена возможность добавления списков исключенных объектов для БД, настройка БД только для чтения, возможность протестировать подключение, и возможность импорта данных подключения из файла .pgpass. Изменен внутренний формат записи хранилища, что облегчит его расширение и поддержку в дальнейшем.
  • Улучшена отменяемость JDBC SQL-запросов, например, при получении изменений. При отмене подобных операций они завершатся сразу же, отменив текущий запрос к БД.

Изменено

  • Долларовые кавычки теперь поддерживаются в любых местах SQL кода, где допустимы строки.
  • Актуализирован список ключевых слов для подсветки в SQL редакторе.
  • Выпадающий список ссылок на объекты в SQL редакторе теперь отображает пути к файлам относительно проекта.

Исправлено

  • Исправлена ошибка, при которой идентификаторы в выражении RETURNS TABLE не ставились в двойные кавычки.

4.3.3 - 2018-03-14

Добавлено

  • Документация продукта перенесена из Eclipse Help System в отдельный проект на Read the Docs.
  • В редактор SQL добавлен поиск и создание ссылок на используемые в представлениях (VIEW) объекты. Для инициализации ссылок в существующих файлах пересоберите или очистите (Clean) проект.

Изменено

  • Обновлено расширение pg_dbo_timestamp. Исправлена ошибка при работе на PostgreSQL 10, добавлено сохранение дополнительной информации о событиях. Начиная с этого выпуска, pgCodeKeeper будет работать с расширением версии 0.0.2 или выше.
  • Восстановлена работа обратной связи из программы.
  • Улучшена работа с именами в кавычках в мастере новых объектов.
  • JDBC запросы чтения схемы БД улучшены для избежания совпадений между именами системных и пользовательских объектов.

Исправлено

  • Исправлена ошибка при поиске автора файла в пустом git репозитории.
  • Исправлена ошибка при создании проекта в директории с уже существующими настройками.

4.3.2 - 2018-03-06

Исправлено

  • Исправлена ошибка, превращавшая serial SEQUENCE в IDENTITY на PostgreSQL 10.

4.3.1 - 2018-03-01

Исправлено

  • Исправлены ошибочные предложения добавить сборщик для не-pgCodeKeeper проектов.

4.3.0 - 2018-02-27

Добавлено

  • Добавлена возможность работы с расширением pg_dbo_timestamp. Расширение предназначено для сбора информации о модификациях DDL объектов БД.
  • В настройках редактора проекта pgCodeKeeper доступна опция отображения пользователей, изменивших различающиеся объекты. В дальнейшем расширение планируется использовать для ускорения JDBC чтения схемы БД.
  • В расширенный фильтр редактора проекта добавлены поля для пользователей, изменивших объект в git и БД.
  • Мастер создания новых объектов пытается вывести имя и расположение объекта из контекста. Улучшен интерфейс ввода имени и типа объекта, исправлено переключение фокуса при этом.

Изменено

  • В мастере генерации данных добавлена кнопка для удаления всех необязательных (не NOT NULL) колонок.
  • История фильтров в редакторе проекта теперь показывается автоматически.
  • SQL редактор предлагает добавить сборщик для проекта открываемого файла при его отсутствии.

Исправлено

  • Исправлена ошибка при чтении объектов SEQUENCE из PostgreSQL 10.

4.2.3 - 2018-02-13

Добавлено

  • В редакторе проекта добавлена история ранее введенных фильтров. Фильтру добавлена задержка с целью уменьшения "подвисаний" интерфейса при большом количестве отображаемых различий. В диалог расширенных фильтров добавлена возможность фильтра по контейнеру объекта.

Изменено

  • Улучшен мастер генерации тестовых данных:
    • добавлена поддержка типов numeric, time, timestamptz;
    • добавлена поддержка алиасов типов (varchar и т.п.)
    • код вставки тестовых данных теперь возможно генерировать с явным приведением каждого значения к его типу;
    • улучшены сообщения об ошибках во введенных значениях;
    • добавлен генератор any, позволяющий использовать в данных любое значение или выражение "как есть;"
    • добавлена возможность удалить несколько выбранных колонок сразу;
    • добавлены пункты запуска мастера в контекстные меню Project Explorer и SQL редактора для файлов таблиц, запуск через File - New по прежнему возможен.
  • Улучшен мастер создания нового SQL объекта:
    • имя и расположение объекта теперь задается одной строкой с точками-разделителями;
    • поле с именем объекта заполняется исходя из контекста, и активно по-умолчанию;
    • для новых объектов не генерируется лишний код задания владельца.

Исправлено

  • Исправлен импорт проекта с отсутствующим файлом .pgcodekeeper. Добавлена возможность конверсии существующего Eclipse проекта в проект pgCodeKeeper.
  • Исправлена ошибка парсинга квалифицированного opclass в CREATE INDEX.
  • Исправлена ошибка парсинга выражения implicit row constructor.

4.2.2 - 2018-01-30

Исправлено

  • Исправлены платформозависимые пути в истории git.

4.2.1 - 2018-01-30

Добавлено

  • Редактор проектов показывает автора последнего изменения для проектов в репозиториях git. Поиск последних изменений использует алгоритм git log ‑‑full‑history ‑‑no‑merges, результаты которого могут отличаться от стандартного. Эта функция может быть отключена в настройках редактора проекта pgCodeKeeper.
  • Добавлена поддержка OPTION столбца в CREATE FOREIGN TABLE.
  • Добавлена поддержка CREATE RECURSIVE VIEW.
  • Добавлены уведомления JDBC-загрузчика об ошибках из-за устаревших вспомогательных функций, установленных в БД, а также об ошибках отказа в разрешении для объектов SEQUENCE.

Исправлено

  • Исправлена ошибка при чтении через JDBC привилегий с именами пользователей, содержащими специальные символы.
  • Исправлены ошибки при построении индексов проекта и при их восстановлении после перезапуска Eclipse.
  • Структура SQL-редактора теперь будет открываться с правильными состояниями фильтра после его закрытия.

4.1.3 - 2017-12-19

Добавлено

  • pgCodeKeeper переведен в open-source под лицензией Apache 2.0.
  • На панель инструментов редактора SQL добавлено действие Отменить выполнение, позволяющее пользователям завершать запущенный скрипт, не открывая представление Eclipse Progress.
  • В контекстное меню таблицы различий редактора проекта добавлены параметры «Свернуть все» и «Развернуть все».
  • Счетчики объектов редактора проекта перемещены в строку состояния Eclipse.

Изменено

  • Действия редактора проекта перемещены обратно в редактор. Они по-прежнему доступны в главном меню pgCodeKeeper и с помощью горячих клавиш.
  • Улучшена фильтрация в редакторе проектов. Добавлена возможность фильтрации подэлементов таблиц по их типам и всех объектов по их SQL-коду.
  • Изменено первоначальное расположение объектов в перспективе pgCodeKeeper, чтобы обеспечить лучшую согласованность между редакторами и их панелями инструментов.

Исправлено

  • Исправлена ошибка инициализации проекта. Мы рекомендуем пользователям проверять настройки своих проектов, чтобы узнать, подключен ли к ним сборщик pgCodeKeeper. Если это не так, рекомендуется добавить его вручную через пункт контекстного меню pgCodeKeeper — Add Builder.
  • Исправлены ошибки при создании ссылок на объекты в редакторе SQL, в частности ссылок в телах функций и во внепроектных файлах.
  • Исправлена ошибка, из-за которой изменение содержимого одного проекта приводило к сбросу всех редакторов проекта.

Remove

  • Функция лицензирования была удалена вместе с ограничениями на использование.
  • Функция «Сохраненные выборки» удалена. Вместо этого пользователи могут копировать выбранные объекты как строку регулярного выражения фильтра.

4.1.2 - 2017-11-22

Добавлено

  • Добавлен мастер генерации тестовых данных таблицы (INSERT).
  • Восстановлен функционал диалога обратной связи.

Изменено

  • Редактор SQL и редактор миграции объединены в один редактор SQL, который также выполняет скрипты и быстрые обновления объектов.
  • Улучшены панели инструментов редактора проектов и редактора SQL. Теперь вы можете выбирать базу данных, используя выпадающий список на главной панели инструментов Eclipse.
  • Скрипты миграции, сохраненные как временные файлы вне проекта, теперь всегда создаются в кодировке UTF-8.

Исправлено

  • Исправлена ошибка в фильтре типов объектов в редакторе проекта.

4.1.0 - 2017-09-25

Добавлено

  • Добавлена возможность работы с различными версиями PostgreSQL, в настоящее время поддерживаются версии с 9.2 по 9.6. Теперь поддерживаются различные SQL-конструкции из этих версий: CREATE FUNCTION ... TRANSFORM, CREATE FUNCTION ... PARALLEL, ROW LEVEL SECURITY. Исправлены ошибки при чтении SEQUENCSE из PostgreSQL 10.
  • Добавлена поддержка объектов FOREIGN TABLE, MATERIALIZED VIEW и конструкция CREATE TABLE UNLOGGED.
  • Добавлены уведомления о конфликтах имен объектов при сборке проекта.
  • Добавлены фильтры объектов и типов изменений в таблице различий в редакторе проекта.
  • Добавлено уведомление об ошибках, обнаруженных в sql-файлах при сравнении БД.

Изменено

  • Маркеры ошибок в sql-файлах отключены для проектов, отличных от pgCodeKeeper.
  • Пункт pgCodeKeeper теперь виден в главном меню при работе в редакторе проекта или его файлах.
  • Расширенная поддержка .-operator (точка) при использовании с вложенными составными типами и т. д.
  • Имена владельцев объектов теперь заключаются в кавычки так же, как и другие идентификаторы.

Исправлено

  • Исправлена ошибка синтаксического анализатора при чтении некорректных операторов COMMENT ON.
  • Исправлена ошибка отслеживания состояния флага в таблице различий.

4.0.0 - 2017-09-11

Мы увеличиваем мажорнуб версию в этом выпуске в связи с решением сместить акцент нашей разработки на сторону SQL-IDE приложения. Другая причина — предстоящий релиз с открытым исходным кодом, который мы планируем в ближайшем будущем.

Добавлено

  • Новый рабочий процесс для редактора миграции — Быстрое обновление. Если вы внесете изменения в схему непосредственно в pgCodeKeeper, теперь вы сможете сохранить свои изменения, сгенерировать миграцию, применить эту миграцию и обновить свой проект с помощью одной горячей клавиши — Ctrl+Alt+A.
  • Кнопки основных действий редактора проекта перенесены на панель инструментов Eclipse, а также мы назначили им горячие клавиши: Получить изменения — Ctrl+F5, Применить к проекту — Ctrl+Alt+S, Применить к БД — Ctrl+Alt+D . Кнопка Дополнительные зависимости перемещена в представление pgDependencies.
  • Файлы миграции теперь сохраняются в проекте (/MIGRATION) или во временном каталоге, пользователь может выбрать автоматическое удаление файлов миграций при закрытии соответствующих редакторов.
  • Добавлена подсветка опасных выражений в скриптах миграции.
  • Контекстное меню Project Explorer теперь показывает подменю Show In Eclipse для элементов проекта pgCodeKeeper.
  • В контекстном меню «Показать в» редактора SQL теперь есть пункт Project Explorer (позволяет пользователю быстро найти файл редактора в дереве проекта).

Изменено

  • Улучшена подсветка редактора и всплывающие подсказки, представление Outline, сборщик проекта, добавлены всплывающие подсказки для ошибок, обнаруженных в коде.
  • Улучшен код редакторов SQL для более эффективной разработки в будущем.
  • Заблокирован повторный запуск Получить изменения, если он уже выполняется в данном редакторе проекта.

Исправлено

  • Исправлена ошибка, из-за которой вновь созданный проект отображался как пустой.
  • Исправлена ошибка, из-за которой приложение пыталось получить доступ к последовательности без разрешения на использование его схемы.

3.11.0 - 2017-07-11

Изменено

  • Переработан CLI (интерфейс командной строки). Изменения включают в себя: имена опций, аргументы программы, способ передачи списков и другие. Подробности смотрите в справке CLI (запуск с помощью --help).
  • Сборщик проекта теперь ищет ссылки на несуществующие объекты в файлах sql проекта, которые помечаются как ошибки.

Исправлено

  • Исправлена ошибка, из-за которой хелпер функции были доступны без разрешения на это.
  • Исправлена ошибка в интерфейсе фильтрации таблицы различий.

3.10.0 - 2017-05-23

Добавлено

  • Список игнорируемых объектов в настройках программы теперь можно настроить как белый список.
  • Вкладки редактора проектов объединены в единый интерфейс.
  • CLI-сборка для Windows теперь включает bat-скрипт для запуска.
  • Добавлена поддержка конструкции типа TABLE OF.
  • Добавлена поддержка конструкции ALTER COLUMN SET (options).
  • Добавлена поддержка конструкции ALTER COLUMN SET STORAGE.

Изменено

  • Улучшено обнаружение зависимостей для выражений в командах SQL.
  • Улучшена обработка ключевых слов SQL, разбор встроенных типов и функций.

3.8.6 - 2017-02-07

Добавлено

  • Добавлена поддержка ENABLE/DISABLE RULE;
  • Добавлена возможность выбирать типы объектов (--allowed-objects) для вывода в скрипте миграции в CLI версии.

Изменено

  • Обновлены хелпер функции JDBC на стороне сервера и нуждаются в переустановке.

Исправлено

  • Исправлена ошибка с получением имен типов данных через JDBC.

3.8.4 - 2016-12-22

Добавлено

  • Мастер различий был улучшен и обновлен. Его можно запустить с помощью пункта главного меню pgCodeKeeper - Diff Wizard или с помощью пункта pgCodeKeeper в контекстном меню проекта. Это позволяет пользователям сравнивать и генерировать сценарии миграции для БД, загруженных из разных источников, без создания для них проекта.
  • Добавлена возможность подключаться к БД с помощью строки подключения JDBC в CLI версии.

3.8.0 - 2016-12-06

Добавлено

  • Добавлен еще один режим чтения БД JDBC. Этот режим повышает производительность при работе с БД, содержащими большое количество схем, и при использовании соединений с ограниченной пропускной способностью. Для его использования необходимо установить в читаемую БД "вспомогательные" хранимые процедуры. Для этого откройте перспективу pgCodeKeeper (Окно - Перспектива), выберите pgCodeKeeper - Установить JDBC Performance Helpers в главном меню и примените скрипт к рассматриваемой БД. После этого новый расширенный режим чтения будет автоматически использоваться с этой БД.

Изменено

  • Улучшена функция игнорируемых объектов. Теперь можно определить как черный, так и рабочий списки объектов, которые можно использовать как в режимах GUI, так и в CLI.

3.7.8 - 2016-10-25

Добавлено

  • Добавлена горячая клавиша Ctrl+F5, которая выполняет выделенную часть скрипта в редакторе миграции (или весь скрипт, если текст не выделен).

Изменено

  • Получение изменений в редакторе проекта теперь заполняет обе его вкладки (Обновить проект и Обновить БД). Выбор другого источника схемы БД на одной вкладке также изменяет его на другой.
  • Улучшена работа с диалогом ручных зависимостей. Списки объектов в этом диалоге теперь содержат все объекты БД.

3.7.5 - 2016-10-04

Изменено

  • Улучшен интерфейс редактора pgCodeKeeper.
  • Источники схемы БД (файлы дампа или элементы, сохраненные в Хранилище БД) теперь выбираются с помощью одного раскрывающегося списка.
  • Ручной ввод параметров подключения был удален, чтобы разгрузить интерфейс и освободить место на экране.
  • Панель выбранных элементов была объединена с областью текстового поля поиска, чтобы освободить место на экране.
  • Другие мелкие исправления и улучшения производительности.

3.7.2 - 2016-09-20

Добавлено

  • Добавлена возможность открытия редактора проекта pgCodeKeeper двойным щелчком по пункту «Проект pgCodeKeeper» в Project Explorer.

Изменено

  • Сборка проекта больше не запускается для скрытых файлов.
  • Улучшена обработка изображений, устранена ошибка утечки ресурсов.
  • Устранена ошибка получения индексов через JDBC.

3.7.0 - 2016-09-07

Добавлено

  • Добавлена возможность создания маркеров синтаксических ошибок SQL, обнаруженных парсером. Ошибочные файлы отмечаются в дереве проекта, ошибочные места подчеркиваются в SQL-редакторе pgCodeKeeper (включите pgCodeKeeper SQL-редактор, щелкнув файл SQL — Открыть с помощью — pgCodeKeeper SQL-редактор правой кнопкой мыши). Для обновления маркеров в проекте убедитесь, что включен сборщик проекта pgCodeKeeper (как включить: щелкните проект правой кнопкой мыши — выберите pgCodeKeeper, затем — Добавить сборщик).

Изменено

  • Улучшена работа сборщика проекта pgCodeKeeper: частое обновление и плавное отображение индикатора выполнения.

3.6.2 - 2016-08-24

Добавлено

  • Добавлена полная поддержка синтаксиса операторов PostgreSQL. Для получения дополнительной информации посетите: https://www.postgresql.org/docs/9.3/static/sql-syntax-lexical.html#SQL-SYNTAX-OPERATORS.
  • Реализована возможность отправки сообщений разработчикам прямо из программы. Для отправки сообщений используйте перспективу pgCodeKeeper в Eclipse, выберите пункт меню pgCodeKeeper — Feedback.

Изменено

  • Улучшен интерфейс работы с настройками подключения к БД.

Исправлено

  • Исправлена ошибка чтения привилегий объектов БД.
  • Прочие исправления.

3.6.0 - 2016-08-12

Изменено

  • Изменен способ хранения зависимостей объектов, что позволило добавить зависимости объектов из операторов RULE.
  • При генерации скрипта миграции теперь корректно учитываются индексы зависимых столбцов.
  • Обновлены случаи отображения ложных различий в хранимых процедурах, возвращающих тип jsonb, и в таблицах, использующих nextval со значением в двойных кавычках в качестве значения по умолчанию.

Исправлено

  • Исправлен анализ определений типов с атрибутом INTERNALLENGTH.

3.5.4 - 2016-06-25

Добавлено

  • В редакторе SQL реализован переход по типам и доменам, также эти объекты добавлены в список Outline в Eclipse.

Изменено

  • Улучшена обработка измененных привилегий: REVOKE генерируется явно для удаленного GRANT.
  • Загрузка через pg_dump по умолчанию скрыта (можно включить в настройках).

Исправлено

  • Исправлена ошибка случайного перемешивания объектов в проекте при реэкспорте — теперь порядок объектов в табличном файле задается явно.

3.5.1 - 2016-05-18

Добавлено

  • Добавлена поддержка объектов PostgreSQL RULE.
  • Добавлена возможность скопировать сохраненный набор элементов в виде фильтра RegEx.

Изменено

  • Переработка парсера SQL, оптимизация и повышение производительности. Оценки оптимизации: скорость парсинга увеличена в 4 раза, требуемая память уменьшена в 2 раза.
  • Оптимизирован и переработан парсер SQL. Правила SELECT и разбора выражений были переписаны с использованием левой рекурсии. Устранены двусмысленности разбора в этих правилах.
  • Полностью переписан анализатор зависимостей SELECT.
  • Чтение сравниваемых источников БД теперь выполняется параллельно.
  • Цветовое выделение вкладок редактора необязательно.
  • Справка была обновлена.
  • Улучшены отчеты об ошибках JDBC.

Исправлено

  • Исправлен переход к определению объекта в редакторе SQL.
  • Другие мелкие исправления, в основном связанные с парсером.

3.4.1 - 2016-04-29

Добавлено

  • Добавлен парсинг ORDER BY для агрегатных функции.