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
fromStdJson
for parsing standard JSON objects into DolphinDB variables. (2.00.11.6) -
Added function
sqlTuple
to generate metacode with a tuple expression. (2.00.11.3) -
Added functions
adfuller
andcoint
for cointegration testing. (2.00.11.2) -
Added configuration parameter s3Endpoint for accessing AWS S3. (2.00.11.2)
-
Added function
regexFindStr
to find substrings that match a regular expression in a given string.(2.00.11.1) -
Added functions
highLong
andlowLong
to 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
getUserHardwareUsage
to get CPU and memory usage samples. -
Added function
getUserTableAccessRecords
to get SQL queries on DFS tables. -
Added functions
enableResourceTracking
anddisableResourceTracking
to 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
setDatanodeRestartInterval
to set the restart interval online and functiongetDatanodeRestartInterval
to obtain the configured datanodeRestartInterval. (2.00.11) -
Added configuration parameters thirdPartyCreateUserCallback and thirdPartyDeleteUserCallback to call back specified function views when using the
createUser
anddeleteUser
functions. (2.00.11) -
Added functions
RidgeCV
,ElasticNetCV
, andLassoCV
for cross-validation of machine learning models. (2.00.11) -
Added functions
iminLast
/imaxLast
/miminLast
/mimaxLast
/rowIminLast
/rowImaxLast
to return the maximum index for multiple extreme values. (2.00.11) -
Added financial functions
bondDuration
,bondDirtyPrice
, andbondConvexity
to calculate the bond duration, dirty price and convexity. (2.00.11) -
Added function
signbit
to get the sign of ±0.0. (2.00.11) -
Added function
submitJobEx2
which has similar functionality assubmitJobEx
but supports passing in a callback function. (2.00.11) -
Added functions
polyFit
andpoly1d
for polynomial fitting. (2.00.11) -
Added function
cubicSpline
andcubicSplinePredict
for cubic spline interpolation and prediction. (2.00.11) -
Added function
kendall
to calculate the Kendall rank correlation coefficients. (2.00.11) -
Added functions
clip
andclip!
to truncate data outside a given range. These functions have similar functionality tonumpy.clip
. (2.00.11) -
Added function
tableUpsert
which has the same functionality asupsert!
but returns the number of records that have been updated and inserted. (2.00.11) -
Added function
brentq
to find a root of a function in a bracketing interval using Brent's method. (2.00.11) -
Added function
snippet
to return the results as a STRING scalar. (2.00.11) -
Added function
socp
which 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
getTSDBDataStat
to obtain statistics of the TSDB engine. (2.00.11) -
Added function
existsStreamTable
to check if a stream table exists. (2.00.11) -
Added function
getStreamTables
to get the information of all stream tables. (2.00.11) -
Added function
createRuleEngine
to create a streaming rule engine which validates the inputs with user-defined rule sets. Added functionsupdateRule
anddeleteRule
to update or delete the rule sets. (2.00.11) -
Added function
createNarrowReactiveStateEngine
to create a reactive state engine that reorganizes the results into a narrow format. Added functionaddReactiveMetrics
to add new metrics to the engine and functiongetReactiveMetrics
to retrieve metrics. (2.00.11)
Improvements
-
Added support for creating a matrix of STRING type. (2.00.11.4)
-
When invoking
getCurrentSessionAndUser
within the handler parameter ofsubscribeTable
, it will return the "sessionID" of the session from which thesubscribeTable
operation was executed. (2.00.11.3) -
When invoking
getCurrentSessionAndUser
within 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
createCrossSectionalEngine
is 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
makeUnifiedCall
now supports input of metacode with a tuple expression. (2.00.11.3) -
Function
hex
now can convert floating numbers to hexadecimal. (2.00.11.3) -
Trading calendar now can specify weekends as trading days. (2.00.11.3)
-
Function
backup
supports backup of cold data. (2.00.11.3) -
Partial application now supports using object methods. (2.00.11.3)
-
Function
replayDS
supports 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
, anddelete
when 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
objs
when 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
,tmovingWindowData
and time-based moving functions. (2.00.11.1) -
Added parameter method to function
ols
to 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
temporalAdd
when 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
transpose
function 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 join
supports 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
loadPlugin
function allows directly loading the plugin by specifying the filePath parameter as the plugin name. (2.00.11) -
The
backup
function now supports setting backupDir to a directory on AWS S3. (2.00.11) -
Functions
rowlmax
androwlmin
now 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
moving
now supports passing a matrix as input (2.00.11). -
Added support for online update for licenses with trial authorization. (2.00.11)
-
Function
rowAt
now supports taking columnar tuples as input. (2.00.11) -
Function
unpack
now supports taking BLOB data as input. (2.00.11) -
Enhanced higher-order functions
byRow
andbyColumn
: (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
transpose
now supports taking array vectors and columnar tuples as inputs. (2.00.11) -
Functions
toJson
andtoStdJson
support escape characters when converting BLOB types. (2.00.11) -
Optimized the performance of functions
scs
andquadprog
. (2.00.11) -
The
unionAll
function 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
, andcreateLeftSemiJoinEngine
now 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
getStreamingStat
for the status of workers of subscriber nodes. (2.00.11) -
Function
tmsum2
can 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
createCrossSectionalEngine
to calculate at intervals based on timestamps in the data. (2.00.11) -
Added option "saltedHash" for parameter dispatchType of function
createStreamDispatchEngine
to apply a salted hash algorithm on keyColumn and distribute records based on the hash result. (2.00.11) -
Added parameter preciseRate of function
replay
to 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 by
clause when theselect/exec
clause 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:R
orat: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
mrank
with 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
eval
to 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
rpc
function. (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
update
operations 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
getUserTableAccessRecords
were 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
each
when the input was a partially-applied function (such asmakeCall
andbinaryExpr
). (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
,rowImaxLast
androwIminLast
when taking columnar tuples. (2.00.11.1) -
Fixed incorrect results of
add
when taking BLOB vectors. (2.00.11.1) -
Fixed incorrect results of
update
on 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 by
clause, and the where conditions used AND to specify multiple conditions containing aggregations. (2.00.11.1) -
Fixed an error when a SQL
order by
clause 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 when
to evaluate an empty table in a SQL query. (2.00.11.1) -
Fixed an error when using the
find
function in theorder by
clause. 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
createReactiveStateEngine
when the parallelism parameter was set and metrics contained constant expressions. (2.00.11.1) -
Fixed an error when
sliceByKey
accepted 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
ols
on TSDB table columns withoutwhere
conditions. (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
nunique
results calculated over multiple fields. (2.00.11) -
Fixed server crashes when using
each
on array vector columns in TSDB tables withoutwhere
conditions. (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
loadText
from a non UTF-8 formatted CSV file. (2.00.11) -
Fixed incorrect results when applying the
string
function withbyRow
on a matrix. (2.00.11) -
Fixed incorrect
align
results 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
corrMatrix
function 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
streamEngineParser
failed 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
unsubscribeTable
to cancel subscriptions to the same table on a remote node. (2.00.11) -
Fixed incorrect results of
createTimeSeriesEngine
when specifying multiple columns for timeColumn and calculating on one of the time columns. (2.00.11) -
Fixed incomplete results when using the
map
keyword withcontext by
clause. (2.00.11) -
Fixed an issue where calculations were not conducted after sorting within groups when order-sensitive functions were used in the
select
clause withcontext by
andcsort
. (2.00.11) -
Fixed errors when using aggregate functions on vector slices in the
select
clause 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
where
clause if theand
operator was used. (2.00.11) -
Fixed server crashes when the variable after
drop table
did not exist. (2.00.11) -
Fixed incorrect results when using the
zigzag
function in theselect
clause withcontext by
. (2.00.11) -
Fixed server crashes on Windows when applying
group by
to long strings. (2.00.11) -
Fixed an issue with
sqlDS
data sources whereby specified partitions from the right table were absent in the generated output when joining two distributed tables. (2.00.11)