Большое изменение: score теперь имеет другой формат. Наличие в папке гранулы скрипта с названием _<имягранулы>.sql больше не является обязательным требованием: теперь в папке и её подпапках может быть произвольное количество произвольно именованных sql файлов. Обход этих файлов осуществляется в алфавитном порядке и в глубину. Celesta ожидает, что в первом из попавшихся ей при таком обходе файлов первой командой должна идти CREATE GRAIN (команда, "идемпотнентно создающая" гранулу), а в остальных -- SET GRAIN (команда, "переключающая контекст" на созданную ранее гранулу).
Под каждый из SQL-файлов генерируется файл с курсорами с названием <имя_файла>_orm.py. Таким образом, если гранулы имеют старый формат, то для вас ничего не поменяется. В то же время, с помощью такого дробления решается старая проблема со слишком длинными DDL-файлами.
И кстати, теперь ключевое слово GRAIN в языке CelestaSQL имеет синоним -- SCHEMA. Ведь по сути, гранула -- это SCHEMA и есть. Не секрет, что эти изменения производились для поддержки проекта 2bass.
Поддержка новых типов данных
В языке CelestaSQL поддерживаются два новых типа данных: число с фиксированной точкой DECIMAL(p,s) и дата с таймзоной DATETIME WITH TIME ZONE. При генерации курсоров им соответствуют объекты с типами java.math.BigDecimal и java.time.ZonedDateTime. Обновлённую сводную таблицу с типами данных можно посмотреть здесь.
Удаление поддержки функциональности IDENTITY
Сведения о ключевом слове IDENTITY в языке CelestaSQL удалены из WIKI. Эта функциональность не рекомендуется к использованию -- вместо неё везде следует использовать комбинацию SEQUENCE и DEFAULT NEXTVAL, как существенно более быструю на SQL Server и более техничную во всех остальных случаях. Со временем данная функциональность будет удалена вовсе, т. к. она блокирует развитие Celesta. В этой связи ещё раз напоминаю о необходимости апгрейда системных гранул, кейс http://jira.curs.ru:8090/browse/PK-61
Будущие планы
Активно идёт работа по созданию поддержки использования Celesta в 'pure Java'-проектах. Реализуется функциональность кодогенерации курсоров на Java и работы с Celesta-инфраструктурой в чистом Java-коде. Это то, что мы должны увидеть в ближайшие недели.
С уважением,
Иван Пономарёв