2.00.13
Version: 2.00.13 Compatibility Level 2 with 2.00.12
For details, see Compatibility Changes.
Release Date: 2024-06-30
Available Downloads:
New Features
-
Added functions
getDBAccess
andgetTableAccess
to check the user/group access to specific databases and tables. (2.00.13.3) -
Added parameter minPeriods to functions
mcount
andmrank
for specifying the minimum number of observations in a window. (2.00.13.2) -
Added function
hmac
for implementing hash-based message authentication code. (2.00.13.2) -
Added function
vectorNorm
for calculating the norm of a vector or matrix. (2.00.13.2) -
Added configuration parameter queryLogRetentionTime for setting the retention time of query logs. (2.00.13.2)
-
Added configuration parameter resourceSamplingLogDir to set the directory for storing resource tracking logs.
-
Added support for the ternary operator
?:
. -
Added configuration parameter jobLogRetentionTime to set the retention time of query information stored in data node logs.
-
Added configuration parameter batchJobFileRetentionTime to set the retention time for batch and scheduled job results.
-
Added function
remoteRunCompatible
that operates in the same way as functionremoteRun
but skips version verification between local and remote databases. -
Added parameters priority and parallelism to function
scheduleJob
to set the priority and parallelism for scheduled jobs. -
Added parameter bom to function
saveText
to set whether to include a BOM header when exporting files. -
Added new optimization functions:
fminLBFGSB
: Minimizes a function using the L-BFGS-B algorithm.fminNCG
: Performs unconstrained minimization using the Newton Conjugate Gradient method.fminBFGS
: Minimizes a function using the BFGS algorithm.fminSLSQP
: Minimizes a function using the Sequential Least Squares Programming method.brute
: Minimizes a function within a given range using the brute-force method.
-
Added functions
piecewiseLinFit
andpwlfPredict
to fit a piecewise linear regression function and make predictions based on the regression model. -
Added functions
gaussianKde
andgaussianKdePredict
to estimate the probability density of a random variable using the Gaussian kernel estimation and make predictions based on the regression model. -
Added function
vectorAR
to analyze multivariate time series using a vector auto-regression model. -
Added function
eqPercent
to check element-wise equality of two inputs within a specified tolerance level. -
Added function
removeNode
to remove compute nodes from a cluster. -
Enhanced function
addNode
for adding multiple nodes simultaneously. -
Added support for Chimp compression algorithm.
-
Added configuration parameters TSDBSymbolBaseEvictTime and TSDBCachedSymbolBaseCapacity determine when to evict least recently used SYMBOL base entries based on time or capacity limits.
-
Added function
clearAllTSDBSymbolBaseCache
to clear all cached SYMBOL base entries that are absent from both the cache engine and ongoing transactions. -
Added support for DELETE JOIN in the SQL DELETE statement and the
sqlDelete
function. -
Added function
setTableComment
for adding comments to DFS tables. Added parameter comment to SQL CREATE statement. -
Added configuration parameter memLimitOfAllTempResults to set the memory limit for all temporary partitioned tables generated during distributed queries. Added related functions
setMemLimitOfAllTempResults
andgetMemLimitOfAllTempResults
to dynamically set and get the configuration value. -
Added configuration parameter enableInsertStatementForDFSTable to set whether the
insert into
statement is allowed for DFS tables. -
insert into
statement now supports inserting multiple rows.
Improvements
-
Enhanced
loadPlugin
to support paid plugins. (2.00.13.3) -
Optimized loading performance of persisted stream tables. (2.00.13.3)
-
Enhanced data type validation for partitioning columns when creating tables in a database with a time-based partitioning scheme. (2.00.13.3)
-
Enhanced the security of the login system by implementing IP-specific lockouts. Multiple failed login attempts occur from a particular IP address will temporarily block further login attempts only from that specific IP. (2.00.13.2)
-
For TSDB databases configured to retain all data (keepDuplicated set to ALL), the
upsert!
function no longer requires specifying the keyColNames parameter for all sort columns. (2.00.13.2) -
The
backup
function now captures and stores table owner information, which enables therestore
function to restore the corresponding owner information. (2.00.13.2) -
Enhanced access control and other features to improve system security. (2.00.13.1)
-
In metaprogramming, you can now specify column alias using a macro.
-
The
registerSnapshotEngine
function now allows the snapshot engine to be registered on all data nodes for a DFS table, with a new parameter dedupColumnName added for this purpose. -
Built-in functions with function patterns can serve as function operators.
-
The snapshot parameter of the
restore
function now defaults to true instead of false. -
In asynchronous replication, slave clusters no longer require password configuration through the clusterReplicationExecutionPassword parameter. User credentials are now verified using a more secure method.
-
Enhanced TSDB redo log replay performance.
-
The
clearAllCache
function has been extended to include cache specific to the TSDB storage engine. -
The
version
function now provides more comprehensive version details. -
interval
function enhancements:- The duration parameter can be specified using trading calendar identifiers.
- Non-partitioned table queries now support user-defined aggregate
functions when
interval
's duration and step parameters are inconsistent.
-
The
flatten
function can be applied on nested tuples. -
The precision of
logisticRegression
now matches that of its sklearn equivalent. -
Improved precision for functions:
std
,stdp
,var
,varp
,skew
, andkurtosis
. -
The func parameter of the
moving
higher-order function now supports functions returning tuples. -
A new fill parameter has been added to the
addMetrics
function to specify the NULL filling method. -
The
parseJsonTable
function now accepts tables containing BLOB columns. -
The
isDuplicated
function now supports BLOB columns. -
The
fmin
function parameters have been adjusted. -
The
rowAlign
function supports columnar tuples. -
Output of the
rolling
function can now have row labels. -
TSDB databases now support compression of NULL columns during insertion.
-
The
createSchema
function now restricts adding a database to a single catalog. -
Reactive state streaming engine enhancements:
-
prev
can be applied on array vector columns. -
Added support for 35 topN stateful functions.
-
keyColumn is now an optional parameter.
-
User-defined functions (UDFs) that return multiple values can now be used as the rvalue of assignment statements within user-defined stateful functions.
-
Improved error messages.
-
-
The rightTable parameter of
createLookupJoinEngine
can now be specified using metacode. -
The metrics parameter of the following streaming engines now accepts constants or vector of constants:
createReactiveStateEngine
,createAsofJoinEngine
,createLookupJoinEngine
,createEquiJoinEngine
,createLeftSemiJoinEngine
. -
New parameters cachePurgeTimeColumn, cachePurgeInterval and cacheRetentionTime have been added to
enableTablePersistence
andenableTableShareAndPersistence
functions. These parameters specify how data in memory is cleaned for persisted stream tables. -
Updated the acceptedDelay parameter in
createTimeSeriesEngine
andcreateDailyTimeSeriesEngine
to allow specifying the delay time for a window to close and trigger. -
New parameters outputHandler and msgAsTable, which allow passing calculation results to a unary function, have been added to the following streaming engines:
createTimeSeriesEngine
,createDailyTimeSeriesEngine
,createReactiveStateEngine
,createDualOwnershipReactiveStateEngine
,createNarrowReactiveStateEngine
. -
INNER JOIN and LEFT JOIN support generating runtime filter using the IN predicate.
-
Enhanced query performance when filtering on partitioning columns in combination with the LIMIT clause.
-
Analytic functions with OVER(PARTITION BY xxx) can now be used within CASE WHEN statements.
-
Optimized higher-order functions
accumulate
andreduce
in JIT. -
JIT now supports handling indexed matrices.
Issues Fixed
-
[D20-18167] Fixed potential server crashes caused by resource tracking. (2.00.13.3)
-
[D20-18430] Fixed server crashes occurring when array vector elements exceeded the length limit during table joins. (2.00.13.3)
-
[D20-18483] Fixed state cleanup issues during transaction anomalies when operating on MVCC tables. (2.00.13.3)
-
[D20-18484] Fixed a bug where the specified outputHandler of
createReactiveStateEngine
failed to trigger if keyColumn was not specified. (2.00.13.3) -
[D20-18522] Fixed data loss caused by concurrent
moveHotDataToColdVolume
operations on the same partition. (2.00.13.3) -
[D20-18540] Fixed an issue where the batch job logs failed to record the job start times when disk space was fully occupied during job initiation. (2.00.13.3)
-
[D20-18553] Fixed potential metadata loss in HA clusters due to checkpoint failures during a controller restart. (2.00.13.3)
-
[D20-18603] Fixed an issue where
rollingPanel
failed to group data based on groupingCol. (2.00.13.3) -
[D20-18640] Fixed server crashes that occurred when executing background jobs containing lambda expressions, submitted via
submitJob
orscheduleJob
, if the session that originally submitted the job had closed. (2.00.13.3) -
[D20-18661] Fixed incorrect results of SQL queries where an argument of an aggregate function was a scalar or a vector of incompatible length with the input table columns, specifically when using the vectorized grouping algorithm. (2.00.13.3)
-
[D20-18697] Modified the function
flatten
to be compatible with previous versions. (2.00.13.3) -
[D20-18703] Fixed an error of “The result of distributed call is not a table” caused by
EXEC
distributed queries with positiveLIMIT
/TOP
andORDER BY
clauses specifying a partitioning column in descending order. (2.00.13.3) -
[D20-18723] Fixed an issue of
createDailyTimeSeriesEngine
where data with timestamps smaller than sessionEnd was received after forceTriggerSessionEnd. (2.00.13.3) -
[D20-18780] Fixed a system failure to skip cluster replication tasks with corrupted data, which resulted in endless retry attempts. (2.00.13.3)
-
[D20-18790] Fixed an issue in distributed query optimization using
ORDER BY
andLIMIT
/TOP
. (2.00.13.3) -
[D20-18827] Fixed an error of
parseJsonTable
when parsing JSON objects containing\\\"
. (2.00.13.3) -
[D20-18152] Fixed an issue where interactive jobs submitted through Web interface or VS Code extension by users with lower-than-default priority (or parallelism) still used default values. (2.00.13.2)
-
[D20-18162] Fixed incorrect start date in the audit log for APPEND operations. (2.00.13.2)
-
[D20-18195] Fixed an issue where uploading an encrypted module could cause variables to be lost in the current session. (2.00.13.2)
-
[D20-18245] Fixed an error of the
backup
function on a compo-partitioned database if the filter condition matched the first-level partition and some second-level sub-partitions were empty. (2.00.13.2) -
[D20-18272] Fixed an error when executing the
writeLogLevel
function in a scheduled job after a server restart. (2.00.13.2) -
[D20-18312] Fixed a server crash when querying an array vector column with
distinct
. (2.00.13.2) -
[D20-18356] Fixed an issue where queries failed during
ej
operation if the table name was not specified in thewhere
condition. (2.00.13.2) -
[D20-18423] Fixed system crashes after executing the
createWindowJoinEngine
function with invalid parameters. (2.00.13.2) -
[D20-18122] Fixed an error where using the
move
function may lead to incorrect calculation results if the input data was an intermediate result. (2.00.13.2) -
[D20-18219] Fixed occasional crashes when executing the
mpercentile
function multiple times. (2.00.13.2) -
[D20-18331] Fixed an error in JIT when using the
rank
function due to type inference issues. (2.00.13.2) -
[D20-18291] Fixed an error in JIT when using the
isort
function due to compatibility issues. (2.00.13.2) -
Fixed parsing errors preventing addition of function views for no-return functions in module/plugin.
-
Fixed ARM server crashes caused by concurrent openBLAS thread operations.
-
Fixed incorrect results returned by the
qclp
function. -
Fixed server crashes when the SQL statements within the metacode specified in the obj parameter of the
saveText
function were incorrectly enclosed with quotes (''). -
Fixed server crashes when using
at
together with higher-order functionseachRight
/eachLeft
. -
Fixed server crashes when loading excessively large files with the
loadText
function. -
Fixed an issue where the
dict
function were not recognized in class inheritance. -
Fixed the
getUserHardwareUsage
function returning unexpected results when provided with dates. -
Fixed an issue where the "executionSet" field returned by the
getSlaveReplicationQueueStatus
function was occasionally randomized. -
Fixed an issue where strings were incorrectly recognized as DATE values and failed to load with the
loadText
function. -
Fixed an error when appending array vectors generated by the
fixedLengthArrayVector
function to a keyed table. -
Fixed server crashes when the aggs parameter of
wj
was specified ascount(head())
. -
Fixed SQL parsing issue when a statement included user-defined variables in the SELECT clause alongside a GROUP BY clause.
-
Fixed an issue in
pj
where, with left and right tables sorted by matching columns, only the first matched row from the right table was selected for joining, causing incomplete results. -
Fixed SQL optimization failure caused by case mismatches between join columns and table columns.
-
Fixed an issue with partition pruning when the IN clause in a WHERE condition was followed by an in-memory table.