1.30.23
Version: 1.30.23 Compatibility Level 2 with 1.30.22
For details, see Compatibility Changes.
Release Date: 2024-01-03
Available Downloads:
New Features
-
Added configuration parameter s3Endpoint for accessing AWS S3. (1.30.23.2)
-
Added function
regexFindStr
to find substrings that match a regular expression in a given string.(1.30.23.1) -
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
. (1.30.23) -
Added configuration parameter jobParallelismHardLimit to limit the maximum number of workers a job can use to the parallelism of that job. (1.30.23)
-
Added configuration parameter defaultJobParallelism to set the default parallelism for jobs submitted by users. (1.30.23)
-
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. (1.30.23) -
Added configuration parameters thirdPartyCreateUserCallback and thirdPartyDeleteUserCallback to call back specified function views when using the
createUser
anddeleteUser
functions. (1.30.23) -
Added functions
RidgeCV
,ElasticNetCV
, andLassoCV
for cross-validation of machine learning models. (1.30.23) -
Added functions
iminLast
/imaxLast
/miminLast
/mimaxLast
/rowIminLast
/rowImaxLast
to return the maximum index for multiple extreme values. (1.30.23) -
Added function
signbit
to get the sign of ±0.0. (1.30.23) -
Added function
submitJobEx2
which has similar functionality assubmitJobEx
but supports passing in a callback function. (1.30.23) -
Added function
kendall
to calculate the Kendall rank correlation coefficients. (1.30.23) -
Added functions
clip
andclip!
to truncate data outside a given range. These functions have similar functionality tonumpy.clip
. (1.30.23) -
Added function
tableUpsert
which has the same functionality asupsert!
but returns the number of records that have been updated and inserted. (1.30.23) -
Added function
snippet
to return the results as a STRING scalar. (1.30.23) -
Added function
socp
which minimizes a linear objective function within specified constraints for solving second-order cone programs. (1.30.23) -
Added function
existsStreamTable
to check if a stream table exists. (1.30.23) -
Added function
getStreamTables
to get the information of all stream tables. (1.30.23)
Improvements
-
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. (1.30.23.3) -
Function
hex
now can convert floating numbers to hexadecimal. (1.30.23.3) -
Function
replayDS
supports input of DECIMAL type. (1.30.23.2) -
Line breaks are supported before the
member(.)
operator in scripts. (1.30.23.1) -
Integrated modules and function view functionality (1.30.23):
-
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.
-
-
Enhanced access control on job cancellation. (1.30.23)
-
Added return values for function
schema
(1.30.23):-
the database and table creator;
-
compression algorithm for each column;
-
-
The
loadPlugin
function allows directly loading the plugin by specifying the filePath parameter as the plugin name. (1.30.23) -
The
backup
function now supports setting backupDir to a directory on AWS S3. (1.30.23) -
Enhanced functions
transFreq
,asFreq
, andresample
(1.30.23):-
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 (1.30.23). -
Added support for online update for licenses with trial authorization. (1.30.23)
-
Functions
toJson
andtoStdJson
support escape characters when converting BLOB types. (1.30.23) -
Optimized the performance of functions
scs
andquadprog
. (1.30.23) -
The
unionAll
function supports NULL values for the first element when the input is a tuple. (1.30.23) -
The memory taken up by the dimension table now will be released automatically. (1.30.23)
-
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. (1.30.23)
-
Optimized the performance of function
createAsofJoinEngine
. (1.30.23) -
Added parameter outputElapsedMicroseconds for the asof join engine and lookup join engine to output the elapsed time of each calculation. (1.30.23)
-
Functions
createAsofJoinEngine
,createSessionWindowEngine
, andcreateLeftSemiJoinEngine
now support passing array vectors as inputs. (1.30.23) -
The calculation of time series engine now can be triggered by each incoming record with updateTime = 0. (1.30.23)
-
Added parameterskeyCapacity and parallelism for the reactive state engine to address the performance issue when calculating within a large number of groups. (1.30.23)
-
The state function defined in metrics of a reactive state engine now supports using for loops. (1.30.23)
-
Added parameter keepDuplicates for the lookup join engine to specify whether to keep all matching records in the right table. (1.30.23)
-
Added parameter subWindow for the time series engine to enable calculations in a subset time range within the window. (1.30.23)
-
Enhanced the streaming monitoring with function
getStreamingStat
for the status of workers of subscriber nodes. (1.30.23) -
Function
tmsum2
can be used as a state function in a reactive state engine. (1.30.23) -
The cumTopN functions can be used as state functions in a reactive state engine. (1.30.23)
-
Added option "dataInterval" for parameter triggeringPattern of function
createCrossSectionalEngine
to calculate at intervals based on timestamps in the data. (1.30.23) -
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. (1.30.23) -
Added parameter preciseRate of function
replay
to specify whether to replay at replayRate times the time difference between two adjacent records. (1.30.23) -
Data of DECIMAL type now can be calculated in streaming engines. (1.30.23)
-
Enhanced job execution logs to include detailed tracking for UPDATE and DELETE statements. (1.30.23)
-
For filtering conditions in a distributed query, DATE type can be compared with higher precision temporal types. (1.30.23)
-
Added size constraints for STRING, BLOB, and SYMBOL data written to distributed databases. (1.30.23)
-
Updated the exchange calendars for Year 2024. (1.30.23)
Issues Fixed
-
Fixed a parsing issue for binary operator with function patterns, e.g +:A(1, 2 3 4). (1.30.23.3)
-
Fixed the error when using function
eval
to evaluate a lambda expression parsed byparseExpr
. (1.30.23.3) -
Fixed an issue where the value of CODE type returned from a user-defined function was incorrectly interpreted as of STRING type. (1.30.23.3)
-
Fixed the issue where data being asynchronously replicated was removed when the controller failed to commit the transaction. This issue was introduced since version 2.00.11. (1.30.23.3)
-
Fixed data inconsistency during online recovery of replicas with large amount of different data. (1.30.23.2)
-
Fixed a server startup failure due to deserialization error when a function view involved the
update
operations on shared tables. (1.30.23.1) -
Fixed occasional metadata errors arising from frequent OOM rollbacks across multiple transactions. (1.30.23.1)
-
Fixed incorrect results of
each
when the input was a partially-applied function (such asmakeCall
andbinaryExpr
). (1.30.23.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. (1.30.23.1) -
Fixed incorrect results of
add
when taking BLOB vectors. (1.30.23.1) -
Fixed incorrect results of
update
on DFS tables when aggregate functions, order-sensitive functions or user-defined functions were applied across partitions. (1.30.23.1) -
Fixed incorrect query results when the where condition of a SQL query was specified as NULL. (1.30.23.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. (1.30.23.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. (1.30.23.1) -
Fixed server crashes when using
case when
to evaluate an empty table in a SQL query. (1.30.23.1) -
Fixed an error for
createReactiveStateEngine
when the parallelism parameter was set and metrics contained constant expressions. (1.30.23.1) -
Fixed an error when
sliceByKey
accepted a shared keyed table as input. (1.30.23.1) -
Fixed access denial errors when using nested function views. (1.30.23)
-
Fixed "No such file or directory" errors when reading empty dimension tables which were restored from backups after server restart. (1.30.23)
-
Fixed occasional errors when renaming columns using
rename!
. (1.30.23) -
Fixed startup failures when dataSync=1 was configured on the controller but chunkCacheEngineMemSize was not set on the compute nodes. (1.30.23)
-
Fixed server restart failure due to replay issues after writing strings over 64 KB to distributed tables. (1.30.23)
-
Fixed incorrect
nunique
results calculated over multiple fields. (1.30.23) -
Fixed server crashes when the symbol
:R
(of high-order functioneachRight
) took an incorrect number of arguments. (1.30.23) -
Fixed errors when querying the table imported with
loadText
from a non UTF-8 formatted CSV file. (1.30.23) -
Fixed incorrect results when applying the
string
function withbyRow
on a matrix. (1.30.23) -
Fixed incorrect
align
results on series with non-increasing labels that contain duplicates. (1.30.23) -
Fixed incorrect results of the parallel computation of peach for ignoring NULL values. (1.30.23)
-
Fixed memory leaks when calling
resample
. (1.30.23) -
Fixed a bug where the
corrMatrix
function modified values of input arguments. (1.30.23) -
Fixed the following issues with
fromJson
(1.30.23):-
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
. (1.30.23) -
Fixed an issue where
streamEngineParser
failed to create streaming engines due to parsing errors if row-based metrics invoked functions with multiple return values. (1.30.23) -
Fixed an issue where the subscriber consuming messages at a slower pace compared with other subscribers failed to read data. (1.30.23)
-
Fixed server crashes caused by ingesting an empty table into the left table of a lookup join engine. (1.30.23)
-
Fixed deadlocks when two nodes simultaneously call
unsubscribeTable
to cancel subscriptions to the same table on a remote node. (1.30.23) -
Fixed incorrect results of
createTimeSeriesEngine
when specifying multiple columns for timeColumn and calculating on one of the time columns. (1.30.23) -
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
. (1.30.23) -
Fixed errors when using aggregate functions on vector slices in the
select
clause withgroup by
. (1.30.23) -
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. (1.30.23) -
Fixed server crashes when the variable after
drop table
did not exist. (1.30.23) -
Fixed incorrect results when using the
zigzag
function in theselect
clause withcontext by
. (1.30.23) -
Fixed server crashes on Windows when applying
group by
to long strings. (1.30.23) -
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. (1.30.23)