3.00.1
Version: 3.00.1 Compatibility Level 2 with 3.00.0 & 2.00.12
For details, see Compatibility Changes.
Release Date: 2024-06-30
Available Downloads:
New Features
-
Added functions
getDBAccessandgetTableAccessto check the user/group access to specific databases and tables. (3.00.1.3) -
Added parameter minPeriods to functions
mcountandmrankfor specifying the minimum number of observations in a window. (3.00.1.2) -
Added function
hmacfor implementing hash-based message authentication code. (3.00.1.2) -
Added function
vectorNormfor calculating the norm of a vector or matrix. (3.00.1.2) -
Added configuration parameter queryLogRetentionTime for setting the retention time of query logs. (3.00.1.2)
-
Added configuration parameter resourceSamplingLogDir to set the directory for storing resource tracking logs.
-
Added support for the ternary operator
?:. -
Implemented tensor data form, enhancing data exchange between the system and deep learning frameworks when used with plugins.
-
Added configuration parameter enableRDMA to enable RDMA communication.
-
Added configuration parameter allowTSDBLevel3Compaction to set whether to allow compaction of level 3 files.
-
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
remoteRunCompatiblethat operates in the same way as functionremoteRunbut skips version verification between local and remote databases. -
Added parameters priority and parallelism to function
scheduleJobto set the priority and parallelism for scheduled jobs. -
Added parameter bom to function
saveTextto 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
piecewiseLinFitandpwlfPredictto fit a piecewise linear regression function and make predictions based on the regression model. -
Added functions
gaussianKdeandgaussianKdePredictto estimate the probability density of a random variable using the Gaussian kernel estimation and make predictions based on the regression model. -
Added function
vectorARto analyze multivariate time series using a vector auto-regression model. -
Added function
eqPercentto check element-wise equality of two inputs within a specified tolerance level. -
Added support for primary key storage engine (enabled by setting engine="PKEY" in function
database). -
Added parameter primaryKey to function
createPartitionedTablefor specifying the primary key columns. -
Added parameter indexes to function
createPartitionedTableto specify indexes for vector retrieval. -
Added function
removeNodeto remove compute nodes from a cluster. -
Enhanced function
addNodefor 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
clearAllTSDBSymbolBaseCacheto 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
sqlDeletefunction. -
Added function
setTableCommentfor 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
setMemLimitOfAllTempResultsandgetMemLimitOfAllTempResultsto dynamically set and get the configuration value. -
Added configuration parameter enableInsertStatementForDFSTable to set whether the
insert intostatement is allowed for DFS tables. -
insert intostatement now supports inserting multiple rows.
Improvements
-
Enhanced
loadPluginto support paid plugins. (3.00.1.3) -
The parameter n of state functions
percentChangeanddeltasof the reactive state engine can be specified as a positive integer. (3.00.1.3) -
The parameter level of function
writeLogLevelcan be an integer 0 (DEBUG), 1 (INFO), 2 (WARNING), or 3 (ERROR). (3.00.1.3) -
Optimized loading performance of persisted stream tables. (3.00.1.3)
-
Optimized the checkpoint mechanism to reduce the checkpoint frequency for massive metadata on the controller. (3.00.1.3)
-
Enhanced data type validation for partitioning columns when creating tables in a database with a time-based partitioning scheme. (3.00.1.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. (3.00.1.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. (3.00.1.2) -
The
backupfunction now captures and stores table owner information, which enables therestorefunction to restore the corresponding owner information. (3.00.1.2) -
Enhanced access control and other features to improve system security. (3.00.1.1)
-
In metaprogramming, you can now specify column alias using a macro.
-
The
registerSnapshotEnginefunction 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
restorefunction 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
clearAllCachefunction has been extended to include cache specific to the TSDB storage engine. -
The
versionfunction now provides more comprehensive version details. -
intervalfunction 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
flattenfunction can be applied on nested tuples. -
The precision of
logisticRegressionnow matches that of its sklearn equivalent. -
Improved precision for functions:
std,stdp,var,varp,skew, andkurtosis. -
The func parameter of the
movinghigher-order function now supports functions returning tuples. -
A new fill parameter has been added to the
addMetricsfunction to specify the null filling method. -
The
parseJsonTablefunction now accepts tables containing BLOB columns. -
The
isDuplicatedfunction now supports BLOB columns. -
The
fminfunction parameters have been adjusted. -
The
rowAlignfunction supports columnar tuples. -
Output of the
rollingfunction can now have row labels. -
TSDB databases now support compression of null columns during insertion.
-
The
createSchemafunction now restricts adding a database to a single catalog. -
Reactive state streaming engine enhancements:
-
prevcan 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
createLookupJoinEnginecan 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
enableTablePersistenceandenableTableShareAndPersistencefunctions. These parameters specify how data in memory is cleaned for persisted stream tables. -
Updated the acceptedDelay parameter in
createTimeSeriesEngineandcreateDailyTimeSeriesEngineto 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
accumulateandreducein JIT. -
JIT now supports handling indexed matrices.
Issues Fixed
-
Fixed potential server crashes caused by resource tracking. (3.00.1.3)
-
Fixed server crashes occurring when array vector elements exceeded the length limit during table joins. (3.00.1.3)
-
Fixed state cleanup issues during transaction anomalies when operating on MVCC tables. (3.00.1.3)
-
Fixed data loss caused by concurrent
moveHotDataToColdVolumeoperations on the same partition. (3.00.1.3) -
Fixed an issue where the batch job logs failed to record the job start times when disk space was fully occupied during job initiation. (3.00.1.3)
-
Fixed incorrect results returned by the reactive state engine when calculating the
prevfunction with an array vector input and keepOrder=true. (3.00.1.3) -
Fixed the error
A table can't contain duplicate column namesreported when the lookup join engine’s rightTimeColumn contains uppercase letters and was used in metrics. (3.00.1.3) -
Fixed potential metadata loss in HA clusters due to checkpoint failures during a controller restart. (3.00.1.3)
-
Fixed an occasional issue where a chunk path corresponded to multiple chunk IDs. (3.00.1.3)
-
Fixed an issue where
rollingPanel failedto group data based on groupingCol. (3.00.1.3) -
Fixed server crashes that occurred when executing background jobs containing lambda expressions, submitted via
submitJoborscheduleJob, if the session that originally submitted the job had closed. (3.00.1.3) -
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. (3.00.1.3)
-
Fixed an error of “The result of distributed call is not a table” caused by
EXECdistributed queries with positiveLIMIT/TOPandORDER BYclauses specifying a partitioning column in descending order. (3.00.1.3) -
Fixed an issue of
createDailyTimeSeriesEnginewhere data with timestamps smaller than sessionEnd was received after forceTriggerSessionEnd. (3.00.1.3) -
Fixed a system failure to skip cluster replication tasks with corrupted data, which resulted in endless retry attempts.
-
Fixed an issue in distributed query optimization using
ORDER BYandLIMIT/TOP. (3.00.1.3) -
Fixed an error of
parseJsonTablewhen parsing JSON objects containing\\\". (3.00.1.3) -
Fixed server crashes where LEFT JOIN returned a null pointer due to an OOM issue. This issue was introduced in version 2.00.13/3.00.1. (3.00.1.3)
-
Fixed occasional failures in stream subscription. (3.00.1.3)
-
Fixed incorrect results returned by aggregate functions such as
wsumandwavgwith a scalar and an empty array as inputs. (3.00.1.3) -
Modified the function
flattento be compatible with previous versions. (3.00.1.3) -
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. (3.00.1.2)
-
Fixed incorrect start date in the audit log for APPEND operations. (3.00.1.2)
-
Fixed an issue where uploading an encrypted module could cause variables to be lost in the current session. (3.00.1.2)
-
Fixed an error of the
backupfunction on a compo-partitioned database if the filter condition matched the first-level partition and some second-level sub-partitions were empty. (3.00.1.2) -
Fixed an error when executing the
writeLogLevelfunction in a scheduled job after a server restart. (3.00.1.2) -
Fixed a server crash when querying an array vector column with
distinct. (3.00.1.2) -
Fixed an issue where queries failed during
ejoperation if the table name was not specified in thewherecondition. (3.00.1.2) -
Fixed an error in CEP engine when processing events without dispatchKey column after setting dispatchKey parameter. (3.00.1.2)
-
Fixed system crashes after executing the
createWindowJoinEnginefunction with invalid parameters. (3.00.1.2) -
Fixed an error where using the
movefunction may lead to incorrect calculation results if the input data was an intermediate result. (3.00.1.2) -
Fixed occasional crashes when executing the
mpercentilefunction multiple times. (3.00.1.2) -
Fixed an error in JIT when using the
rankfunction due to type inference issues. (3.00.1.2) -
Fixed an error in JIT when using the
isortfunction due to compatibility issues. (3.00.1.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
qclpfunction. -
Fixed server crashes when the SQL statements within the metacode specified in the obj parameter of the
saveTextfunction were incorrectly enclosed with quotes (''). -
Fixed server crashes when using
attogether with higher-order functionseachRight/eachLeft. -
Fixed server crashes when loading excessively large files with the
loadTextfunction. -
Fixed an issue where the
dictfunction were not recognized in class inheritance. -
Fixed the
getUserHardwareUsagefunction returning unexpected results when provided with dates. -
Fixed an issue where the "executionSet" field returned by the
getSlaveReplicationQueueStatusfunction was occasionally randomized. -
Fixed an issue where strings were incorrectly recognized as DATE values and failed to load with the
loadTextfunction. -
Fixed an error when appending array vectors generated by the
fixedLengthArrayVectorfunction to a keyed table. -
Fixed server crashes when the aggs parameter of
wjwas 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
pjwhere, 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.
