Skip to content

Минорный патч 4.14.6

Choose a tag to compare

@ascrus ascrus released this 11 May 17:47
· 110 commits to master since this release

JDBC драйвера

  • Обновлена поддержка JDBC драйвера PostgreSQL до версии 42.3.5.
  • Обновлена поддержка JDBC драйвера Vertica до версии 11.1.1-0.

Getl фичи

  • getl.postgresql.PostgreSQLConnection: добавлено свойство "dateStyle", которое устанавливает для текущей сессии формат загрузки и выгрузки полей date/timestamp в текстовые файлы.
  • getl.postgresql.PostgreSQLTable: добавлена поддержка пакетной загрузки файлов с помощью метода "bulkLoad". В "bulkOpts" можно указать формат файлов (txt или csv) в "format", условие для записей в "where" и перечислить список полей с преобразованием пустых строк в NULL и сохранением пустых строк в "forceNotNull" и "forceNull". Для пакетной загрузки используется SQL оператор COPY PostgreSQL. Поддерживается загрузка локальных csv файлов, в том числе упакованных в gz формате. Поддерживается загрузка файлов с полями массивами в формате "{элемент1,элемент2}" и blob полями. Если файл записан в неподходящем формате (включен escaped или количество полей не совпадает с количеством полей таблицы или у CSV файла другие скобки обрамления массива), то файл автоматически переконвертируется в нужный формат до загрузки в БД.
  • getl.utils.DateUtils: добавлены функции Date2SQLDate, Date2SQLTimestamp и Date2SQLTime, с помощью которых можно перевести стандартный Java Date тип в java sql типы. Добавлены функции CurrentSQLTimestamp и CurrentSQLDate для получения текущей даты и времени в типах java.sql.
  • getl.jdbc.JDBCDriver: улучшена запись значения в поля с типом array. Теперь Getl по "arrayType" поля определяет, какой тип массива должен быть сгенерирован для вызова записи в JDBC драйвере и корректно передает значение в подходящем типе массива.
  • getl.utils.ListUtils: добавлена функция List2Array, которая преобразует List в массив объектов указанного типа.
  • getl.utils.WebUtils: добавлена функция PingHost, которая проверяет доступность хоста по указанному порту.
  • getl.vertica.VerticaTable: добавлена опция "useEscapedInFlow" в "bulkOpts", в которой можно явно задать включить "escaped" для временных файлов для пакетной загрузки, создаваемых в flow copy функции (по умолчанию для Vertica генерируются временные csv файлы с выключенным escaped, что может привести к ошибкам, если в текстах встречаются переносы строк).

Getl баги

  • getl.csv.CSVDriver: при записи текстовых полей с включенным escaped режимом обрамлялись слэшем и одинарные и двойные кавычки. Теперь обрамление идет только тех кавычек, которые назначены в quoteStr.
  • getl.csv.CSVConnection: добавлены свойства arrayOpeningBracket и arrayClosingBracket, в которых можно задать символы начала и окончания массива для полей с типом array. По умолчанию это "[" и "]".
  • getl.csv.CSVDataset: добавлены свойства arrayOpeningBracket и arrayClosingBracket, в которых можно задать символы начала и окончания массива для полей с типом array. По умолчанию это "[" и "]".
  • getl.mssql.MSSQLDriver: длина создаваемого blob поля по умолчанию была более 8000 байт, что приводило к ошибке, если не явно не задавалась длина поля.
  • getl.oracle.OracleDriver: для blob полей по умолчанию использовался тип RAW, что ограничивало размер хранимого массива в 2000 байт. Теперь в таблице создается поле с типом blob без ограничения размера.
  • getl.oracle.OracleDriver: при чтении с Oracle таблицы number полей Getl автоматически выявляет целочисленные поля и с плавающей точкой. Однако при получении записей драйвер Oracle выдавал значения в типе BigDecimal. Теперь Getl автоматически конвертирует возвращаемые типы в Integer, Long и Double.
  • getl.vertica.VerticaDriver: доработано автоматическое определение типа элементов массивов (arrayType) при получении списка полей таблицы.

Download GETL