2.00.11
Version: 2.00.11 Compatibility Level 2 with 2.00.10 and 1.30.22
For details, see Compatibility Changes.
Release Date: 2024-01-03
Available Downloads:
New Features
-
Added function
fromStdJsonfor parsing standard JSON objects into DolphinDB variables. (2.00.11.6) -
Added function
sqlTupleto generate metacode with a tuple expression. (2.00.11.3) -
Added functions
adfullerandcointfor cointegration testing. (2.00.11.2) -
Added configuration parameter s3Endpoint for accessing AWS S3. (2.00.11.2)
-
Added function
regexFindStrto find substrings that match a regular expression in a given string.(2.00.11.1) -
Added functions
highLongandlowLongto parse 16-byte data (such as INT128, UUID, IPADDR) to high-order and low-order 8-byte long integer data. (2.00.11.1) -
Added configuration parameter enableDFSQueryLog to configure whether to log all DFS queries. (2.00.11.1)
-
Soft delete can be enabled for TSDB databases with newly added parameter softDelete. A soft delete marks a record as no longer active or valid without actually deleting it from the database. Soft deletes can improve performance, and can allow "deleted" data to be recovered. (2.00.11)
-
Added support for using the OVER clause with window functions which compute values over a particular window (group of rows) and return a single result for each row, including:
sum,avg,std,stdp,var,varp,count,min,max,skew,kurtosis,med,rank,dense_rank,percent_rank,row_number,cume_dist,lead,lag,ntile,first_value,last_value, andnth_value. (2.00.11) -
Implemented user-level resource management (2.00.11):
-
Added function
getUserHardwareUsageto get CPU and memory usage samples. -
Added function
getUserTableAccessRecordsto get SQL queries on DFS tables. -
Added functions
enableResourceTrackinganddisableResourceTrackingto enable and disable resource isolation. -
Added configuration parameters resourceSamplingInterval, resourceSamplingMaxLogSize, and resourceSamplingLogRetentionTime to set the collection interval, log splitting size threshold, and log retention time for usage sampling.
-
-
Added configuration parameter jobParallelismHardLimit to limit the maximum number of workers a job can use to the parallelism of that job. (2.00.11)
-
Added configuration parameter defaultJobParallelism to set the default parallelism for jobs submitted by users. (2.00.11)
-
Added configuration parameter datanodeRestartLevel to set the triggering condition for the controller to automatically restart the data/compute node. Added function
setDatanodeRestartIntervalto set the restart interval online and functiongetDatanodeRestartIntervalto obtain the configured datanodeRestartInterval. (2.00.11) -
Added configuration parameters thirdPartyCreateUserCallback and thirdPartyDeleteUserCallback to call back specified function views when using the
createUseranddeleteUserfunctions. (2.00.11) -
Added functions
RidgeCV,ElasticNetCV, andLassoCVfor cross-validation of machine learning models. (2.00.11) -
Added functions
iminLast/imaxLast/miminLast/mimaxLast/rowIminLast/rowImaxLastto return the maximum index for multiple extreme values. (2.00.11) -
Added financial functions
bondDuration,bondDirtyPrice, andbondConvexityto calculate the bond duration, dirty price and convexity. (2.00.11) -
Added function
signbitto get the sign of ±0.0. (2.00.11) -
Added function
submitJobEx2which has similar functionality assubmitJobExbut supports passing in a callback function. (2.00.11) -
Added functions
polyFitandpoly1dfor polynomial fitting. (2.00.11) -
Added function
cubicSplineandcubicSplinePredictfor cubic spline interpolation and prediction. (2.00.11) -
Added function
kendallto calculate the Kendall rank correlation coefficients. (2.00.11) -
Added functions
clipandclip!to truncate data outside a given range. These functions have similar functionality tonumpy.clip. (2.00.11) -
Added function
tableUpsertwhich has the same functionality asupsert!but returns the number of records that have been updated and inserted. (2.00.11) -
Added function
brentqto find a root of a function in a bracketing interval using Brent's method. (2.00.11) -
Added function
snippetto return the results as a STRING scalar. (2.00.11) -
Added function
socpwhich minimizes a linear objective function within specified constraints for solving second-order cone programs. (2.00.11) -
Added configuration parameter enableLocalDatabaseto enable or disable local database creation. (2.00.11)
-
Added maintenance function
getTSDBDataStatto obtain statistics of the TSDB engine. (2.00.11) -
Added function
existsStreamTableto check if a stream table exists. (2.00.11) -
Added function
getStreamTablesto get the information of all stream tables. (2.00.11) -
Added function
createRuleEngineto create a streaming rule engine which validates the inputs with user-defined rule sets. Added functionsupdateRuleanddeleteRuleto update or delete the rule sets. (2.00.11) -
Added function
createNarrowReactiveStateEngineto create a reactive state engine that reorganizes the results into a narrow format. Added functionaddReactiveMetricsto add new metrics to the engine and functiongetReactiveMetricsto retrieve metrics. (2.00.11)
Improvements
-
Added support for creating a matrix of STRING type. (2.00.11.4)
-
When invoking
getCurrentSessionAndUserwithin the handler parameter ofsubscribeTable, it will return the "sessionID" of the session from which thesubscribeTableoperation was executed. (2.00.11.3) -
When invoking
getCurrentSessionAndUserwithin the filter parameter ofstreamFilter, it will return the "sessionID" of the session from which the stream filter engine was created. (2.00.11.3) -
When parameter triggeringPattern of function
createCrossSectionalEngineis set to “dataInterval“, the calculation will now be triggered only for intervals where new data has been received, instead of for all intervals. (2.00.11.3) -
The args parameter of function
makeUnifiedCallnow supports input of metacode with a tuple expression. (2.00.11.3) -
Function
hexnow can convert floating numbers to hexadecimal. (2.00.11.3) -
Trading calendar now can specify weekends as trading days. (2.00.11.3)
-
Function
backupsupports backup of cold data. (2.00.11.3) -
Partial application now supports using object methods. (2.00.11.3)
-
Function
replayDSsupports input of DECIMAL type. (2.00.11.2) -
Non-key columns of a keyed stream table can be array vectors. (2.00.11.2)
-
Lambda expression supports
object.method(...)usage. (2.00.11.2) -
Specific elements in array vectors and columnar tuples can be modified by referring to their row and column indices. (2.00.11.2)
-
Optimized the performance of
select,update, anddeletewhen usingmakeKey. (2.00.11.2) -
Optimized the precision of results returned by function
format. (2.00.11.2) -
The JIT version does not support chained operation with
append!. (2.00.11.2) -
A new column "owner" that displays the object creator is added to the table returned by function
objswhen querying shared variables. (2.00.11.1) -
The following functions support specifying trading calendars when taking arguments of DURATION type:
interval,wj,twindow,temporalAdd,duration,move,tmove,moving,tmovingWindowDataand time-based moving functions. (2.00.11.1) -
Added parameter method to function
olsto allow users to construct coefficient matrices and inverse matrices or use singular value decomposition for ordinary least squares. (2.00.11.1) -
Optimized the performance of
temporalAddwhen adding trading days to a temporal vector. (2.00.11.1) -
Empty objects are allowed in the following higher-order functions:
each,eachPre,eachPost,eachLeft,eachRight,cross,reduce,accumulate,any,all,loop, andploop. (2.00.11.1) -
The values in the dictionary passed to the
transposefunction can be specified as scalars. (2.00.11.1) -
Added support for Copy-On-Write (COW) of dictionaries and tuples. (2.00.11.1)
-
Line breaks are supported before the
member(.)operator in scripts. (2.00.11.1) -
Integrated modules and function view functionality (2.00.11):
-
Enabled namespace (module) for function view to prevent name conflicts. Any addition or deletion operations on function views will be synchronized and persisted to all nodes in a cluster.
-
Modified VIEW_EXEC privilege to enable operations on all function views within the specified modules.
-
-
Enhanced access control on job cancellation. (2.00.11)
-
The value of a dictionary can take the DECIMAL type. (2.00.11)
-
window joinsupports special windows (= 0:0). The windows over the right table are determined by the current timestamp in the left table and its previous timestamp. (2.00.11) -
Added return values for function
schema(2.00.11):-
the database and table creator;
-
compression algorithm for each column;
-
whether soft delete is enabled.
-
-
The
loadPluginfunction allows directly loading the plugin by specifying the filePath parameter as the plugin name. (2.00.11) -
The
backupfunction now supports setting backupDir to a directory on AWS S3. (2.00.11) -
Functions
rowlmaxandrowlminnow support passing array vectors as inputs. (2.00.11) -
Enhanced functions
transFreq,asFreq, andresample(2.00.11):-
The closed and label parameters have been relaxed to allow more flexible specification when the time precision of rule is larger than day.
-
Added support for multiple trading days frequency for operations.
-
-
Function
movingnow supports passing a matrix as input (2.00.11). -
Added support for online update for licenses with trial authorization. (2.00.11)
-
Function
rowAtnow supports taking columnar tuples as input. (2.00.11) -
Function
unpacknow supports taking BLOB data as input. (2.00.11) -
Enhanced higher-order functions
byRowandbyColumn: (2.00.11)-
Added support for symbols :H and :V which can be composed together.
-
Added support for taking array vectors and columnar tuples as inputs.
-
-
Function
transposenow supports taking array vectors and columnar tuples as inputs. (2.00.11) -
Functions
toJsonandtoStdJsonsupport escape characters when converting BLOB types. (2.00.11) -
Optimized the performance of functions
scsandquadprog. (2.00.11) -
The
unionAllfunction supports NULL values for the first element when the input is a tuple. (2.00.11) -
The memory taken up by the dimension table now will be released automatically. (2.00.11)
-
Function
replaceColumns!supports replacing multiple columns of an in-memory table. (2.00.11) -
Optimized query performance for the case when the TSDB table has more than two sortColumns and sort key hashing is enabled. (2.00.11)
-
For value-partitioned tables with partitioning columns of STRING or SYMBOL type, configuration parameter ignoreSpecialCharacterInPartitionId is added to specify whether to ignore ':' and '.' in partitioning columns when creating partition directories. (2.00.11)
-
Optimized the performance of function
createAsofJoinEngine. (2.00.11) -
Added parameter outputElapsedMicroseconds for the asof join engine and lookup join engine to output the elapsed time of each calculation. (2.00.11)
-
Functions
createAsofJoinEngine,createSessionWindowEngine, andcreateLeftSemiJoinEnginenow support passing array vectors as inputs. (2.00.11) -
The calculation of time series engine now can be triggered by each incoming record with updateTime = 0. (2.00.11)
-
Added parameterskeyCapacity and parallelism for the reactive state engine to address the performance issue when calculating within a large number of groups. (2.00.11)
-
The state function defined in metrics of a reactive state engine now supports using for loops. (2.00.11)
-
Added parameter keepDuplicates for the lookup join engine to specify whether to keep all matching records in the right table. (2.00.11)
-
Added parameter subWindow for the time series engine to enable calculations in a subset time range within the window. (2.00.11)
-
Enhanced the streaming monitoring with function
getStreamingStatfor the status of workers of subscriber nodes. (2.00.11) -
Function
tmsum2can be used as a state function in a reactive state engine. (2.00.11) -
The cumTopN functions can be used as state functions in a reactive state engine. (2.00.11)
-
Added parameter closed for special windows of the reactive state engine to enable windows to be left-open and right-closed. (2.00.11)
-
Added option "dataInterval" for parameter triggeringPattern of function
createCrossSectionalEngineto calculate at intervals based on timestamps in the data. (2.00.11) -
Added option "saltedHash" for parameter dispatchType of function
createStreamDispatchEngineto apply a salted hash algorithm on keyColumn and distribute records based on the hash result. (2.00.11) -
Added parameter preciseRate of function
replayto specify whether to replay at replayRate times the time difference between two adjacent records. (2.00.11) -
Data of DECIMAL type now can be calculated in streaming engines. (2.00.11)
-
Enhanced job execution logs to include detailed tracking for UPDATE and DELETE statements. (2.00.11)
-
Optimized the query performance on partitioned tables which contain over 100000 rows or over 1000 partitions. (2.00.11)
-
The GROUP BY is followed by a non-partitioned column and the SELECT clause uses a function that cannot be distributed, such as a UDF.
-
The CONTEXT BY is followed by a non-partitioned column and the [HINT_KEEPORDER] keyword is not used.
-
-
For filtering conditions in a distributed query, DATE type can be compared with higher precision temporal types. (2.00.11)
-
Added size constraints for STRING, BLOB, and SYMBOL data written to distributed databases. (2.00.11)
-
Updated the exchange calendars for Year 2024. (2.00.11)
Issues Fixed
-
Fixed server crashes caused by SQL queries if a database path was not a string. (2.00.11.6)
-
Fixed an issue where replay tasks got stuck if the number of workers was significantly smaller than the number of partitions. (2.00.11.6)
-
Fixed an error in SQL queries with
pivot byclause when theselect/execclause contained expressions. (2.00.11.6) -
Fixed an error when restoring manual backup files from Amazon S3. (2.00.11.6)
-
Fixed server crashes when passing a tuple with no vector elements to
nunique. (2.00.11.5) -
Fixed an issue where data with a sort key was not properly split, leading to an excessively large block in a TSDB database when keepDuplicates = ALL. (2.00.11.5)
-
Fixed an issue where asynchronous replication occasionally got stuck. (2.00.11.5)
-
Fixed server crashes when passing a dictionary to
at:Rorat:L. (2.00.11.5) -
Fixed occasional execution failures for tasks scheduled at around 24:00. (2.00.11.4)
-
Fixed occasional crashes when tracking resources were enabled. (2.00.11.4)
-
Fixed server crashes caused by stack overflow when using function
mrankwith excessively large data. (2.00.11.3) -
Fixed a parsing issue for binary operator with function patterns, e.g +:A(1, 2 3 4). (2.00.11.3)
-
Fixed the error when using function
evalto evaluate a lambda expression parsed byparseExpr. (2.00.11.3) -
Fixed an issue where the value of CODE type returned from a user-defined function was incorrectly interpreted as of STRING type. (2.00.11.3)
-
Fixed the deserialization failure when calling a module function with the
rpcfunction. (2.00.11.3) -
Fixed the issue where data being asychronously replicated was removed when the controller failed to commit the transaction. This issue was introduced since version 2.00.11. (2.00.11.3)
-
Fixed server crashes that occurred when executing a SQL statement with vectorization applied to grouping columns and SELECT columns using the
last()function without any arguments. (2.00.11.3) -
Fixed a parsing issue that occurred when attempting to sort a non-existent column within a SQL statement. A validation check for the sorted column has been added, and an error will now be reported in such cases. (2.00.11.3)
-
Fixed data inconsistency during online recovery of replicas with large amount of different data. (2.00.11.2)
-
Fixed occasional server crashes caused by OOM. (2.00.11.2)
-
Fixed server crashes due to concurrent race conditions during remote streaming subscriptions. (2.00.11.2)
-
Fixed the issue where batch job queue got stuck due to job creation failures. (2.00.11.2)
-
Fixed a server startup failure due to deserialization error when a function view involved the
updateoperations on shared tables. (2.00.11.1) -
Fixed an issue where a transaction was stuck in a resolution state due to frequent resolution requests. (2.00.11.1)
-
Fixed an issue where the login or shutdown operations on a cluster via the web interface may get stuck under heavy load. (2.00.11.1)
-
Fixed a bug where the query scripts returned by function
getUserTableAccessRecordswere truncated by commas. (2.00.11.1) -
Fixed occasional metadata errors arising from frequent OOM rollbacks across multiple transactions. (2.00.11.1)
-
Fixed incorrect results of
eachwhen the input was a partially-applied function (such asmakeCallandbinaryExpr). (2.00.11.1) -
Fixed server crashes when the obj of
upsert!was a keyed table with the original key column of STRING type and the corresponding newData column of SYMBOL type, and ignoreNull was set to true. (2.00.11.1) -
Fixed incorrect results of
rowImax,rowImin,rowImaxLastandrowIminLastwhen taking columnar tuples. (2.00.11.1) -
Fixed incorrect results of
addwhen taking BLOB vectors. (2.00.11.1) -
Fixed incorrect results of
updateon DFS tables when aggregate functions, order-sensitive functions or user-defined functions were applied across partitions. (2.00.11.1) -
Fixed incorrect query results when the where condition of a SQL query was specified as NULL. (2.00.11.1)
-
Fixed incorrect query results when a SQL query involved
order byclause, and the where conditions used AND to specify multiple conditions containing aggregations. (2.00.11.1) -
Fixed an error when a SQL
order byclause specified variable names. This issue was introduced in versions 2.00.10 / 1.30.22. (2.00.11.1) -
Fixed server crashes when using
case whento evaluate an empty table in a SQL query. (2.00.11.1) -
Fixed an error when using the
findfunction in theorder byclause. This issue was introduced in version 2.00.11. (2.00.11.1) -
Fixed occasional server crashes during streaming subscription. (2.00.11.1)
-
Fixed an issue where multiple identical topics were generated after repeated streaming subscription and unsubscription. (2.00.11.1)
-
Fixed an error for
createReactiveStateEnginewhen the parallelism parameter was set and metrics contained constant expressions. (2.00.11.1) -
Fixed an error when
sliceByKeyaccepted a shared keyed table as input. (2.00.11.1) -
Fixed restore failures when attempting recovery for TSDB tables created without a specified sortKeyMappingFunction parameter or with sortKeyMappingFunction set to the asis function. (2.00.11.1)
-
Fixed an issue where users failed to delete redundant abnormal replicas through
deleteReplicas. (2.00.11.1) -
Fixed access denial errors when using nested function views. (2.00.11)
-
Fixed server crashes when appending NULL values to array vector columns in a window join engine. (2.00.11)
-
Fixed "No such file or directory" errors when reading empty dimension tables which were restored from backups after server restart. (2.00.11)
-
Fixed sporadic type mismatch errors during query execution for a TSDB table created with sortKeyMappingFunction when data was being flushed from cache engine to disk. (2.00.11)
-
Fixed server crashes when using
olson TSDB table columns withoutwhereconditions. (2.00.11) -
Fixed occasional errors when renaming columns using
rename!. (2.00.11) -
Fixed startup failures when dataSync=1 was configured on the controller but chunkCacheEngineMemSize was not set on the compute nodes. (2.00.11)
-
Fixed server restart failure due to replay issues after writing strings over 64 KB to distributed tables. (2.00.11)
-
Fixed incorrect
nuniqueresults calculated over multiple fields. (2.00.11) -
Fixed server crashes when using
eachon array vector columns in TSDB tables withoutwhereconditions. (2.00.11) -
Fixed server crashes when the symbol
:R(of high-order functioneachRight) took an incorrect number of arguments. (2.00.11) -
Fixed errors when querying the table imported with
loadTextfrom a non UTF-8 formatted CSV file. (2.00.11) -
Fixed incorrect results when applying the
stringfunction withbyRowon a matrix. (2.00.11) -
Fixed incorrect
alignresults on series with non-increasing labels that contain duplicates. (2.00.11) -
Fixed incorrect results of the parallel computation of peach for ignoring NULL values. (2.00.11)
-
Fixed memory leaks when calling
resample. (2.00.11) -
Fixed a bug where the
corrMatrixfunction modified values of input arguments. (2.00.11) -
Fixed the following issues with
fromJson(2.00.11):-
Server crashes caused by dictionary value being an empty JSON tuple.
-
Incorrect results caused by dictionary value being nested JSON tuples.
-
-
Fixed occasional row count mismatch errors when specifying both partition and byColName for function
unionAll. (2.00.11) -
Fixed an issue where
streamEngineParserfailed to create streaming engines due to parsing errors if row-based metrics invoked functions with multiple return values. (2.00.11) -
Fixed an issue where the subscriber consuming messages at a slower pace compared with other subscribers failed to read data. (2.00.11)
-
Fixed server crashes caused by ingesting an empty table into the left table of a lookup join engine. (2.00.11)
-
Fixed deadlocks when two nodes simultaneously call
unsubscribeTableto cancel subscriptions to the same table on a remote node. (2.00.11) -
Fixed incorrect results of
createTimeSeriesEnginewhen specifying multiple columns for timeColumn and calculating on one of the time columns. (2.00.11) -
Fixed incomplete results when using the
mapkeyword withcontext byclause. (2.00.11) -
Fixed an issue where calculations were not conducted after sorting within groups when order-sensitive functions were used in the
selectclause withcontext byandcsort. (2.00.11) -
Fixed errors when using aggregate functions on vector slices in the
selectclause withgroup by. (2.00.11) -
Fixed an issue where a variable with the same name as a function view was incorrectly parsed in a SQL
whereclause if theandoperator was used. (2.00.11) -
Fixed server crashes when the variable after
drop tabledid not exist. (2.00.11) -
Fixed incorrect results when using the
zigzagfunction in theselectclause withcontext by. (2.00.11) -
Fixed server crashes on Windows when applying
group byto long strings. (2.00.11) -
Fixed an issue with
sqlDSdata sources whereby specified partitions from the right table were absent in the generated output when joining two distributed tables. (2.00.11)
