Home / 4.18.9
Name Modified Size InfoDownloads / Week
Parent folder
Minornyi patch 4.18.9 source code.tar.gz 2023-12-22 116.0 MB
Minornyi patch 4.18.9 source code.zip 2023-12-22 116.4 MB
README.md 2023-12-22 10.1 kB
Totals: 3 Items   232.5 MB 1

Groovy

  • Изменена версия Groovy на 3.0.19

Dsl фичи

  • script: в скриптовый язык, используемый в выражениях моделей маппинга и workflow добавлены функции isNumber, isLong, isBigInteger, isDouble, isFloat, asFloat, inStr, substr, findAll, upper, lower, trim, lTrim, rTrim.
  • main: для оператора "textFile" добавлено свойство "logOutput", при включении которого все записываемое в текстовый файл также выводится в консоль.
  • main: теперь в операторе "textFile" можно не задавать имя файла, будет организована запись в текстовый буфер, значение которого можно получить из свойства "bufferText".
  • main: при указании имени файла в операторе "textFile" можно задавать переменные date, time, datetime, environment и имена переменных, указанных при запуске в командной строке.
  • main: добавлены функции EvalMacroString (парсинг текста с переменными) и TransformFilePath (преобразования пути с учетом переменных ОС и служебных переменных Getl).

  • Dsl баги

  • main: методы textFile не работали в режиме синхронизации, что могло привести к ошибке при записи из разных потоков.

Getl фичи

  • getl.files.Manager: к основным функциям работы с файловой системой добавлена обработка ошибок с записью в dump файл детализации при возникновении ошибки.
  • getl.utils.ConvertUtils: теперь при конвертировании строки в список в функциях String2List и String2Map так же определяются элементы списка, имеющие булевый тип.
  • getl.utils.NumericUtils: добавлена функция isNumber.
  • getl.utils.StringUtils: добавлены функции InStr, Substr, FindAll.
  • getl.data.Dataset: добавлена функция "DetectChangeFields", которая сравнивает поля датасета с указанными полями и генерирует карту отличий полей датасета от переданных полей.
  • getl.files.HDFSManager: добавлены свойства "connectionTimeout" и "maxRetryOnError", с помощью которых можно задать таймаут ожидания соединения и количество попыток соединения.
  • getl.firebird.FirebirdDriver: добавлена поддержка опции "ifExists" для метода создания таблицы "createDataset", где таблица создается ключевым словом "RECREATE".
  • getl.firebird.FirebirdDriver: добавлена поддержка чтения и записи текстовых полей CLOB.
  • getl.jdbc.JDBCConnection: добавлена информация по серверу и jdbc драйверу в свойствах "serverMajorVersion", "serverMinorVersion", "serverProductName", "serverProductVersion", "jdbcDriverMajorVersion", "jdbcDriverMinorVersion", "jdbcDriverProductName" и "jdbcDriverProductVersion". Значения свойств устанавливаются после соединения с сервером.
  • getl.jdbc.JDBCDriver: при генерации имен объектов в SQL скриптах теперь при определении обрамления имен в скобки учитываются не только основные ключевые слова ANSI SQL, но и дополнительные ключевые слова сервера, которые он декларирует.
  • getl.jdbc.JDBCDriver: в метод executeCommand добавлены опции "ddlOperator" и "commit". Если у соединения выключен "autocommit", включена опция "ddlOperator" и сервер обрабатывает такие операторы в транзакциях или же включена опция "commit", то переданный скрипт будет выполнен в транзакции.
  • getl.jdbc.JDBCDriver: для методов, генерирующих DDL операторы, при включенной опции "ddlOnly" в генерируемый sql скрипт в конец будет добавлен COMMIT, если сервер обрабатывает такие операторы в транзакции.
  • getl.jdbc.JDBCDriver: для DML методов, генерирующих DML операторы, при включенной опции "ddlOnly" в генерируемый sql скрипт в конец будет добавлен COMMIT.
  • getl.jdbc.Sequence: для метода "restartWith" добавлен параметр "ddlOnly".
  • getl.jdbc.TableDataset: добавлен метод "renameTo", с помощью которого можно переименовать таблицу.
  • getl.jdbc.TableDataset: добавлена функция "synchronizeStructure", с помощью которой можно синхронизировать таблицу БД с описанной структурой текущей таблицы. Функция может вернуть сгенерированный скрипт синхронизации или же сразу выполнить его на сервере. При синхронизации проверяются новые и лишние поля, а также различие свойств полей: тип поля, nullable, значение по умолчанию и состав первичного ключа. При невозможности конвертировать тип поля, поддерживается режим пересоздания таблицы (кроме Firebird), где создается рядом новая таблица с необходимой структурой, в неё переливаются данные из существующей таблицы, которая затем удаляется, а созданная таблица переименовывается. Синхронизация первичного ключа на текущий момент поддерживается для Firebird, H2Database, MySql, PostgreSQL и Vertica.
  • getl.oracle.OracleDriver: при подключении к Oracle версии 23 включается поддержка опций "ifExists" и "ifNotExists" для методов создания и удаления таблиц, а также индексов.
  • getl.proc.Flow: в метод "copy" добавлена опция "bulkMap", в которой можно задать маппинг для пакетной загрузки записей из промежуточного сформированного CSV файла в таблицу БД.
  • getl.sqlite.SQLiteDriver: включена поддержка опций "ifExists" и "ifNotExists" для методов создания и удаления таблиц, а также индексов.
  • getl.utils.FileUtils: добавлена функция создания временной директории "CreateTempDirectory".
  • getl.utils.FileUtils: в функцию "TransformFilePath" добавлен параметр "sysVars", при включении которого при обработке пути учитываются переменные "date", "time", "datetime" и переменные, переданные в командной строке, если указан параметр "getl".
  • getl.jdbc.JDBCDriver: добавлена поддержка IF NOT EXISTS и IF EXISTS для создания и удаления VIEW.

Getl баги

  • getl.proc.FileCopier: могла возникнуть ситуация, когда при многопоточном копировании файлов по группам атрибутов один из потоков заканчивал работу и удалял временный директорий, в котором другие потоки работали, что приводило к ошибке директорий или файл не найден.
  • getl.utils.DateUtils: при вызове функции ParseSQLTime происходила ошибка, если в передаваемой строке были миллисекунды.
  • getl.excel.ExcelDriver: исправлена ошибка чтения записей методом eachRow из Excel файлов "xls" (формат 2003).
  • getl.firebird.FirebirdDriver: исправлена ошибка вызова чтения текущего времени, где использовалась функция 3 версии, которая не работает в 4 версии Firebird.
  • getl.models.MonitorRules: если в таблице состояния правил были записи неизвестных правил, то генерировалась ошибка вместо предупреждения.
  • getl.jdbc.JDBCTable: при вызове функций создания и удаления объектов с опцией ddlOnly происходило соединение с сервером.

Download GETL

Source: README.md, updated 2023-12-22