============================================================================================
Примечание: Этот файл README содержит примечания к выпуску для версии DolphinDB Server 2.00.10 и более ранних версий. Начиная с версии 2.00.11, этот файл больше не поддерживается. Чтобы получить примечания к выпуску и документацию по последней версии DolphinDB Server, обратитесь к новому сайту документации DolphinDB (https://docs.dolphindb.com/en/index.html).
============================================================================================
Версия: 2.00.10 Уровень совместимости 2 с 2.00.9/1.30.21 Подробнее см. в разделе Изменения совместимости в версии 2.00.10
Дата выпуска: 2023-07-20
Linux64 бинарный файл | Linux64 JIT бинарный файл | Linux64 ABI бинарный файл | Windows64 бинарный файл | Windows64 JIT бинарный файл | Linux ARM64
Версия: 2.00.9 Уровень совместимости 2 с 2.00.8/1.30.20
Дата выпуска: 2023-02-15
Linux64 бинарный файл | Linux64 JIT бинарный файл | Linux64 ABI бинарный файл | Windows64 бинарный файл | Windows64 JIT бинарный файл | Linux ARM64
Версия: 2.00.8 Уровень совместимости 2 с 2.00.7/1.30.19
Дата выпуска: 2022-09-30
Linux64 бинарный файл | Linux64 JIT бинарный файл | Linux64 ABI бинарный файл | Windows64 бинарный файл | Windows64 JIT бинарный файл | Linux ARM64
Версия: 2.00.7 Уровень совместимости 1 с 2.00.6
Дата выпуска: 2022-07-14
Linux64 бинарный файл | Linux64 JIT бинарный файл | Linux64 ABI бинарный файл | Windows64 бинарный файл | Windows64 JIT бинарный файл | Linux ARM64
Версия: 2.00.6 Уровень совместимости DolphinDB: версии и релизы
Версия: 2.00.5 [Compatibility Level 2] с 2.00.4/1.30.16/1.30.17
Дата релиза: 2022-03-29
Бинарный файл Linux64 | JIT бинарный файл Linux64 | ABI бинарный файл Linux64 | Бинарный файл Windows64 | JIT бинарный файл Windows64
Версия: 2.00.4
Дата релиза: 2022-01-10
Бинарный файл Linux64 | JIT бинарный файл Linux64 | ABI бинарный файл Linux64
Версия: 2.0.0
Дата релиза: 2021-07-31
Бинарный файл Linux64 | JIT бинарный файл Linux64 | ABI бинарный файл Linux64 | Бинарный файл Windows64 | JIT бинарный файл Windows64
Добавлена новая функция appendTuple!
для добавления кортежа к другому. (2.00.10.4)
Добавлен новый параметр конфигурации appendTupleAsAWhole для указания, должен ли кортеж добавляться как встроенный элемент кортежа или каждый из его элементов должен добавляться независимо к целевому кортежу. (2.00.10.4)
Добавлен новый параметр конфигурации parseDecimalAsFloatingNumber, который устанавливает поведение по умолчанию для анализа десятичных знаков в качестве типа DECIMAL. (2.00.10.4)
Поддержка операций обновления, вставки и удаления в секционированных таблицах MVCC. (2.00.10.4)
Длительно выполняющиеся распределённые запросы с использованием select
или pivot by
теперь можно отменить в любой момент во время выполнения. (2.00.10.4)
Добавлена функция cumdenseRank
для возврата позиции ранжирования от первого элемента до текущего элемента. (2.00.10.4)
В журналах добавлена информация о входе в систему, включая пользователя входа, IP, порт, статус и т. д. (2.00.10.4)
Добавлена привилегия VIEW_OWNER
для поддержки пользователя/группы для создания функциональных представлений с помощью addFunctionView
. (2.00.10.4)
В SQL-запросах с предложением PIVOT BY
теперь можно использовать функцию asis
для сохранения всех повторяющихся записей в результате. Ранее PIVOT BY
выполнял дедупликацию. (2.00.10.4)
В SQL-запросах с предложением PIVOT BY
массивный вектор теперь может быть указан в операторе select/exec
. (2.00.10.4)
Поддержка обрезки разделов, когда столбец разделения имеет тип NANOTIMESTAMP. (2.00.10.4)
Добавлен новый параметр isSequential в plugin.txt для маркировки функции как чувствительной к порядку или нет. (2.00.10.4)
Добавлен новый параметр «dataInterval» в параметр triggeringPattern
функции createCrossSectionalEngine
, который позволяет выполнять вычисления на основе временных меток из входных данных.(2.00.10.3)
Добавлена функция parseJsonTable
для анализа объекта JSON в таблицу в памяти. (2.00.10.2) * loadModuleFromScript для динамического анализа модуля. (2.00.10.2)
Оператор transaction может быть использован для таблиц MVCC. (2.00.10.2)
Добавлен новый параметр конфигурации tcpUserTimeout для установки опции сокета TCP_USER_TIMEOUT. (2.00.10.2)
Функция getClusterReplicationMetrics удалена. Добавлена функция getSlaveReplicationQueueStatus как наследование от getClusterReplicationMetrics. getSlaveReplicationQueueStatus получает статус каждой очереди выполнения в подчинённых кластерах. (2.00.10.2)
Добавлен параметр конфигурации clusterReplicationQueue для установки количества очередей выполнения на каждом контроллере подчинённых кластеров. (2.00.10.2)
Добавлен параметр конфигурации clusterReplicationWorkerNum для установки числа рабочих на каждом узле данных подчинённых кластеров. (2.00.10.2)
Поддержка RIGHT JOIN для нескольких таблиц DFS. (2.00.10)
Добавлены параметр конфигурации memLimitOfTempResult и функция setMemLimitOfTempResult для установки верхнего предела использования памяти для каждого временного результата, созданного при операции соединения таблиц. (2.00.10)
Добавлен параметр конфигурации tempResultsSpillDir для указания каталога разлива, в котором хранятся временные результаты, созданные при операции соединения таблиц. (2.00.10)
Добавлена поддержка core dumps с помощью параметра конфигурации enableCoreDump. Поддерживается только в Linux. (2.00.10)
Добавлен параметр конфигурации disableCoreDumpOnShutdown для определения, следует ли создавать дампы ядра при корректном завершении работы. Поддерживается только в Linux. (2.00.10)
Добавлен параметр конфигурации allowMissingPartitions для определения поведения при поступлении данных, содержащих новые значения разделов, которые не соответствуют существующим разделам. (2.00.10)
Функции listRemotePlugins и installPlugin добавлены для получения списка доступных плагинов и загрузки плагина соответственно. (2.00.10)
Параметр конфигурации volumeUsageThreshold добавлен для установки верхнего предела дискового пространства узла данных. (2.00.10)
Добавлена функция writeLogLevel для записи логов указанного уровня в файл журнала. (2.00.10)
Добавлена функция sessionWindow для группировки данных временных рядов на основе интервалов сеансов. (2.00.10)
Добавлена функция summary для генерации сводной статистики входных данных, включая min, max, count, avg, std и процентили. (2.00.10)
Функции encodeShortGenomeSeq и decodeShortGenomeSeq добавлены для кодирования и декодирования последовательностей ДНК. (2.00.10)
Добавлена функция genShortGenomeSeq для выполнения кодирования последовательностей ДНК в скользящем окне. (2.00.10)
Добавлена функция GramSchmidt для реализации ортогонализации Грамма–Шмидта. (2.00.10)
Добавлена функция lassoBasic, эквивалентная функции lasso, но принимающая векторы в качестве входных аргументов. (2.00.10)
Добавлено 26 функций TopN: (2.00.10)
Добавлена функция initcap для установки первой буквы каждого слова в строке в верхний регистр, а остальных — в нижний. (2.00.10)
Для кубической сплайн-интерполяции добавлены функции splrep и splev. (2.00.10)
Добавлена функция scs для вычисления оптимального решения линейно ограниченных линейных или квадратичных программирующих функций. (2.00.10)
Поддерживается тип данных DECIMAL128. (2.00.10)
Для расчётов на основе строк добавлены функции rowPrev, rowNext, rowMove, rowCumsum, rowCumprod, rowCummax, rowCummin и rowCumwsum. (2.00.10)
Добавлена функция temporalSeq для генерации временных рядов через заданные интервалы. (2.00.10)
Добавлена функция ungroup для выравнивания столбцов, содержащих быстрые векторные массивы или столбчатые данные. (2.00.10) Кортежи.
Добавлена функция decimalMultiply для умножения данных типа DECIMAL.
Добавлены функции base64Encode и base64Decode для кодирования и декодирования цифр Base64.
Добавлена функция addFunctionTypeInferenceRule для определения правила вывода пользовательских функций в DolphinDB JIT версии.
Поддерживается тип данных COMPLEX в DolphinDB JIT версии.
Добавлен параметр конфигурации localSubscriberNum для установки количества потоков, распределяющих сообщения из очереди публикации в локальной подписке.
Добавлена функция createStreamDispatchEngine для создания механизма диспетчеризации потоковых данных.
Данные типа DECIMAL поддерживаются в механизме временных рядов и механизме реактивного состояния при использовании следующих функций:
Механизм временных рядов (созданный с помощью createTimeSeriesEngine): corr, covar, first, last, max, med, min, percentile, quantile, std, var, sum, sum2, sum3, sum4, wavg, wsum, count, firstNot, ifirstNot, lastNot, ilastNot, imax, imin, nunique, prod, sem, mode, searchK.
Реактивный механизм состояния (созданный с помощью createReactiveStateEngine): cumsum, cumavg, cumstd, cumvar, cumcorr, cumcovar, cumwsum, cumwavg, msum, mavg, mstd, mvar, mcorr, mcovar, mwsum, mwavg, tmsum, tmavg, tmstd, tmvar, tmcorr, tmbeta, tmwsum, tmwavg.
Константы теперь можно объявлять как тип DECIMAL с символом типа данных «P».
Добавлен новый параметр конфигурации logicOrIgnoreNull. Значение по умолчанию — true, что означает игнорирование значений NULL в операндах. Его следует установить в false, если вам нужно, чтобы поведение функции or соответствовало старым версиям.
Теперь поддерживается is null в предложении case when.
Добавлен параметр конфигурации mvccCheckpointThreshold для установки порога операций, запускающих контрольную точку.
Добавлена функция forceMvccCheckpoint для ручного запуска контрольной точки.
Добавлен сервер лицензий для управления ресурсами для узлов, указанных лицензией.
Добавлен параметр конфигурации thirdPartyAuthenticator для аутентификации входа пользователя через стороннюю систему.
Версия сервера теперь автоматически проверяется при загрузке плагина.
Поддержка асинхронной репликации между кластерами для обеспечения согласованности данных и аварийного восстановления на удалённых площадках.
Поддержка формата Apache Arrow.
Добавлена функция getTSDBSortKeyEntry для отображения информации о ключе сортировки всех фрагментов.
Добавлена команда setMaxConnections для динамической настройки максимального количества подключений на текущем узле.
Добавлена функция demean для центрирования набора данных. Эту функцию можно использовать в качестве функции состояния в реактивном механизме состояния.
Для функций dict и syncDict добавлен параметр ordered для создания упорядоченного словаря, в котором пары ключ-значение сортируются в том же порядке, что и входные данные.
Добавлена поддержка следующих бинарных операций:
Добавлена кумулятивная функция cumnunique для получения кумулятивного количества уникальных элементов. Эту функцию можно использовать как функцию состояния в реактивном механизме состояний.
Добавлена функция stringFormat для генерации строк с указанными значениями и заполнителями.
Добавлена функция rowAlign для выравнивания данных по строкам.
Добавлена функция nanInfFill для замены значений NaN и Inf.
Добавлена функция byColumn для применения функций к каждому столбцу матрицы. Функция также поддерживается в потоковой обработке. В запросе используется язык программирования Julia.
В ответе представлен перевод текста на русский язык:
Функция volumeBar
для группировки данных на основе кумулятивной суммы (2.00.9).
Добавлена функция enlist
, возвращающая вектор (или кортеж) со скаляром (или вектором) в качестве элемента (2.00.9).
Добавлен оператор eachAt(@)
для доступа к элементам вектора/кортежа/матрицы/таблицы/словаря/массива по индексу (2.00.9).
Добавлены новые функции latestKeyedTable
и latestIndexedTable
для создания ключевой таблицы или индексированной таблицы с столбцом времени. Когда новая запись добавляется в таблицу, она перезаписывает существующую запись с тем же первичным ключом только в том случае, если её временная метка больше исходной (2.00.9).
Поддержка формата данных «столбцовый кортеж» (2.00.9)
isColumnarTuple
, setColumnTuple!
.Расширенная поддержка стандартных функций SQL (2.00.9):
drop
, alter
, case when
, union/union all
, join on
, with as
, create local temporary table
(not) between and
, is null/is not null
, (not) exists/not exist
, any/all
nullIf
, coalesce
distinct
Поддерживаются множественные соединения, соединения с табличными псевдонимами и соединения с объектом таблицы, возвращаемым SQL-подзапросом (2.00.9).
SQL select
может выбирать константу без указания псевдонима, и значение будет использоваться в качестве имени столбца (2.00.9).
Предикаты и операторы SQL могут применяться к результирующей таблице, возвращаемой SQL-подзапросом (2.00.9).
Добавлен параметр конфигурации oldChunkVersionRetentionTime для указания времени хранения старых версий чанков в системе (2.00.9).
Поддержка встроенных торговых календарей основных бирж и пользовательских торговых календарей. Эти календари можно использовать в функциях temporalAdd
, resample
, asFreq
и transFreq
для преобразования частоты (2.00.9).
addMarketHoliday
, updateMarketHoliday
и getMarketCalendar
для добавления, обновления и получения пользовательских торговых календарей.Добавлены функции genericStateIterate
и genericTStateIterate
для перебора потоковых данных с помощью скользящего окна (2.00.9).
Функция createWindowJoinEngine
поддерживает векторы массивов (2.00.9).
Добавлены функции movingWindowData
и tmovingWindowData
для получения элементов в скользящем окне во время потоковой обработки (2.00.9).
Поддержка оператора if-else
в реактивном механизме состояний (2.00.9).
Новый инструмент трассировки SQL для мониторинга времени, затраченного на весь процесс выполнения запроса. Добавлен параметр конфигурации traceLogDir для указания пути к журналу трассировки (2.00.8).
Добавлена новая функция truncate
для удаления данных в таблице DFS при сохранении схемы таблицы (2.00.8).
Добавлена новая функция checkBackup
для проверки целостности файлов резервных копий. Добавлена новая функция getBackupStatus
для отображения подробной информации о заданиях резервного копирования и восстановления базы данных (2.00.8).
Добавлены новые функции backupDB
, restoreDB
, backupTable
и restoreTable
для резервного копирования / восстановления всей базы данных или таблицы (2.00.8).
Добавлен новый параметр конфигурации logRetentionTime для определения периода хранения системных журналов (2.00.8).
Добавлена новая функция triggerNodeReport
для запуска отчёта о состоянии чанка для указанного узла данных (2.00.8).
Добавлена новая функция getUnresolvedTxn
для получения транзакций в фазе разрешения (2.00.8).
Парсер потокового движка (streamEngineParser
) теперь поддерживает указание пользовательских функций с вложенной функцией в качестве метрик (2.00.8).
Добавлена новая функция conditionalIterate
для рекурсивного вычисления метрик через условную итерацию. Эту функцию можно использовать только в реактивном механизме состояния потока (createReactiveStateEngine
) (2.00.8).
Добавлена новая функция stateMavg
для расчёта скользящей средней на основе предыдущих результатов. Эту функцию также можно использовать только в реактивном механизме состояния потока (createReactiveStateEngine
) (2.00.8). - Добавлена новая функция stateIterate для линейной рекурсии с помощью линейной итерации. Эту функцию можно использовать только в механизме реактивного потока состояний (createReactiveStateEngine). (2.00.8)
Механизм объединения окон (createWindowJoinEngine): когда параметр window=0:0, размер окна вычислений над правой таблицей определяется разницей между временными метками соответствующей записи в левой таблице и её самой последней записью. (2.00.8)
Добавлена поддержка нового типа данных DECIMAL. Хранение и вычисления с использованием типа данных DECIMAL также поддерживаются в некоторых функциях и механизмах хранения OLAP и TSDB. (2.00.8) Обратите внимание на следующее:
Добавлена новая функция regroup для агрегирования по группам на основе меток столбца и/или строк, заданных пользователем. (2.00.8)
Добавлены новые функции mifirstNot и milastNot для возврата индекса первого/последнего ненулевого элемента в скользящем окне. (2.00.8)
Добавлена новая функция loc для доступа к строкам и столбцам матрицы по метке(ам) или логическому вектору. (2.00.8)
Добавлена новая функция til для создания вектора последовательных целых чисел, начиная с 0. (2.00.8)
Добавлены новые функции pack и unpack для упаковки и распаковки двоичных данных. (2.00.8)
Добавлена новая функция align для выравнивания двух матриц на основе меток строк и/или столбцов с использованием указанного метода соединения. (2.00.8)
Теперь DFS table join поддерживает полное соединение. (2.00.8)
DolphinDB (JIT) теперь поддерживает доступ к элементам вектора по индексу, который может быть вектором или парой. (2.00.8)
Веб-интерфейс пользователя:
Добавлены новые параметры конфигурации memLimitOfQueryResult и memLimitOfTaskGroupResult, чтобы ограничить использование памяти промежуточными и окончательными результатами запросов; добавлена новая функция getQueryStatus для мониторинга использования памяти и статуса выполнения запроса. (2.00.7)
Добавлена новая функция getTSDBCompactionTaskStatus для проверки состояния задач сжатия уровня в механизме TSDB. (2.00.7)
Добавлены новые функции isPeak и isValley для определения, является ли текущий элемент пиком/долиной соседних элементов. (2.00.7)
Добавлена новая функция rowAt(X, Y). Возвращает элемент в каждой строке X на основе индекса, указанного соответствующим элементом Y. (2.00.7)
Добавлены новые функции rowImin и rowImax для получения индекса экстремального значения в каждой строке. (2.00.7)
Добавлена новая функция машинного обучения gmm для поддержки алгоритмов кластеризации модели гауссовой смеси (GMM). (2.00.7)
Добавлена новая функция valueChanged для обнаружения изменений между элементами путём сравнения текущего элемента с соседними элементами. (2.00.7)
Добавлены новые функции msum2 и tmsum2 для расчёта суммы квадратов в скользящем окне. (2.00.7)
Добавлены новые функции prevState и nextState для поиска элемента с другим состоянием до/после текущего элемента. (Последовательные элементы с одинаковым значением считаются имеющими одинаковое состояние.) (2.00.7)
Добавлена новая функция getSupportBundle. Возвращает файл пакета поддержки, содержащий информацию о конфигурации системы и базе данных. 2.00.7
Добавлены новые функции topRange и lowRange. Для каждого элемента в X возвращают максимальную длину окна слева от X, где оно является максимальным/минимальным. Функции также поддерживаются в механизме реактивного состояния (createReactiveStateEngine). (2.00.7)
Добавлены интерполяционные функции spline, neville, dividedDifference и loess. (2.00.7)
В механизм реактивного состояния добавлен новый параметр cumPositiveStreak (createReactiveStateEngine). (2.00.7)
Представлен новый механизм потоковой передачи данных с двойным владением и реактивным состоянием (createDualOwnershipReactiveStateEngine) с поддержкой параллельных вычислений данных двумя методами группировки и различными метриками. (2.00.7)
Предложен новый объект таблицы IPCInMemoryTable — межпроцессная таблица в памяти. Добавлены связанные функции createIPCInMemoryTable, loadIPCInMemoryTable, dropIPCInMemoryTable и readIPCInMemoryTable. Межпроцессную таблицу в памяти можно использовать в сценариях потоковой передачи для обеспечения эффективной передачи данных между сервером DolphinDB и клиентом на одном компьютере. (2.00.7)
Добавлена новая функция stretch для равномерного растяжения вектора до указанной длины. (2.00.7)
Добавлена функция getTransactionStatus для получения статуса транзакций. Добавлена команда imtForceGCRedolog для пропуска сборки мусора транзакции с указанным ID. (2.00.7)
Добавлен новый модуль ops для операций с базой данных. Этот модуль содержит несколько часто используемых скриптов для таких операций, как отмена незавершённых заданий в кластере, просмотр использования диска таблицы DFS, удаление восстанавливаемых разделов, закрытие неактивных сеансов и т. д. (2.00.7)
Добавлена новая функция setLogLevel для динамической настройки уровня журнала на текущем узле. (2.00.7)
Добавлена новая функция cells для извлечения нескольких ячеек из матрицы по указанным индексам строки и столбца. (2.00.6)
Добавлена новая функция randDiscrete для выборки из дискретного распределения вероятностей. (2.00.6)
Добавлены новые функции dynamicGroupCumsum и dynamicGroupCumcount, а также их функции состояния в механизме потокового реактивного состояния. (2.00.6)
Добавлена новая функция getTSDBCompactionTaskStatus для получения статуса задач сжатия файлов уровня движка TSDB. (2.00.6)
Добавлена новая функция createDistributedInMemoryTable для создания распределённой таблицы в памяти. (2.00.6)
Поддержка многоуровневого хранилища для хранения холодных данных на медленных жёстких дисках или в хранилище объектов (Amazon S3). Эти данные доступны только для чтения. (2.00.6)
В функцию createPartitionedTable движка TSDB добавлен новый параметр sortKeyMappingFunction для применения функций отображения к ключу сортировки для оптимальной производительности. (2.00.6)
Оптимизирована производительность обновления в движке TSDB. (2.00.6)
Добавлена новая функция toCharArray для разделения строки на вектор символов. (2.00.6)
Добавлен новый конфигурационный параметр maxDynamicLocalExecutor для указания максимального количества динамически генерируемых локальных исполнителей и частоты их генерации. (2.00.6)
Добавлено выражение transaction для инкапсуляции нескольких SQL-выражений в таблице в памяти или общей таблице в одну транзакцию. (2.00.6)
Поддерживается асинхронная сортировка данных в кэше движка TSDB. Укажите конфигурационный параметр TSDBAyncSortingWorkerNum как количество потоков для асинхронной сортировки, значение по умолчанию — 1. (2.00.5)
Изоляция моментальных снимков поддерживается в движке TSDB. (2.00.5)
Движок TSDB можно использовать в Windows. (2.00.5)
Можно включить dataSync для движка OLAP, установив конфигурационный параметр dataSync = 1 в Windows. (2.00.5)
В функцию subscribeTable добавлены новые параметры userId и password. Система попытается войти в систему после того, как пользователь случайно выйдет из системы, чтобы убедиться, что подписанные данные могут быть записаны в таблицу DFS. (2.00.5)
Для параметра metrics механизма потокового реактивного состояния можно указать функцию, возвращающую массив векторов. (2.00.5) getStreamingStat().subWorkers возвращает значение throttle в миллисекундах.
Можно указать несколько подходящих столбцов для механизма соединения asof.
Добавлены новые параметры snapshotDir и snapshotIntervalInMsgCount в механизм потоковой передачи поперечного сечения, чтобы включить моментальный снимок; добавлен новый параметр raftGroup, чтобы обеспечить высокую доступность.
Добавлены новые функции getLeftStream и getRightStream, чтобы поддерживать каскад механизмов соединения.
Если функция с несколькими возвращаемыми значениями указана для параметра metrics механизма потоковой передачи поперечного сечения (createCrossSectionalEngine) или механизма потоковой передачи временных рядов (createTimeSeriesEngine), то имена возвращаемых столбцов можно не указывать при создании механизма потоковой передачи.
Добавлена новая команда addAccessControl, чтобы добавить контроль доступа к общей таблице в памяти (включая таблицу потоков) или объекту механизма потоковой передачи.
При применении агрегатной функции, такой как quantile, к столбцу таблицы, если тип данных столбца не поддерживается, результатом будет значение NULL.
Предложение SQL pivot by поддерживает столбцы типа UUID.
Верхний предел результата функций ceil или floor увеличен до 2^53.
Если последний столбец предложения pivot by является столбцом разделения, и в предложении select не включены агрегированные или чувствительные к порядку функции, производительность была оптимизирована почти в пять раз.
Функции med, kama и wma теперь поддерживают векторы типа BOOL.
Параметр colNames команды addColumn может начинаться с цифры.
Когда загружается файл csv с помощью функций loadText или loadTextEx, верхний предел для первой строки данных увеличен до 256 КБ.
Агрегатные функции, оконные функции и векторизованные функции поддерживают таблицу в качестве входных данных.
Параметр count функций rand или normal поддерживает пару, чтобы указать размер матрицы.
Логические функции на основе строк (rowAnd, rowOr и rowXor) поддерживают ввод типа INT.
Добавлен новый параметр arrayDelimiter в функции loadText и loadTextEx для загрузки файлов csv, содержащих векторы массивов.
Добавлен новый параметр closed в функцию bar, чтобы указать, является ли левая или правая граница включительной в каждой группе.
Для скользящей функции, когда X представляет собой индексированный ряд или индексированную матрицу, а window — положительное целое число, окно скользит по индексу.
Параметры определяемой пользователем функции могут быть определены в нескольких строках и разделены запятой.
В предложении SQL order by можно ссылаться на столбец по его имени или псевдониму as.
Теперь можно указать вектор типа SECOND, TIME или NANOTIME для параметра X функции dailyAlignedBar.
Сервер может передавать таблицы, содержащие векторы массива, в API Python в формате pickle.
Добавлен новый параметр forceTriggerSessionEndTime в ежедневный механизм потоковой передачи временных рядов, чтобы указать время ожидания для запуска вычисления в окне, содержащем sessionEnd.
Изменён параметр forceTriggerTime ежедневного механизма потоковой передачи временных рядов и механизма потоковой передачи временных рядов. Вычисление в незавершённом окне группы может быть инициировано последними полученными данными любой другой группы. Если установлен параметр fill, используются указанные методы заполнения для заполнения результатов пустых окон тем временем.
Таблицы в одном разделе теперь можно обновлять, записывать и удалять одновременно.
Тип данных, записываемых во временный столбец таблицы в памяти, будет автоматически преобразован в тип данных этого столбца.
Узел данных теперь можно восстановить онлайн с последними данными из других узлов. Также можно включить асинхронное восстановление через конфигурацию.
Теперь вы можете управлять и запрашивать все вычислительные задачи в... Кластер (2.00.4)
Таблицы в памяти и потоковые таблицы теперь поддерживают тип данных BLOB (2.00.4).
Теперь вы можете использовать новый тег [HINT_EXPLAIN] в своём операторе SQL, чтобы вернуть строку JSON, указывающую на процесс выполнения оператора (2.00.4).
Добавлена новая функция streamEngineParser для разложения поперечного фактора на конвейер с несколькими встроенными потоковыми механизмами. Эта функция анализирует указанные метрики для построения расчётного конвейера, где несколько встроенных механизмов обрабатывают потоковые данные последовательно (2.00.4).
Добавлена новая функция existSubscriptionTopic для проверки того, была ли создана тема подписки (2.00.4).
Добавлена новая функция createLookupJoinEngine для поддержки левого соединения потоковой таблицы и таблицы с нечастыми обновлениями данных (2.00.4).
Добавлена новая функция moveChunksAcrossVolume. Когда добавляется новый том, используйте эту функцию для перемещения кусков из старого тома в новый (2.00.4).
Когда добавляется новый том, теперь вы можете использовать функцию resetDBDirMeta для перемещения металога старого тома в новый (2.00.4).
Добавлено 10 новых функций TopN: msumTopN, mavgTopN, mstdpTopN, mstdTopN, mvarTopN, mvarpTopN, mcorrTopN, mbetaTopN, mcovarTopN и mwsumTopN. Эти функции можно использовать в качестве функций состояния в реактивном механизме состояний (2.00.4).
Добавлены новые функции makeKey и makeOrderedKey для объединения нескольких столбцов в столбец BLOB, который можно использовать как ключ словаря или набора (2.00.4).
Добавлена новая более высокая функция aggrTopN, которая сортирует данные на основе указанного столбца сортировки и возвращает результаты агрегатных вычислений первых N строк в таблице (2.00.4).
Добавлены новые более высокие функции window и twindow для более общих сценариев, чем move и tmove, с немного другой обработкой границ окна (2.00.4).
Добавлен новый параметр конфигурации raftElectionTick, который указывает время ожидания получения пульса от лидера в группе raft перед тем, как последователи переключатся на нового лидера. Добавлены новые функции setCacheEngineMemSize, setTimeoutTick, setTSDBCacheEngineSize, setMaxMemSize, setReservedMemSize и setMaxBlockSizeForReservedMemory для поддержки изменения связанной конфигурации онлайн (2.00.4).
Добавлена новая функция fixedLengthArrayVector для объединения нескольких векторов в векторный массив (2.00.4).
Добавлена новая функция loadNpz для импорта файлов .npz из NumPy (2.00.4).
Добавлена новая функция suspendRecovery для приостановки задач восстановления узла и добавлена resumeRecovery для возобновления задач восстановления (2.00.4).
Добавлены новые функции rowCorr, rowCovar, rowBeta, rowWsum и rowWavg для расчёта на основе строк (2.00.4).
Добавлены новые функции movingWindowIndex и movingTopNIndex для получения индекса элементов в движущемся окне. Результатом является векторный массив типа INDEX[] (2.00.4).
Добавлена новая функция fflush для очистки данных буфера в вашу файловую систему (2.00.4).
Выпущен механизм хранения TSDB. Функция database предоставляет необязательный параметр engineType, значение по умолчанию — OLAP, это старый механизм хранения. Если вы создаёте базу данных на основе механизма хранения TSDB, установите engineType в TSDB (2.00.0).
Данные на основе механизма хранения TSDB поддерживают новый тип данных BLOB (2.00.0).
Улучшения
Объект разрешений (параметр objs) может быть указан как '*', когда доступ применяется на глобальном уровне (2.00.10.8).
Когда включена асинхронная репликация кластера, операции над пустыми таблицами в ведомом кластере будут вызывать исключение (2.00.10.8).
Оптимизирована производительность записи механизма TSDB (2.00.10.4).
Оптимизирована производительность функции dropTable при удалении секционированной таблицы с более чем 100 000 секций (2.00.10.4).
Делитель div/mod теперь может быть отрицательным числом (2.00.10.4).
Новый каталог будет создан автоматически, если не удастся найти настроенный persostenceOffsetDir (2.00.10.4). Задачи повтора теперь можно отменять быстрее (2.00.10.4):
Оптимизированы транзакции на вычислительных узлах (2.00.10.2).
В функцию rmdir
добавлен параметр keepRootDir, чтобы указать, сохранять ли корневой каталог при удалении файлов (2.00.10.2).
Функция license
по умолчанию получает информацию о лицензии из памяти (2.00.10.2).
Функция getClusterDFSTables
возвращает все таблицы, созданные пользователем, независимо от разрешений таблицы (2.00.10.2).
Пустую таблицу можно скопировать для резервного копирования (2.00.10.2).
Асинхронная репликация оптимизирована (2.00.10.2)
Сообщение об ошибке теперь содержит больше деталей (2.00.10.2).
Оптимизирован вывод журнала функции subscribeTable
(2.00.10.2).
Повышена производительность одновременных операций чтения и записи для механизма TSDB (2.00.10.2).
Пользовательская функция позволяет установить значение параметра по умолчанию как пустой кортеж (представленный как []) (2.00.10.1).
Добавлен контроль доступа пользователя к функции loadText
(2.00.10.1).
Изменения прав доступа пользователей регистрируются (2.00.10.1).
Функцию повторной выборки можно использовать с матрицей с нестрого возрастающими метками строк в качестве входного аргумента (2.00.10.1).
Поведение соединения для кортежей оптимизировано (2.00.10.1).
Тернарную функцию можно передать в качестве входного аргумента шаблону накопления в механизме реактивного состояния (2.00.10.1).
Для streamEngineParser
добавлена проверка параметров: если triggeringPattern='keyCount', то keepOrder должен быть истинным (2.00.10.1).
Параметры конфигурации localExecutors и maxDynamicLocalExecutor были удалены (2.00.10).
Функции window
и percentChange
можно использовать в качестве функций состояния в механизме реактивного состояния (2.00.10).
Поддерживается JOIN для нескольких секционированных таблиц (2.00.10).
Производительность улучшена при использовании функции dropTable
для удаления таблицы с большим количеством разделов (2.00.10).
Производительность оптимизирована при фильтрации данных с предложением WHERE в базе данных TSDB (2.00.10).
Улучшена производительность при объединении таблиц базы данных TSDB (2.00.10).
Расширена поддержка стандартных SQL-соединений. Столбец соединения может быть любым столбцом из таблиц или столбцом, к которому применяются функции или который фильтруется условными выражениями (2.00.10).
Поддержка LEFT JOIN, FULL JOIN и INNER JOIN для двух таблиц со столбцом соединения одной таблицы типа STRING и другой таблицы интегрального типа (2.00.10).
Поддержка SELECT NOT для таблиц DFS (2.00.10).
Ключевые слова SQL поддерживаются в любом регистре (2.00.10).
Поддержку запятой (,) для CROSS JOIN таблиц (2.00.10).
Поддерживаются разрывы строк для операторов SQL, при этом ключевые слова, состоящие из нескольких слов, такие как ORDER BY, GROUP BY, UNION ALL, INNER JOIN, нельзя разбивать на две строки (2.00.10).
Реализация select * from a join b
изменена с select * from join(a, b)
на select * from cj(a, b)
(2.00.10).
Оператор <>
поддерживается в операторах SQL, что эквивалентно !=
(2.00.10).
Ключевое слово NOT LIKE поддерживается в операторах SQL (2.00.10).
При LEFT JOIN, LEFT SEMI JOIN, RIGHT JOIN, FULL JOIN или EQUI JOIN на столбцах, содержащих значения NULL (2.00.10):
Для функции sqlDS
таблица DFS, разделённая DATEHOUR, выбранная в sqlObj, теперь будет правильно фильтроваться по дате (2.00.10).
Объединение файлов для механизма TSDB оптимизировано для снижения потребления памяти (2.00.10).
Архитектура хранения для механизма TSDB оптимизирована с меньшим количеством блоков для уменьшения использования памяти (2.00.10).
Добавлено несколько новых параметров. Левое полусоединение engine для подписки на таблицу, содержащую векторы массивов. (2.00.10)
При использовании функции share
или функции enableTableShareAndPersistence
для многократного совместного использования одной и той же таблицы будет выдана ошибка. (2.00.10)
Будет выдана ошибка, если данные типа INT будут добавлены в столбец SYMBOL левой таблицы механизма оконного соединения. (2.00.10)
Поддерживается сериализация векторов массивов типов UUID, INT128 и IP с помощью pickle. (2.00.10)
Версия DolphinDB JIT поддерживает оператор join
(<-). (2.00.10)
Функция isort
в версии JIT может принимать кортеж с векторами одинаковой длины в качестве входных данных. (2.00.10)
Выражение if
в версии JIT поддерживает оператор in
. (2.00.10)
Доступ к векторам можно получить с логическим индексом в версии JIT. (2.00.10)
Поддержка комментариев с несколькими разделами /**/ в одной строке. (2.00.10)
Теперь функция stringFormat
поддерживает: сопоставление типов данных, выравнивание формата, десятичные цифры и преобразование базы. (2.00.10)
Второй параметр функции concat
может быть NULL. (2.00.10)
Функция take
может принимать в качестве входных данных кортеж или таблицу. (2.00.10)
Функция stretch
может принимать матрицу или таблицу в качестве входных данных. (2.00.10)
Функции in
и find
поддерживают таблицы с одним столбцом. (2.00.10)
Когда параметр moduleDir настроен как относительный путь, система ищет модули в каталоге homeDir/modules. (2.00.10)
Результат функций in
, binsrch
, find
или asof
принимает тот же формат, что и входной аргумент Y. (2.00.10)
Возникает ошибка при передаче кортежа функции rank
. (2.00.10)
Добавлено ключевое слово distinct
для устранения повторяющихся записей. В настоящее время не поддерживается использование с group by
, context by
или pivot by
. (2.00.9.7)
Параметр outputElapsedInMicroseconds функции createTimeSeriesEngine
переименован в outputElapsedMicroseconds. (2.00.9.4)
Поля «createTime» и «lastActiveTime», возвращаемые функцией getSessionMemoryStat
, теперь отображаются в местном времени. (2.00.9.4)
Расширенная поддержка between and
со стандартными функциями SQL. (2.00.9.4)
Больше операций с таблицами IPC в памяти регистрируются для лучшего отслеживания и отладки. (2.00.9.4)
Функция getClusterDFSTables
возвращает таблицы DFS, к которым у пользователя есть доступ. (2.00.9.3)
Параметр leftTable функции createWindowJoinEngine
поддерживает столбцы векторов массива. (2.00.9.3)
Параметр handler функции subscribeTable
поддерживает общую таблицу в памяти, таблицу с ключами и индексированную таблицу. (2.00.9.3)
Функция cut
теперь поддерживает таблицы/матрицы. (2.00.9.3)
Упорядоченный словарь теперь поддерживает унарные оконные функции. (2.00.9.3)
Поддержка контрольной суммы для файлов метаданных. (2.00.9)
Чтобы избежать чрезмерного использования диска журналом восстановления, задачи восстановления теперь будут очищаться для последователя, который был переключён с лидера. (2.00.9)
Все действия по резервному копированию и восстановлению полностью регистрируются. (2.00.9)
Добавлены новые параметры close, label, origin для функции interval
. (2.00.9)
Функция getRecentJobs
возвращает «clientIp» и «clientPort», указывающие на клиентский IP-адрес и порт. (2.00.9)
Добавлен новый параметр warmup для функции ema
. Если установлено значение true, элементы в первых (window-1) окнах вычисляются. (2.00.9)
Унарные и тернарные функции теперь могут быть указаны для функций более высокого порядка accumulate
и reduce
. (2.00.9)
Добавлен новый параметр outputElapsedMicroseconds для реактивного механизма состояний и механизма временных рядов для вывода прошедшего времени. (2.00.9)
Поддержка вектора DECIMAL. (2.00.9)
Добавлен новый параметр precision для функций rank
и rowRank
для установки точности сортируемых значений. (2.00.9)
Параметр mode функции groups
поддерживает «vector» и «tuple». (2.00.9)
Функция linearTimeTrend
поддерживает вычисления матрицы или таблицы. (2.00.9) Используя функции высшего порядка. Добавлен новый параметр consistent для функций высшего порядка eachLeft
, eachRight
, eachPre
, eachPost
и reduce
для определения типа данных результатов и формы задач. (2.00.9)
Функция objectChecksum
поддерживает тип DECIMAL. (2.00.9)
Параметр tiesMethod функций rank
и rowRank
поддерживает «first» для присвоения рангов равным значениям в порядке их появления в векторе. (2.00.9)
Функция cut
теперь поддерживает скаляр. (2.00.9)
Функция split
теперь поддерживает вектор STRING. (2.00.9)
Функция rowAt
теперь поддерживает векторный массив. (2.00.9)
Доступ к строкам матрицы теперь можно получить с помощью slice
. (2.00.9)
Размер кортежа больше не ограничен 1048576. (2.00.9)
Расширенная поддержка типа DECIMAL в большинстве встроенных функций. (2.00.9)
Аргумент defaultValue, передаваемый функции array
, теперь поддерживает тип STRING. (2.00.9)
Функция memSize
теперь возвращает использование памяти кортежем. (2.00.9)
Результаты запросов разных разделов теперь могут быть объединены через несколько потоков, чтобы сократить затраченное время на фазу слияния. (2.00.9)
Функция getSessionMemoryStat
теперь возвращает связанную информацию о кэше. (2.00.9)
Комментарии столбцов теперь можно добавлять в таблицы mvcc с помощью setColumnComment
. (2.00.9)
Оптимизирована производительность точечного запроса механизма TSDB. (2.00.9)
Оптимизировано выполнение команды select count(*) в механизме TSDB при указании keepDuplicates = last. (2.00.9)
К матрицам теперь можно обращаться с парой и вектором в качестве индекса. (2.00.9)
Изменён фактический объём доступной памяти, настроенной параметром regularArrayMemoryLimit. (2.00.9)
Изменено верхнее ограничение на количество баз данных и таблиц DFS. (2.00.9)
Для баз данных TSDB типы данных временных ключей сортировки могут автоматически преобразовываться. (2.00.9)
Издатель будет отправлять потоковые данные подписчику, используя TCP-соединение, установленное подписчиком. Подписчику больше не нужно предоставлять порт прослушивания. (2.00.9)
Механизм реактивного состояния поддерживает векторные массивы с неопределённой длиной. (2.00.9)
Условие фильтра функции streamfilter
поддерживает встроенные функции. (2.00.9)
Добавлен новый параметр sortColumns для функции replay
для сортировки данных с одинаковой временной меткой. (2.00.9)
Поддержка автоматического выравнивания источников данных для воспроизведения N-to-1. (2.00.9)
При использовании m-функций в потоковых механизмах размер окна ограничен 102400. (2.00.9)
Оптимизация производительности гетерогенного воспроизведения. (2.00.9)
Функция streamEngineParser
теперь поддерживает функцию byRow
, вложенную в функцию contextby
, в качестве метрик для механизма поперечного сечения. (2.00.9)
Поддерживается функция высшего порядка accumulate
в потоковой передаче. (2.00.9)
Оптимизирована производительность функции genericTStateIterate
. (2.00.9)
Оптимизирована производительность функции streamEngineParser
. (2.00.9)
Операции append
/ insert into
для общих таблиц могут быть реализованы с использованием транзакций операторов. (2.00.9)
Оптимизирована производительность ej
для секционированных таблиц. (2.00.9)
Оператор select
теперь поддерживает использование псевдонима столбца или нового имени столбца в качестве условия фильтра в предложении where
. (2.00.9)
Оптимизирована производительность ключевого слова pivot by
, когда последний столбец является столбцом разделения. (2.00.9)
Ключевое слово context by
теперь поддерживает указание матрицы и таблицы. (2.00.9)
Оптимизирована производительность context by
и group by
. (2.00.9)
Оптимизирована производительность lsj
при больших объёмах данных. (2.00.9)
Временные типы данных в SQL-предложении where
теперь могут автоматически преобразовываться при использовании interval
для группировки данных. (2.00.9)
Размер кортежа больше не ограничивается при использовании в SQL в условии. (2.00.9)
Модифицировано возвращаемое значение функции getSystemCpuUsage
. (2.00.9)
Улучшена поддержка контроля доступа (2.00.9):
Изменена привилегия DB_MANGE, которая больше не позволяет создавать базы данных. Пользователи с этой привилегией могут выполнять только операции DDL в базах данных.
Изменена привилегия DB_OWNER, которая позволяет пользователям создавать базы данных с указанными префиксами.
Добавлены типы привилегий QUERY_RESULT_MEM_LIMIT и TASK_GROUP_MEM_LIMIT для установки верхнего предела использования памяти запросами.
Функции, связанные с контролем доступа, теперь можно вызывать на узлах данных.
Изменён механизм проверки разрешений для операций DDL/DML.
Добавлена проверка параметров для контроля доступа:
Оптимизация производительности пользовательских функций в потоковых движках DolphinDB (JIT). (2.00.9)
DolphinDB (JIT) поддерживает оператор ratio. (2.00.9)
DolphinDB (JIT) поддерживает больше встроенных функций: sum, avg, count, size, min, max, iif, moving. (2.00.9)
Функции backup, restore и migrate поддерживают резервное копирование и восстановление разделов базы данных путём копирования файлов. (2.00.8)
Функции replaceColumn!, rename! и dropColumn! теперь поддерживают таблицы DFS. (2.00.8)
Добавлен новый параметр deleteSchema к функции dropPartition для определения, следует ли удалять схему раздела при удалении раздела VALUE. (2.00.8)
Функция dropDatabase удаляет все физические файлы для указанной базы данных. (2.00.8)
Метакод SQL-операторов может быть передан параметру obj функции saveText. Разделы можно запрашивать параллельно и записывать одним потоком. (2.00.8)
Система выдаёт сообщение об ошибке, если вы указываете конфигурационный параметр volumes для одного узла с использованием макропеременной . (2.00.8)
Поддержка ключевого слова SQL like в предложении where для поиска указанного шаблона ключей сортировки в движке TSDB. (2.00.8)
Оптимизирована производительность чтения в движке TSDB. (2.00.8)
Оптимизировано выполнение операций обновления, удаления и upsert в механизме хранения TSDB. (2.00.8)
Добавлен параметр nullFill к функции createWindowJoinEngine для заполнения значений NULL в выходной таблице. (2.00.8)
Параметр timeRepartitionSchema функции replayDS поддерживает больше временных типов. (2.00.8)
Оптимизирован алгоритм сборки мусора в оконном соединительном механизме. (2.00.8)
Идентичные выражения с использованием пользовательских функций вычисляются только один раз в реактивном механизме потока состояний. (2.00.8)
Добавлено ключевое слово SQL HINT_VECTORIZED для включения векторизации для группировки данных. (2.00.8)
Оптимизирована производительность запросов, когда столбец группы — это столбец разделения VALUE. (2.00.8)
Оптимизирована производительность левого соединения таблицы в памяти и таблицы DFS. (2.00.8)
Оптимизирована производительность предложения SQL pivot by. (2.00.8)
Оптимизирована вычислительная производительность функции rolling. (2.00.8)
Функция getBackupList возвращает столбец «updateTime» для последнего времени обновления и столбец «rows» для количества записей в разделе. (2.00.8)
Добавлен новый ключ «rows» в словарь, возвращаемый функцией getBackupMeta, чтобы показать количество строк в разделе. (2.00.8)
Добавлен необязательный параметр containHeader к функциям loadText, ploadText, loadTextEx и textChunkDS для указания, содержит ли файл заголовок строки. (2.00.8)
Доступ ограничен к 31 функции, которые могут выполняться только зарегистрированным пользователем или администратором. Обновление лицензии вызывает исключение, если режим авторизации изменился. (2.00.8)
При срезе вектора не генерируется исключение, даже если индексы выходят за границы. (2.00.8)
При обращении к вектору по индексу в DolphinDB (стандартная и JIT-версия) возвращаются значения NULL, если индексы выходят за пределы. (2.00.8)
Оптимизирован алгоритм CRC32. (2.00.8)
Оптимизирована функция mrank. (2.00.8)
Максимальная длина данных, преобразованных функцией toJson, больше не ограничена 1000 символами. (2.00.8)
Веб-интерфейс пользователя:
— улучшено выделение кода для соответствия расширению DolphinDB для Visual Studio Code. (2.00.8);
— числовые значения форматируются с использованием запятой (,) в качестве разделителя тысяч, например, 1 000 000 000. (2.00.8);
— обновлены ключевые слова, автозаполнение кода и документация функций. (2.00.8);
— информация о выполнении отображается в более компактном формате. (2.00.8);
— расширено представление всплывающего окна «статус» для отображения информации о статусе в различных категориях. (2.00.8);
— усовершенствован дизайн пагинации таблиц и добавлены всплывающие подсказки для кнопок-иконок. (2.00.8);
— улучшения вкладки «Задание»: скорректированы имена полей; добавлена поддержка поиска заданий по IP-адресу клиента. (2.00.8);
— исправлена проблема некорректного форматирования временных меток на графике. (2.00.8)
Функция getClusterPerf(true) возвращает информацию обо всех контроллерах в кластере высокой доступности. Эта функция также добавляет возвращаемое значение isLeader, чтобы указать, является ли контроллер лидером группы raft. (2.00.7)
Теперь при подключении к контроллеру кластера высокой доступности через веб-менеджер кластеров вы будете перенаправлены на лидера, где отображается информация обо всех узлах. (2.00.7)
При использовании функций restore, loadBackup или getBackupMeta для доступа к разделам резервных копий в базе данных, чья гранулярность чанков находится на уровне TABLE, физический индекс больше не требуется при указании параметра partition. (2.00.7)
В функцию getRecoveryTaskStatus добавлено новое возвращаемое значение FailureReason для отображения причины сбоя задачи восстановления. (2.00.7)
Оптимизирован алгоритм сжатия для backup. (2.00.7)
Если jobId не существует при использовании cancelJob, система больше не выдаёт исключение. Вместо этого она выводит сообщение об ошибке с jobId в журнал. (2.00.7)
Теперь можно указать конфигурационный параметр persistenWorkerNum для таблицы высокой доступности потока. (2.00.7)
Добавлен новый параметр forceTriggerTime в createSessionWindowEngine для запуска расчёта в последнем окне, если useSystemTime=false. (2.00.7)
При обработке стандартных потоковых таблиц с помощью streamFilter теперь можно указывать метакод логических выражений для условия фильтра. (2.00.7)
Можно включить столбец времени и/или столбец соединения из левой или правой таблицы в качестве выходных столбцов в параметре metrics функций createEqualJoinEngine, createAsofJoinEngine и createLookupJoinEngine. (2.00.7)
replay поддерживает разнородные потоковые таблицы со столбцами массивов векторов. (2.00.7)
Параметр keyPurgeFilter функции createReactiveStateEngine должен быть метакодом логических выражений, иначе будет выдана ошибка. (2.00.7)
Параметр metrics функции createLookupJoinEngine может быть кортежем. (2.00.7)
Оптимизировано выполнение функции select count(*), когда гранулярность времени предложения group by более грубая, чем у раздела. (2.00.7)
Оптимизировано выполнение запроса последних n записей, отсортированных в порядке убывания с предложением top или limit. (2.00.7)
Оптимизировано выполнение следующих функций при вызове функции rolling: cumsum, cummax, cummin, cumprod и mcount. (2.00.7)
Файл tar.gz для автономной установки сервера. (2.00.7)
Переименованы следующие параметры конфигурации и функции для OLAP-хранилища, а исходные имена используются как... Оптимизация и улучшения в версии 2.00.7:
Другие изменения в версии 2.00.7:
Оптимизация и улучшения в версии 2.00.6:
Изменения в версии 2.00.4:
При обновлении таблиц в памяти с помощью операторов присваивания теперь можно использовать массивы BOOL в фильтрах строк. Например, t[y, t[y]>0] = 0, где t — таблица, а y — столбец t.
К функциям upsert! добавлен новый необязательный параметр sortColumns для указания сортировки обновлённой таблицы.
cancelJob и cancelConsoleJob теперь поддерживают отмену нескольких заданий. Отмена заданий также происходит быстрее, когда кластер зависает.
Параметр schema функции loadText теперь поддерживает вектор массива.
Функция set теперь поддерживает... Тип данных BLOB. (2.00.4)
Теперь в ключевую потоковую таблицу нельзя вставить несколько записей с одинаковыми значениями ключа за один пакет. (2.00.4)
Ускорение выполнения функций atImin
и atImax
в параметре aggs соединения по окну. (2.00.4)
Добавлен новый необязательный параметр clean в команду run
, чтобы контролировать очистку переменных в текущем сеансе. (2.00.4)
Параметр window в функции wj
теперь поддерживает типы длительности y (год), M (месяц) и B (рабочий день). (2.00.4)
Функция loadText
теперь поддерживает строки, содержащие символы со значением ASCII 0. (2.00.4)
Можно использовать условные присваивания для матриц. (2.00.4)
В функцию loadTextEx
добавлен новый необязательный параметр atomic. По умолчанию — «false». При загрузке большого файла укажите этот параметр как «false», чтобы разделить транзакцию загрузки на несколько транзакций. (2.00.4)
Новый столбец remoteIP добавлен к возвращаемому значению функций getCompletedQueries
и getRunningQueries
. (2.00.4)
Конфигурационный параметр stdoutLog можно указать как «2», чтобы выводить системный журнал как в стандартный вывод, так и в файл журнала. (2.00.4)
Параметр metrics в механизмах обнаружения аномалий теперь может содержать функции, связанные с последовательностями. (2.00.4)
Когда параметр windowSize механизма временных рядов является вектором, элементы могут принимать одинаковые значения. (2.00.4)
Параметр кросс-секционного механизма keyColumn теперь поддерживает векторный тип. (2.00.4)
Записи в виде кортежей теперь можно вставлять в механизмы потоковой передачи. (2.00.4)
Новое поле memoryUsed добавлено к возвращаемому значению функции getStreamEngineStat().CrossSectionalEngine
, которое указывает на используемую память кросс-секционным механизмом. (2.00.4)
В механизмах соединения asof параметр metrics теперь может включать временной столбец правой таблицы. (2.00.4)
Предоставлена привилегия только для чтения для общих потоковых таблиц. (2.00.4)
Повышена стабильность узлов контроллера в кластерах высокой доступности. (2.00.4)
Информацию об операциях удаления и обновления можно распечатать в журнале. (2.00.4)
Информация о теме подписки добавлена в сообщения об ошибках задачи подписки на поток в журнале. (2.00.4)
Улучшения пользовательского интерфейса для Web-Based Cluster Manager. С помощью интегрированного пользовательского интерфейса теперь можно просматривать, приостанавливать и отменять задания (выполняемые, отправленные или запланированные) в DolphinDB. Обратите внимание, что после обновления версии сервера необходимо также обновить папку «web». Новая версия Web-Based Cluster Manager использует протокол WebSocket для улучшения поддержки двоичных протоколов. Возможно, потребуется обновить веб-браузер до последней версии. Мы рекомендуем использовать последнюю версию Chrome или Edge. (2.00.4)
Контроллер мог аварийно завершать работу во время запуска, если продолжал получать запросы на вход от других узлов. (2.00.10.9)
Для локальной многопоточной подписки публикация данных с чрезмерно высокой скоростью могла перегрузить локальные очереди подписки, препятствуя приёму новых сообщений и приводя к потере данных. (2.00.10.9)
Выполнение функций login
и getDynamicPublicKey
с высокой степенью параллелизма могло привести к сбою сервера. (2.00.10.8)
Функция bar
неправильно группировала данные, охватывающие несколько дней из таблицы DFS, когда параметр closed установлен на «right». (2.00.10.8)
Функция ParseJsonTable
преобразовывала нулевые значения JSON строкового типа в литерал «NULL», а не в пустые значения. (2.00.10.8)
Слишком большие поля BLOB из сохранённых потоковых таблиц могут привести к существенной загрузке данных в память, даже если настроено небольшое значение preCache. (2.00.10.8)
Возникала ошибка, если вложенная агрегатная функция использовалась с предложением group by при запросе данных из таблицы в памяти. (2.00.10.8)
В редких случаях при асинхронной репликации контроллер ведомого кластера не мог назначить задачи. (2.00.10.8)
Редко возникали ошибки при отправке запросов через веб-интерфейс управления кластером. Отображение ошибки: «соединение закрыто, код: 1006». (2.00.10.7)
При разборе строки JSON, если первые 10 строк поля были NULL, функция parseJsonTable возвращала некорректный результат разбора. (2.00.10.7)
Использование функции pack приводило к утечкам памяти. (2.00.10.6)
Выполнение cross(func, a, b) могло привести к сбою сервера, если размер a или b был слишком большим. (2.00.10.6)
Использование функции unpack приводило к утечке памяти. (2.00.10.5)
Если параметр func функции withNullFill был оператором or, то при его операндах в виде логических значений возвращались некорректные результаты. (2.00.10.5)
Предложение limit не действовало, когда столбцом группировки был sortColumns. (2.00.10.4)
Конфликт данных при обновлении схемы таблицы приводил к проблеме OOM и сбою сервера. (2.00.10.4)
Резервное копирование могло зависнуть, если каталог резервного копирования (backupDir) находился на NFS. (2.00.10.4)
Ошибка доступа к памяти за пределами границ возникала при попытке закрыть соединение, созданное после установки максимального количества соединений с помощью setMaxConnections. (2.00.10.4)
Когда соединяли секционированные таблицы с использованием оператора, который не соответствовал стандартам SQL, обращение к столбцу из левой таблицы в предложении where приводило к сбою сервера. (2.00.10.4)
Создание IPC in-memory таблицы завершалось ошибкой, а создание другой таблицы с тем же именем приводило к сбою сервера. (2.00.10.4)
Ошибки возникали, когда условие фильтрации в распределённом запросе содержало сравнение между операндами типа SECOND и INT. (2.00.10.4)
Тип SYMBOL в IPC in-memory таблице был несовместим с типом STRING. (2.00.10.4)
Возникала ошибка «неизвестный столбец», когда система выполняла распределённый запрос, который: (1) включал фазу сокращения; (2) запрашивал данные на удалённых узлах. Эта проблема появилась в версии 2.00.10. (2.00.10.3)
Настройка прав доступа пользователей в кластере высокой доступности приводила к утечкам памяти на контроллере. (2.00.10.2)
Функция parseExpr не могла разобрать пустое значение {} в объекте JSON. (2.00.10.2)
Передача потоковой таблицы параметру dummyTable функции createReactiveStateEngine приводила к отключению при доступе к дескриптору движка. (2.00.10.2)
Ошибка OOM возникала при записи в базы данных TSDB в одномашинном кластере, что приводило к несогласованности состояний транзакций. (2.00.10.2)
Сообщение об ошибке «getSubChunks failed, path'/xx' does not exist» возникало при восстановлении данных во вновь созданной базе данных. (2.00.10.2)
Элементы, доступ к которым осуществлялся на основе меток с помощью функции loc, были некорректными. Эта проблема возникла в версии 2.00.10. (2.00.10.2)
Происходила потеря масштаба при восстановлении десятичных данных. (2.00.10.2)
Если параметру atomic функции database было присвоено значение 'CHUNK', версии метаданных на контроллере и узлах данных могли быть несогласованными, если транзакция затрагивала несколько фрагментов. (2.00.10.2)
Сбой сервера происходил при передаче нестроковой переменной параметру label функции interval. (2.00.10.2)
Для таблиц, разделённых по временным значениям, запросы с условиями where для столбца разделения выполнялись медленно. Эта проблема была введена в версии 2.00.10. (2.00.10.2)
Переполненный промежуточный результат функции mprod приводил к сбою сервера. (2.00.10.2)
Результат in(X,Y) был некорректным, когда Y был набором, содержащим значение LONG с более чем 11 цифрами. (2.00.10.2)
Параллельное выполнение операций восстановления (и других) транзакций могло привести к несогласованным метаданным после перезапуска сервера. (2.00.10.2)
Реактивный движок состояния возвращал некорректные результаты при вычислении genericStateIterate на входных данных с более чем 1024 группами. (2.00.10.2)
Использование определяемой пользователем функции с идентификатором @JIT для запроса таблицы DFS приводило к сбою сервера. (2.00.10.2)
В Windows функция files возвращала неточные значения fileSize для файлов размером более 2 ГБ. (2.00.10.1)
В кластере высокой доступности... Одновременно. (2.00.10)
Сервер падал, когда капитализация имён столбцов, указанных в metrics и входных таблицах механизма левого полусоединения (createLeftSemiJoinEngine
), была несогласованной. (2.00.10)
Сервер падал при одновременном добавлении данных в потоковую таблицу и сохранении таблицы. (2.00.10)
Если metrics функции createWindowJoinEngine
указывала псевдоним имени столбца, возвращались некорректные агрегированные результаты. (2.00.10)
После вызова DROP table
для удаления потоковой таблицы таблица не могла быть удалена или отписана от неё. (2.00.10)
Проблемы синтаксического анализа: такие операторы, как "/" == "a"
, не могли быть проанализированы правильно. (2.00.10)
При втором параметре функции ols
, состоящем исключительно из 0, выводился дополнительный столбец. (2.00.10)
Результаты соединения DECIMAL данных были некорректными. (2.00.10)
Сервер падал из-за сбоя синтаксического анализа, если параметр aggs функции wj
не соответствовал требованиям. (2.00.10)
Результат функции expr
был некорректным, если передавался аргумент DATEHOUR. (2.00.10)
Веб-интерфейс не мог быть доступен должным образом, если для параметра webLoginRequired было установлено значение true. (2.00.10)
Некорректные результаты возвращались при использовании cast
для преобразования данных типа SYMBOL. (2.00.10)
Функция nullFill
не смогла заполнить значения NULL, возвращённые функцией bucket
. (2.00.10)
Произошла потеря точности после применения unpivot
к столбцу типа DECIMAL. (2.00.10)
Когда пользовательская анонимная агрегатная функция вызывалась с twindow
в другой пользовательской функции, возникала ошибка func must be an aggregate function.
. (2.00.10)
Когда запускался процесс DolphinDB, сервер падал, если выполнялся скрипт (настроенный с параметром run), содержащий функцию submitJob
. (2.00.10)
Конфликт имён функций возникал для представления функций и функции модуля на сервере при перезапуске, когда одновременно выполнялись следующие условия (2.00.9.7):
Сообщения об ошибках для других конфликтов были улучшены.
В кластерном режиме, когда SSL был включён (enableHTTPS=true) для подключения, сеанс мог быть отключён, если с сервера на клиент было передано большое количество данных. (2.00.9.7)
В кластерном режиме при объединении таблиц в одной базе данных (atomic = 'CHUNK'), но на разных узлах, могли возвращаться некорректные результаты. (2.00.9.7)
Реактивный механизм состояний не обрабатывал пространства имён, определённые в metrics. (2.00.9.7)
Функции mskew
или mkurtosis
возвращали некорректные результаты, если входные данные X содержали последовательные идентичные значения, и количество идентичных значений превышало window. (2.00.9.7)
Когда матрица передавалась в качестве аргумента функции ols
, если промежуточный результат представлял собой сингулярную матрицу, результат не совпадал с результатом Python's statsmodels.OLS
. (2.00.9.6)
Возникала ошибка при использовании order by
для столбцов типа STRING с limit 0, k
или limit k
на таблицах MVCC. (2.00.9.5)
При удалении представления функции с помощью dropFunctionView
мог произойти сбой сервера из-за отсутствия блокировки во время записи журнала. (2.00.9.5)
При объединении двух таблиц с помощью equi join
или inner join
могли возвращаться некорректные результаты, если два соответствующих столбца имели типы STRING и NANOTIMESTAMP. (2.00.9.5)
При загрузке таблиц с помощью loadTable
могла происходить потеря данных на холодном уровне хранения, если имена таблиц были неправильно проверены. (2.00.9.5)
Оператор select distinct
отключен. Ключевое слово «distinct» распознаётся как функция distinct
, то есть порядок элементов в результате не гарантируется таким же, как и во входных данных. Проблемы, выявленные в версии 2.00.9:
При установке параметра конфигурации datanodeRestartInterval на значение менее 100 секунд контроллер немедленно перезапускал узел данных при корректном завершении работы или после перезапуска кластера.
Некорректное преобразование при передаче кортежа, содержащего числовые скаляры, в функцию toJson
.
Некорректное преобразование при использовании словаря с векторными значениями любого типа в функции toJson
.
Сбой сервера при использовании функции bar
с параметром interval, установленным в 0, для запроса секционированной таблицы.
Для N-к-1 воспроизведения возникала ошибка при указании ключа словаря (заданного параметром inputTables) как типа SYMBOL. Эта ошибка присутствовала начиная с версии 2.00.9.
Запланированные задания не выполнялись из-за неудачной десериализации файла jobEditlog.meta при запуске узла.
Запланированные задания продолжали выполняться до следующего запуска сервера, несмотря на неудачную сериализацию при их создании.
Происходил сбой сервера при указании вектора в качестве значения параметра defaultValue функции array
.
Передача не табличных данных в параметр newData функции upsert!
могла привести к сбою сервера DolphinDB.
Функция upsert!()
терпела неудачу при одновременном выполнении следующих трёх условий:
Попытка добавить несколько новых столбцов в таблицу MVCC в операторе update
приводила к ошибке типа данных.
Использование оператора update...from...
для обновления таблицы (с keepDuplicates=LAST) в базе данных TSDB могло привести к некорректным результатам.
При указании столбца, содержащего специальные символы, такие как управляющие символы, знаки препинания и математические символы, в предложении group by
запроса эти специальные символы неправильно игнорировались.
После добавления столбца в таблицу базы данных TSDB с помощью addColumn
могли возникнуть ошибки данных и сбои.
Команда dropColumns!
не могла удалить таблицы в памяти с последовательными разделами.
Контроллер мог дать сбой при загрузке секционированной таблицы с локального диска.
Функция getClusterDFSTables
могла возвращать таблицы, которые были удалены или не существуют.
Физические пути разделов могли не совпадать с метаданными после добавления новых узлов данных и выполнения команды moveReplicas()
.
Для N-к-N воспроизведения данные в выходной таблице могли быть неправильно размещены, если элемент источника входных данных для таблицы был пустым.
В механизме оконного соединения: несогласованные подсчёты строк между выходной таблицей и левой входной таблицей при указании nullFill как [[]] и window = 0:0.
Периодические сбои создания потокового движка из-за неинициализированных внутренних переменных.
Для одновременных операций записи и запросов к таблицам базы данных TSDB поток запросов мог дать сбой, когда происходил OOM.
Для операций, связанных с промывкой данных, данные могли быть потеряны или операции могли застрять, если физический каталог раздела не существовал (например, он был удалён вручную).
Неправильный результат функции temporalAdd
при указании параметра unit как «M».
Ошибка хранения данных могла произойти при выполнении различных операций над одним и тем же разделом.
Проблемы, выявленные в версии 2.00.9.3:
Пользователи, которым предоставлены привилегии DB_READ или TABLE_READ, могут не иметь возможности выполнять запросы.
Сервер дал сбой в кластере высокой доступности при чтении журналов raft во время перезагрузки контроллера.
Сервер дал сбой при использовании loadText
для загрузки CSV-файла, содержащего непарные двойные кавычки ("").
После того как к таблице MVCC были добавлены новые столбцы, могла возникнуть проблема с данными. 2.00.9
Произошла ошибка в функции upsert!
, когда в TSDB-движке содержались столбцы векторного массива.
Завершение процесса DolphinDB с помощью команды kill-9 может привести к тому, что журналы повтора не будут удалены.
Может произойти сбой при вычислении таблицы, содержащей строковые столбцы, в реактивном механизме состояний.
Отправка метакода, содержащего неопределённые переменные через submitJob
, привела к сбою.
После восстановления после сбоя сети в кластере может произойти сбой узла.
Использование частичного применения в метапрограммировании с контекстом by может дать неверные результаты.
sqlObj не удалось распознать как метакод в replayDS
.
Сервер разбился при сортировке векторного массива функцией rank
.
Если левая таблица lj
является таблицей в памяти, а правая — таблицей DFS, расположенной в многоуровневом каталоге (например, dfs://mydbs/quotedb), будет сообщена об ошибке.
Сообщалось об ошибке, когда metric функции createTimeSeriesAggregator
содержал keyColumn.
Функция трассировки привела к утечке файловых дескрипторов.
Функция getClusterPerf
вызвала взаимоблокировку при одновременном выполнении двумя узлами в высокодоступном кластере.
Сбой может произойти при многократном выполнении функции accumulate
.
После завершения выполнения функции createDailyTimeSeriesEngine
в некоторых сценариях может быть сообщено об ошибке для данных временного типа в результатах запроса.
Для секционированной таблицы с указанной в базе данных TSDB sortKeyMappingFunction одновременные запросы с многопоточностью могут вызвать ошибку или сбой.
Неожиданный результат возвращён функцией isValid
при добавлении двух пустых строк.
Возвращены нулевые значения, когда в предложении where указано более 128 условий фильтрации, связанных ключевым словом or
.
Исключение, выброшенное функцией loadText
, может привести к взаимоблокировкам при высокой нагрузке.
После добавления функции в представление функций тело, запрошенное функцией getFunctionView
, имело на одну пару скобок меньше.
При доступе к строке из таблицы с использованием индекса был возвращён неверный результат для полей типа векторного массива.
Разбился сервер при извлечении строкового вектора путём нарезки с индексом вне границ.
Может произойти сбой при использовании функции высшего порядка each для применения определяемой пользователем функции к таблице.
Сообщено об ошибке, если minPeriods было установлено больше или равно 2 при расчёте векторных массивов с использованием функции moving
в памяти.
Не было выдано исключения, когда данные, добавленные в кросс-секционный движок, не соответствовали схеме фиктивной таблицы.
Восстановление базы данных TSDB с помощью функции restoreDB
вызвало взаимоблокировку.
Когда таблицы DFS объединяются с совпадающим столбцом, отличным от столбца разделения, и результат объединения запрашивается предложением select top
и разделом по столбцу, возвращается неверный результат.
Об ошибке сообщалось при использовании функций rpc
или remoteRun
для вызова частично применённой функции.
Файл, хранящий журналы заданий, был потерян, когда он достиг 1G.
Количество потоков openBLAS определялось на основе параметра конфигурации openblasThreads, а не на количестве ядер ЦП.
Произошла утечка памяти при записи данных типа STRING в таблицу в базе данных TSDB.
Движок TSDB не смог сбросить данные при настройке параметра TSDBCacheFlushWorkNum на значение меньше volumes.
Сериализация на узле данных не удалась, если метаданные раздела превысили 128M.
Операции DDL на узле данных вызвали ошибки статуса раздела из-за сбоя разрешения транзакций.
Ошибка воспроизведения журнала повторов привела к разделу. Статусные ошибки на узле данных (2.00.8):
Неверно удалена секция из-за сбоя миграции при перемещении секции в сконфигурированный холодный том многоуровневого хранилища (2.00.8).
При создании базы данных с atomic='CHUNK' произошёл медленный запуск из-за избыточных метаданных на контроллере (2.00.8).
Удаление таблицы DFS в базе данных TSDB с помощью команды delete вызвало чрезмерное использование памяти (2.00.8).
Преждевременно произошла повторная обработка старых данных после обновления (2.00.8).
После выполнения операции renameTable исходная таблица не была немедленно освобождена (2.00.8).
Сервер аварийно завершил работу при указании пути к секции, который заканчивался символом «/», для функции dropPartition (2.00.8).
Пользователи не могут удалять секции, которые были автоматически добавлены при создании таблицы DFS с секциями на основе значений путём указания условий для dropPartition (2.00.8).
Повторные удаления в пустой таблице вызвали ошибки cid в метаданных, хранящихся на узле данных (2.00.8).
Параметр dfsRecoveryConcurrency не вступил в силу после настройки (2.00.8).
При вставке векторного массива в потоковую таблицу обработчик подписки завершился неудачно (2.00.8).
Аварийное завершение работы сервера при передаче векторных массивов пользовательской функции, указанной для метрик createReactiveStateEngine (2.00.8).
Ошибка createReactiveStateEngine при указании фактора tablibNull для метрик (2.00.8).
Аварийное завершение работы сервера при указании внешних переменных для метрик streamEngineParser (2.00.8).
Аварийное завершение работы сервера, когда количество строк левой таблицы было меньше размера окна в window join (2.00.8).
Аварийное завершение работы сервера при использовании exec с limit и количестве возвращённых строк меньше limit (2.00.8).
Функции isDuplicated и nunique возвращали неверные результаты при работе с типами данных DOUBLE и FLOAT (2.00.8).
Вызов parseExpr в пользовательских функциях приводил к ошибке синтаксического анализа (2.00.8).
Функция getClusterPerf возвращала неверное значение maxRunningQueryTime (2.00.8).
Аварийное завершение работы сервера при использовании loadNpy для чтения чрезмерно больших файлов npy (2.00.8).
Переменные, определённые внутри цикла for, не могли быть доступны вне цикла с использованием версии DolphinDB JIT (2.00.8).
Сбор мусора журнала повторов зависал при непрерывной записи данных в базу данных OLAP (2.00.7).
Контроллер ошибочно считал узел живым после корректного завершения работы (2.00.7).
Блокировки секций преждевременно снимались из-за тайм-аута до разрешения транзакции, что приводило к сбою записи (2.00.7).
Условия запроса обрабатывались неверно при резервном копировании данных путём указания условий (2.00.7).
Аварийное завершение работы сервера при чрезмерно высокой нагрузке на машину (2.00.7).
Когда кластер перезапускался после обновления таблицы DFS, исходные физические каталоги могли не быть переработаны (2.00.7).
Сбой сериализации базовой символьной информации привёл к ошибкам чтения (2.00.7).
Подписке на потоковые данные не удалось получить данные, которые находились в памяти, но были удалены с диска (2.00.7).
Аварийное завершение работы сервера, когда число столбцов, вставленных с помощью appendForJoin, не соответствовало схеме таблицы левого или правого соединения (2.00.7).
Когда параметр updateTime функции createSessionWindowEngine был указан, а выходная таблица не являлась ключевой таблицей, расчёт не мог быть запущен после 2 * updateTime при поступлении записи (2.00.7).
Аварийное завершение работы сервера при непрерывном вводе данных в ежедневный механизм временных рядов после окончания сеанса (2.00.7).
Не удалось создать механизм объединения поиска, когда правая таблица была указана как общая ключевая таблица (2.00.7).
Если узел был перезапущен, когда потоковая таблица сохранялась на диск, могла произойти потеря данных и сбой декомпрессии (2.00.7).
Аварийное завершение работы сервера при указании временного столбца (большой формы массива) для dateColumn и timeColumn функции replay и установке absoluteRate=false (2.00.7).
Ошибки нет. Были сообщения о сбоях при определении функции, заданной пользователем, с постоянным возвращаемым значением для metrics реактивного механизма состояния. (2.00.7)
Сбой сервера при указании временных переменных для metrics createAnomalyDetectionEngine
. (2.00.7)
Сообщалось об ошибке «Предложение select запроса не ссылается ни на один столбец» при выполнении операций context by
над таблицей DFS с использованием метапрограммирования. (2.00.7)
При использовании SQL update
с context by
, если первый столбец был установлен как целочисленный тип, а последующие столбцы были установлены как типы с плавающей запятой, значения в столбцах с плавающей запятой округлялись. (2.00.7)
Параллельные запросы pivot by
могут зависнуть при небольшом количестве рабочих потоков. (2.00.7)
Сбой сервера при использовании HINT_EXPLAIN
для запроса данных из трёхуровневой секционированной таблицы. (2.00.7)
Неверные результаты при использовании функции binsrch
на подмассиве типа STRING. (2.00.7)
Функция cast
возвращала пустое значение при преобразовании вектора типа STRING в кортеж. (2.00.7)
При агрегировании нескольких столбцов INT128 таблицы в памяти возникала ошибка «Функция min для редукционных операций не поддерживает тип данных INT128». (2.00.7)
getFunctionView
не вернул некоторые тела представлений функций. (2.00.7)
Неверный результат применения функции removeHead!
к векторным векторам. (2.00.7)
Сбой сервера при добавлении пустого кортежа к самому себе и последующей загрузке. (2.00.7)
Сбой сервера при интерполяции интервала в запросе SQL, если детализация типа данных, указанная для временного диапазона в предложении where, больше детализации времени, указанной параметром duration параметра interval
. (2.00.7)
Сбой сервера при использовании функции twindow
в запросе SQL. (2.00.7)
Ошибка update
таблицы DFS, когда имена столбцов установки не совпадали с исходными именами столбцов (включая несоответствия с учётом регистра). (2.00.7)
Когда функция iterate
была включена в metrics реактивного механизма состояний и был включён механизм очистки данных, при вставке данных во время очистки исторических данных возникала ошибка "vector::_M_default_append". (2.00.7)
При вызове matrix([[datehour(0)],[datehour(0)])
для создания матрицы возникала ошибка «Объект данных для матричной функции не может быть строкой или любым типом». (2.00.7)
При указании countNanInf
для параметра aggs функции wj
возникала ошибка «Оконная объединяющая функция должна быть агрегатной функцией». (2.00.7)
Если для createDailyTimeSeriesEngine
не была указана группа, любые нерассчитанные данные за предыдущий день объединялись в первое окно следующего дня. (2.00.7)
Результат расчёта первого окна по дням в ежедневном механизме временных рядов был неверным. Кроме того, когда функция fill
использовалась для заполнения значений NULL, выводились данные вне сеанса. (2.00.7)
Задачи в состоянии In-Progress не могли быть восстановлены во время онлайн-восстановления. (2.00.7)
Сбой сервера при указании useSystemTime=true и mode
для metrics createTimeSeriesEngine
. (2.00.7)
При указании функции tmove
или move
для метрик createReactiveStateEngine
сервер аварийно завершал работу, если X был типа STRING или SYMBOL. (2.00.7)
Неверные результаты функции wj
при указании atImax
или atImin
для aggs. (2.00.7)
Вставка данных не удалась с помощью tableInsert
при разделении и назначении потоковой таблицы с помощью streamFilter
. (2.00.7)
Неудача вставки streamFilter
может привести к отключению сеанса из-за слишком длинных сообщений об ошибках. (2.00.7)
При указании функций firstNot
или lastNot
для metrics createTimeSeriesEngine
или createReactiveStateEngine
и установке fill=ffill
вывод не соответствовал ожиданиям. (2.00.7)
Сервер аварийно завершил работу при указании функций mfirst
или mlast
для metrics createReactiveStateEngine
, а X имел тип FLOAT, SHORT, CHAR, BOOL, INT128, STRING. (2.00.7) - Выполнение функции tableInsert изменило атомарный уровень базы данных с 'CHUNK' на 'TRANS'. (2.00.7)
При указании tm-функций для metrics createReactiveStateEngine и window параметра функции установлено значение y, M или B, результат расчёта был неверным. (2.00.7)
Утечка файлового дескриптора при использовании TSDB-движка версии 2.00.6 в Windows. (2.00.7)
Несогласованные столбцы STRING между репликами после онлайн-восстановления. (2.00.7)
При передаче данных типа TIME в index функции resample и установке origin="end" и rule="D" была зарегистрирована ошибка «Invalid value for HourOfDay (valid values 0 - 23): 39». (2.00.7)
Зарегистрирована ошибка при предоставлении разрешений администраторами (кроме супер администратора). (2.00.7)
Исключение повторного журнала при OOM в TSDB-двигателе. (2.00.7)
Неверные результаты при расчёте imin или imax с помощью byRow на матрице с пустой строкой. (2.00.7)
Функция getControllerPef возвращала неверный агент-сайт при сбое контроллера. (2.00.7)
Сбой сервера при вызове interval в SQL-запросе и агрегировании данных пользовательской функцией. (2.00.7)
Если dataSync не настроен, возникает ошибка при динамическом вызове функции addNode для добавления узла. (2.00.7)
Ошибка OOM из-за одновременных записей, запросов или вычислений может привести к зависанию сервера. (2.00.6)
Если в TSDB-движке включена дедупликация данных, то при одновременной записи и чтении результат может быть неверным. (2.00.6)
При одновременной записи и чтении в OLAP-движке результат может быть неверным. (2.00.6)
Запрос с использованием exec с limit 1 в TSDB-движке возвращает таблицу, а не вектор. (2.00.6)
При записи в кэш-двигатель OLAP, если возникает исключение, отличное от OOM, система будет многократно пытаться выполнить перезапись, что приводит к зависанию сервера. (2.00.6)
Если узел данных запускается через веб-интерфейс или кластер перезапускается повторно, создаются несуществующие процессы. (2.00.6)
Вызов moveReplicas после выполнения suspendRecovery приводит к сбою перемещения некоторых фрагментов. (2.00.6)
После отправки параллельных задач при перезагрузке кластера некоторые фрагменты всегда находятся в состоянии RECOVERING. (2.00.6)
Использование delete для удаления большого объёма данных может привести к неверной информации, записанной в файл контрольной точки, что вызывает сбой узла и невозможность его перезапуска. (2.00.6)
Включение снимка в реактивном потоковом движке состояний приводит к сбою сервера при повторной подписке на таблицу с разными метриками. (2.00.6)
Добавление одной записи в движок поиска по соединениям может вызвать сбой сервера. (2.00.6)
Если данные, записываемые в таблицу высокой доступности, имеют другую схему, они всё равно могут попасть в постоянную очередь, и после переключения лидера будет сообщено об ошибке «Can't find the object with name». (2.00.6)
Если параметр fill указан для createDailyTimeSeriesEngine, результат даты без данных заполняется. (2.00.6)
Пользователь, не являющийся администратором, может использовать функцию createUser. (2.00.6)
Команда changePwd не ограничивает длину нового пароля. (2.00.6)
Если вектору массива требуется большой объём памяти, но он не достигает warningMemSize, возникает ошибка OOM. (2.00.6)
matrix([],[]) приводит к сбою сервера. (2.00.6)
При использовании exec с pivot by, если на столбце exec не используется функция, оператор будет генерировать таблицу, а не матрицу. (2.00.6)
Если numJobs > 1 или numJobs = -1 задано в функции randomForestClassifier для параллельных заданий, повторное использование dataSource приводит к сбою сервера. (2.00.6)
Если точность параметра duration функции interval отличается от точности параметра X, происходит сбой. (2.00.6)
При создании ключевой таблицы в памяти с keyedTable(keyColumns, table), если... В таблице keyColumns есть повторяющиеся значения, происходит утечка памяти. (2.00.6)
При перемещении функций, которые можно использовать с матрицами, таких как mcorr
и mwavg
, при вычислении на индексированных матрицах столбец меток может быть потерян в результате. (2.00.6)
Функция LoadTextEx
не сообщает об ошибке при возникновении исключения загрузки данных с версии 2.00.4. (2.00.6)
Может произойти тайм-аут восстановления журнала повторов при медленной синхронизации транзакции с диском, что приведёт к потере данных после перезапуска сервера. (2.00.4)
Узел данных не запускается и выдаёт сообщение об ошибке «Не удалось открыть файл открытого ключа. Нет такого файла или каталога» при запуске нескольких кластеров DolphinDB на одном сервере. (2.00.4)
Запланированное задание в кластере высокой доступности может завершиться неудачно из-за сбоя аутентификации переключённого лидера, поскольку исходные UUID различаются между контроллерами. (2.00.4)
После сбоя узла данных агентский узел перезагружает автономный узел каждую секунду вместо указанных интервалов, настроенных в параметре datanodeRestartInterval. (2.00.4)
Когда параметр jobFunc функции scheduleJob
содержит оператор SQL обновления и предложение where с функциями, десериализация завершается неудачно после перезагрузки системы. (2.00.4)
Исходные физические каталоги не перерабатываются после обновления распределённой таблицы, если транзакция не может быть зафиксирована. (2.00.4)
В сценарии с высоким уровнем параллелизма полностью занятый диск журнала повторов может вызвать взаимоблокировку в потоке восстановления журнала повторов. (2.00.4)
Если событие OOM возникает при записи в узел данных, узел зависает на некоторое время, а затем падает, вместо того чтобы сообщить об ошибке. (2.00.4)
Для таблицы, разделённой по timeCol, с более чем двумя sortColumns (где timeCol является последним столбцом), механизм TSDB может аварийно завершить работу при запросе таблицы для получения первых k строк записей, сгруппированных по sortColumns и отсортированных по timeCol (context by sortColumns csort timeCol limit k
). (2.00.4)
При одновременной модификации журнала редактирования в механизме TSDB узел данных не может перезапуститься. (2.00.4)
Состояние чанка устанавливается неправильно, когда время ожидания отката транзакции истекает, вызывая сбой сохранения в потоковой таблице. (2.00.4)
Ошибка проверки параметров с функцией createCrossSectionalEngine
: когда timeColumn указан без установки useSystemTime в значение true, ошибка не возникает. (2.00.4)
Для механизма потокового временного ряда, когда useSystemTime установлено в значение true и outputTable является распределённой таблицей, может возникнуть исключение несоответствия типов данных. (2.00.4)
Если delayedTime указано в механизме потокового соединения asof, операции записи могут привести к сбою сервера. (2.00.4)
При добавлении более 65536 строк записей в таблицу высокой доступности дважды и откате индекс.log сообщает об ошибке «индекс.лог содержит недопустимые данные», так как записываются два одинаковых индекса. (2.00.4)
Запись в механизм потоковых временных рядов, ежедневный механизм потоковых временных рядов или механизм потокового соединения asof может привести к сбою сервера в Windows. (2.00.4)
Когда поток subExecutor всё ещё имеет задачи в процессе выполнения, после успешного выполнения unsubscribeTable
, getStreamingStat().subWorkers
по-прежнему возвращает отписанные темы. (2.00.4)
Загрузка таблицы высокой доступности может завершиться неудачей после перезапуска узла. (2.00.4)
Повторное подключение не удаётся после переключения лидеров в группах raft таблицы потоков и подписчика. (2.00.4)
Когда triggeringPattern = 'keyCount' и triggeringInterval — это кортеж, createCrossSectionalEngine
возвращает повторяющиеся результаты. (2.00.4)
Возникает ошибка «Не удалось распаковать вектор. Недействительный формат сообщения» при загрузке сохранённой таблицы потоков, содержащей данные BLOB. (2.00.4)
Происходит сбой при записи данных BLOB в таблицу потоков, и одна запись превышает 64 КБ. (2.00.4)
После присвоения значений добавленному столбцу в таблице в памяти с помощью оператора select
вместо оператора exec
. Узел падает при загрузке таблицы (2.00.4).
При обращении к таблице в памяти с векторными массивами через графический интерфейс пользователя (GUI) происходит отключение сеанса от сервера (2.00.4).
Возникает ошибка «Только для чтения объект или объект без владения не может быть применён к изменяемой функции readRecord!» при загрузке двоичных файлов с помощью функции readRecord!
(2.00.4).
Парсер может сообщать об ошибке для вызовов функций, когда правая скобка не размещена на той же строке, что и левая (2.00.4).
Выполнение функции replayDS
на таблице с векторными массивами приводит к падению узла (2.00.4).
При запросе разделённой таблицы с доменом значений для последних k строк записей в каждой группе (context by partitionCol limit -k
) некоторые результаты не удовлетворяют условиям where, если в разделе нет подходящих данных (2.00.4).
Ошибка «Более одного столбца имеет повторяющееся имя» возникает при вызове функций rolling
или moving
в операторе SQL без указания имени сгенерированного столбца (2.00.4).
Генерируются значения NULL, если данные не найдены в step-длительности функции interval
(2.00.4).
Неправильно указанный параметр rowKeys функции sliceByKey
приводит к сбою сервера (2.00.4).
После замены вектора значениями NULL флаг NULL не устанавливается (2.00.4).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )