2.00.14

Version: 2.00.14   Compatibility Level 2 with 2.00.13

For details, see Compatibility Changes.

Release Date: 2024-10-20

Available Downloads:

New Features

  • Added support for module marketplace features: (2.00.14.11)
    • Added function listRemoteModules for listing matched module names in the module marketplace.
    • Added function installModule for downloading specified module files to the node module directory.
    • Added function getLoadedModules for displaying version information of loaded modules.
  • Added parameter cgroupBy for function sql to generate metacode including a cgroup by clause. (2.00.14.11)
  • Added support for encrypting dos files through function encryptModule. (2.00.14.11)
  • Added function semiannualBegin and semiannualEnd for retrieving the first and last day of the semiannual period. (2.00.14.9)

  • Enhanced Configuration Access Security: (2.00.14.9)

    • Added configuration parameter enableConfigAccessControl to control whether permission checks are applied when accessing configuration parameters.

    • Added function getOauthClientSecret to allow administrator users to securely retrieve the value of the sensitive configuration oauthClientSecret.

    • Updated function getConfig/getConfigure to filter returned results based on the security level of each configuration item and the current user’s permissions when enableConfigAccessControl=true.

  • Added function createThresholdEngine to create a threshold engine for aggregate calculations triggered by cumulative value thresholds. (2.00.14.4)

  • Added function gmd5 and rowGmd5 to generate MD5 hashes. (2.00.14.4)

  • Added configuration parameter maxJoinTaskRetry to specify the maximum retry attempts for a single SQL JOIN task under memory pressure. (2.00.14.4)

  • Added function createCryptoOrderBookEngine for creating crypto order book streaming engines.Added support for the deployment of license servers on the public network. (2.00.14.1)

  • Replaced the memory manager from tcmalloc_minimal with tcmalloc and added functions startHeapSample, dumpHeapSample, and stopHeapSample for heap sampling.

  • Added function differentialEvolution to calculate the global minimum of a multivariate function using the Differential Evolution algorithm.

  • Added function vanillaOption to price vanilla options.

  • Added function varma to analyze multivariate time series using a Vector Autoregressive Moving-Average (VARMA) model.

  • Added function garch to model the conditional volatility of univariate time series using the generalized autoregressive conditional heteroskedasticity (GARCH) model.

  • Added function bondCashflow to calculate the cash flow for a bond with a face value of 100.

  • Added function maxDrawdown (alias: mdd) to calculate the maximum drawdown or the maximum drawdown rate of the input vector.

  • Added function bondYield to calculate the bond yield of a bond based on its price.

  • Added function histogram2d to calculate the two-dimensional histograms for two datasets.

  • Added function kroghInterpolateFit to perform polynomial interpolation for a given set of points.

  • Added function linearInterpolateFit to perform linear interpolation for a given set of points, which supports both interpolation and extrapolation.

  • Added function getRules to get the rules of the specified rule engine.

  • Added the following functions for stream tables:

    • enableTableShareAndCachePurge: Shares a stream table and enables cache purge without persisting the table to disk.

    • enableTableCachePurge: Enables cache purge for a stream table without persisting the table to disk.

    • getStreamTableCacheOffset: Gets the number of records that have been purged from cache.

  • Added function createSnapshotJoinEngine to create a snapshot join engine for streaming data, which performs joins triggered by the latest data from the left and right tables and calculates metrics.

  • Added function createTimeBucketEngine to create a time-series engine with one or more custom-length windows.

  • Added function latestKeyedStreamTableto create a keyed stream table with a time column, which determines whether to insert records.

  • Added function getStreamEngineList to get information about all streaming engines on the current node.

  • Added support for logging into an agent node in non-HA clusters.

  • Added function jsonExtract to extract and parse JSON elements into the specified data type.

  • The return of function getCurrentSessionAndUse now includes the remote IP address and remote port number of the current session.

  • Added function getLoadedPlugins to get a list of the loaded plugins on the current node.

  • Added function cummdd to calculate the cumulative maximum drawdown or maximum drawdown rate. It can be used as the state function for the reactive state engine.

  • Added function constantDesc to provide a description of an object.

  • Added function memberModify! to modify the member(s) of a tuple or ANY dictionary.

  • Added configuration parameter slaveReplicationDBScope to specify which databases to replicate from the master cluster in asynchronous replication.

Improvements

  • Added support for automatically converting strings passed in through the API to DOUBLE, FLOAT or DECIMAL based on the field type, and inserting them into the table. (2.00.14.11)
  • Changed the root job ID of stream processing to a random UUID. (2.00.14.11)
  • Enhanced support for canceling jobs during SQL update operations. (2.00.14.9)

  • Optimized partition pruning to improve the performance of queries like select * from t where id in ids when ids is a table. (2.00.14.9)

  • Enhanced the startup process of the licenseServer client to support authentication and startup via the standby server when the primary server is unavailable. (2.00.14.9)

  • Enhanced the error message when creating tables via createIPCInMemoryTable. (2.00.14.9)

  • Enhanced syntax exception messages to include the line number. (2.00.14.9)

  • Added parameter timeoutTrigger createWindowJoinEngine functionto periodically check for unmatched or overdue data in the right table and trigger their computation. (2.00.14.7)

  • The license function supports retrieving the module name Beluga. (2.00.14.7)

  • The value of configuration parameter subThrottle is now automatically adjusted to 1 if a value smaller than 1 is set. (2.00.14.7)

  • Improved the error message thrown when an alias is used for a GROUP BY field in the SELECT clause. (2.00.14.7)

  • Improved license server connection logic by adding multiple retry attempts when failing to connect to a site, and automatically switching to other available sites after repeated failures. (2.00.14.7)

  • Improved error handling in distributed queries when comparing CHAR constants with STRING partitioning columns in the WHERE clause. The system now raises an error message. (2.00.14.6)

  • The 2048MB upper limit for the chunkSize parameter in textChunkDS has been removed. (2.00.14.6)

  • Added parameter chunkSize for loadTextEx to specify the maximum size of each file chunk during parallel import. (2.00.14.6)

  • Enhanced the createWindowJoinEngine function: (2.00.14.6)

    • Added parameters cachedTableCapacity and keyPurgeFreqInSec to periodically clean up unnecessary data and optimize memory usage.
    • Now supports specifying both window=0:0 and maxDelayedTime simultaneously.
  • Optimized the query performance of the LIMIT clause. (2.00.14.6)

  • Added parameter mergeLastWindow and mergeSession for function createDailyTimeSeriesEngine. (2.00.14.4)

  • Added support for keyword column names in the INSERT INTO statement. (2.00.14.4)

  • Enhanced the stability of batch job execution under high-load and high-concurrency scenarios. (2.00.14.4)

  • Enhanced the stability for concurrent SQL queries. (2.00.14.4)

  • Optimized the query performance for VALUE-partitioned TSDB databases when filtering on partitioning columns. (2.00.14.4)

  • Enhanced the system security. (2.00.14.4)

  • Added the “updateTime” field to the backup log file. (2.00.14.4)

  • Added the recording of operations on the persisted MVCC table to the log. (2.00.14.4)

  • The createDailyTimeSeriesEngine function now supports setting parameter useSystemTime to true when sessionBegin is specified. (2.00.14.3)

  • Optimized TSDB engine performance for concurrent queries and queries after dimensionality reduction for the sort keys. (2.00.14.3)

  • Added new parameter updatedContextGroupsOnly to the createCrossSectionalEngine function for calculating the groups with updates since the last output. (2.00.14.2)

  • Optimized the time series engine: (2.00.14.2):

    • When useSystemTime=false, acceptedDelay can now exceed windowSize.

    • Optimized memory usage when the following conditions are met:

      • windowSize is set as a scalar.

      • windowSize and step have the same value.

      • acceptedDelay > 0.

      • useSystemTime = false.

      • keyColumn is not empty.

  • Improved memory efficiency when processing speed is slow. (2.00.14.2)

  • Updated the trading calendar. (2.00.14.2)

  • The following configuration parameters are enabled by default: enableDFSQueryLog, enableAuditLog, and datanodeRestartInterval.

  • Enhancements to curve fitting functions nss, ns, and piecewiseLinFit:

    • Split the original nss function: nss now uses the NSS model and new ns function implements the NS model. Their maturtity parameter can be set as 0.

    • Expanded algorithm options for the method parameter, including 'nm', 'bfgs', 'lbfgs', 'slsqp' or 'de'.

    • Introduced additional parameters for optimal fit, such as maxIter, initialGuess, bounds, seed.

    • Optimized the performance of piecewiseLinFit.

  • Enhanced the createDailyTimeSeriesEngine function:

    • It can now include the last window of a session in its output, even if this window contains fewer data records than the specified window size.

    • Added parameter keyPurgeDaily to determine if existing data groups are automatically removed when newer data from a subsequent calendar day is ingested.

    • The calculation of daily time series engine now can be triggered by each incoming record with updateTime = 0.

  • When using the moving higher-order function in a reactive state engine, its func parameter now supports functions returning tuples.

  • The cross sectional engine can now accept array vector inputs.

  • The filter parameter of the subscribeTable function now supports user-defined functions or expressions.

  • Added parameter validation for the unsubscribeTable function.

  • Optimized the performance of the getStreamEngineStat function.

  • New constraint in enableTablePersistence and enableTableShareAndPersistence: cacheRetentionTime must be less than cachePurgeInterval.

  • Functions sqlCol and sqlColAlias now support using column alias containing characters other than underscore, letters and digits.

  • Added a log when users are reset to guest status after session disconnection.

  • The prevailing parameter of the twindow function now accepts 0, 1, or 2. When range's left boundary is 0, window starts at current row, excluding prior duplicates, and vise versa.

  • The partitionPaths parameter of the dropPartition function can no longer be set as empty strings, preventing the deletion of the entire table.

  • The poly1d function has been renamed to polyPredict, with poly1d now serving as an alias.

  • Added the mode parameter for the polyFit function to specify whether the output should be a vector or a dictionary.

  • The X parameter of the kroghInterpolate function has been renamed to newX.

  • Refactored functions clip and clip!as scalar functions.

  • The rename! function now supports indexed matrices and series.

  • Enhanced the efficiency of accessing member variable in object-oriented programming.

  • Implemented parallel processing for queries on single or joined in-memory tables when specified SELECT column conditions are met.

  • Implemented parallel processing for GROUP BY operations on in-memory tables with: a. over 10 million rows; b. use of specific aggregate functions.

  • LEFT, FULL, and EQUI JOINs now utilize parallel processing and hash join algorithms.

  • PIVOT BY queries now support the rowWsum function.

  • The aggs parameter of window join now supports expressions.

  • Removed print length restriction for getJobMessage. It now returns complete output without truncation.

  • Enhanced the error message for error code S06005 with overwritten function name included.

  • Loading DFS tables is no longer permitted on controllers.

  • The default value of maxConnectionPerSite has increased from 2 to 64 to reduce deadlock risk from insufficient number of available workers.

  • Optimized the performance for data queries within the TSDB cache engine.

  • Optimized the performance for queries involving where conditions with IN clauses on STRING type columns.

  • The shutdown process has been optimized as follows:

    • The stopDataNode function is now implemented asynchronously.

    • The disableCoreDumpOnShutdown configuration parameter now defaults to true.

  • Added validation for metadata recovery on controller.

  • Added validation when adding nodes with addNode.

  • The triggerNodeReport function now is supported in standalone mode.

  • JIT now supports temporal types, including SECOND, MINUTE, DATE, MONTH, DATETIME, DATEHOUR, TIMESTAMP, NANOTIME, NANOTIMESTAMP.

  • JIT now supports the next function.

Issues Fixed

  • Fixed server crashes that could occur when a column of SYMBOL type was set as the sortKey in the TSDB engine. (2.00.14.11)
  • Fixed the issue where executing an update ... context by ... statement on a shared memory table caused the error “A snapshot table doesn't support data update”. (2.00.14.11)
  • Fixed the issue where the bar function could generate out-of-range values when processing time types such as TIME, causing query and update failures. (2.00.14.11)
  • Fixed the issue where queries on TSDB tables with GROUP BY clauses that included sortkey columns could cause node crashes if an OOM error occurred during execution. (2.00.14.11)
  • Fixed the issue where cached handles were not invalidated during moveReplicas operations in a high-availability cluster, occasionally leading to inconsistent query results. (2.00.14.11)
  • Fixed a cluster hang issue caused by concurrent dropTable and write operations. (2.00.14.11)
  • Fixed the issue in the time-series engine where using last, lastNot, or functions that return multiple values with keyPurgeFreqInSec enabled could produce incorrect results. (2.00.14.11)
  • Fixed the issue where file descriptors occasionally leaked in job checkpoint files. (2.00.14.11)
  • Fixed the issue where, after using warmupStreamEngine to preheat the time series engine, writing new data caused the engine to output results for all preheated data instead of only the new data. (2.00.14.11)
  • Fixed the issue where the result of linearTimeTrend is incorrect when the window is larger than 1024. (2.00.14.11)
  • Fixed the issue where the totalRows field returned by getStreamTables overflowed. (2.00.14.11)
  • Fixed the issue where exporting CSV with the saveText function incorrectly handles quotes in fields with the SYMBOL type. (2.00.14.11)
  • Fixed the issue where an error occurred when a query hit the cache engine buffer in TSDB engine, caused by the contain method of a SYMBOL vector accepting only LITERAL values. (2.00.14.11)
  • Fixed the issue where getSessionMemoryStat reported incorrect OLAPTablet memory statistics under OOM scenarios, which prevented cache cleanup logic from functioning properly. (2.00.14.11)
  • Fixed the issue where remote script execution occasionally reported errors after using an XDB connection. (2.00.14.11)
  • Fixed the issue where results from certain windows were not output when the window parameter of createWindowJoinEngine was set to 0:0 and the number of records within a group exceeded the garbageSize limit. (2.00.14.11)
  • Fixed the issue where an error occurred when appending a VOID column (e.g., generated by SELECT null) to a SYMBOL column. (2.00.14.11)
  • Fixed the issue where the sortKeyMappingFunction parameter of the TSDB table could be lost when backing up via SQL and restoring via migrate. (2.00.14.11)
  • Fixed the issue where cgroup by could be incorrectly parsed as group by when using macro variables in metacode. (2.00.14.11)
  • Fixed the issue where using the moving function on DECIMAL data in the Reactive State Engine produced results inconsistent with those obtained in batch mode. (2.00.14.11)
  • Fixed the issue where data to be inserted into the stream table after setting a time column using setStreamTableTimestamp would no longer be checked for the number of columns. (2.00.14.11)
  • Fixed an issue where the integral function failed when the integration bounds were set to NULL in double integral calculations. (2.00.14.10)
  • Fixed an issue in high-availability cluster where followers failed to shut down properly when the controllers was configured with lanCluster=0. (2.00.14.10)

  • Fixed server crashes that could occur when an empty data source was passed to the mr function due to missing input type validation. (2.00.14.10)

  • Fixed an issue where submitting multiple tasks concurrently could occasionally trigger a scheduling anomaly, causing the system to become unresponsive. (2.00.14.10)

  • Fixed an issue in high-availability cluster where concurrent getClusterPerf executions from multiple controllers exceeding the number of available worker threads could cause the system to become unresponsive. (2.00.14.10)

  • Fixed an issue where scheduled jobs and subscriptions could occasionally fail to execute under high system load. (2.00.14.9)

  • Fixed an issue where data was still pushed to the client when subscribing to a stream table via WebSocket, even if the filtered result was empty. (2.00.14.9)

  • Fixed an issue when subscribing to a stream table with subscribeTable, if the function specified in the filter parameter produced an output schema inconsistent with the input stream table, the system neither outputs data nor reports an error. (2.00.14.9)

  • Fixed an issue where the system could hang when writing to TSDB Database if the number of symbols exceeded the limit. (2.00.14.9)

  • Fixed memory leaks caused by querying tables if a GROUP BY column in an aggregate computation was of BLOB type. This issue was introduced in version 2.00.11. (2.00.14.9)

  • Fixed server crashes where inserting an empty vector into a stream table with a timestamp column set by setStreamTableTimestamp. (2.00.14.9)

  • Fixed an issue where temporary directories were not properly deleted when rolling back uncommitted update/delete transactions. (2.00.14.8)

  • Fixed an issue where enabling enableSeqNo during client write operations could cause memory leaks. (2.00.14.8)

  • Fixed server crashes caused by out-of-bounds row index generation when deleting records via join queries on TSDB tables with soft deletion enabled and the keepDuplicates parameter not set to ALL. (2.00.14.8)

  • Fixed an issue where a write to a distributed table could fail in high availability scenarios if a data node was restarted during an active write transaction. (2.00.14.8)

  • Fixed an issue where partition pruning was not correctly applied for comparison conditions using < or <= on VALUE-partitioned tables. (2.00.14.8)

  • Fixed server crashes caused by dropping a local table (using drop table) that shares the same name with a variable shared from another session. (2.00.14.7)

  • Fixed server crashes caused by the concurrent execution of share and existsStreamTable on the same stream table. (2.00.14.7)

  • Fixed an issue where the connection to the publishing node in cross-node subscription scenarios did not use the user information from XDB for login. (2.00.14.7)

  • Fixed server crashes caused by revoking table-related permissions with objs specified as a database object. (2.00.14.7)

  • Fixed an issue where queries using user-defined aggregation functions combined with interval grouping returned empty results. (2.00.14.7)

  • Fixed an issue where null values in the results returned by eig().values could not be properly filled. (2.00.14.7)

  • Fixed an issue where the vectorAR function failed on certain valid inputs. The behavior is now aligned with the Python implementation. (2.00.14.7)

  • Fixed a node hang issue caused by stream table persistence blocking all worker threads. (2.00.14.7)

  • Fixed a missing reconnect issue caused by stale subscription state. (2.00.14.7)

  • Fixed incorrect results when performing group by with interval on large datasets. (2.00.14.7)

  • Fixed memory leaks caused by transactions with excessively large transaction IDs (greater than 2³¹ – 1) that could not be properly reclaimed. (2.00.14.7)

  • Fixed occasional server crashes when executing SQL queries containing the DISTINCT statement. (2.00.14.7)

  • Fixed an issue where tuples returned by user-defined functions were not properly marked as mutable references, causing ineffective modifications on the original object. (2.00.14.7)

  • Fixed an issue where concurrent subscribe and unsubscribe operations on the same topic caused inconsistent subscription state. (2.00.14.7)

  • In the time-series engine, the nunique, ifirstNot, and ilastNot functions specificed in the metrics argument now support expressions and nested functions as arguments. (2.00.14.6)

  • Fixed incorrect JSON serialization of DECIMAL32 values in the toStdJson function. (2.00.14.6)

  • Fixed occasional hangs on the web client when executing code if the response data size is between 4050 and 4060 bytes. (2.00.14.6)

  • Fixed the issue where the server entered an infinite loop when executing decimalFormat(0, '0.00E0'). (2.00.14.6)

  • Fixed the issue where the “lastUpdated” field in the controller metadata could be null after restoring from a backup that was created immediately after a restart without any data updates. (2.00.14.6)

  • Fixed server crashes when the dummyTable specified in createRuleEngine contained a SYMBOL column. (2.00.14.6)

  • Fixed server crashes caused by OOM issues in createWindowJoinEngine when processing large scale data. (2.00.14.6)

  • Fixed an issue where the forceTriggerSessionEndTime parameter did not take effect when mergeSessionEnd was set to true in createDailyTimeSeriesEngine. This issue was introduced in versions 2.00.14.4. (2.00.14.5)

  • Fixed an error that occurred when inserting array vectors into the cross-sectional engine if the triggeringPattern was set to "perRow". (2.00.14.5)

  • Fixed an issue in heterogeneous replay where data sources (generated by replayDS with timeRepartitionSchema specified) were replayed in a disordered manner. (2.00.14.4)

  • Fixed an error for queries on tables in TSDB databases when a sort column was specified as a GROUP BY column and the nunique function was specified in the SELECT statement with parameters of type STRING or SYMBOL. (2.00.14.4)

  • Fixed an issue in high-availability clusters where an existing table handle could not access data from newly added partitions without obtaining a new handle (reloading table via loadTable). (2.00.14.4)

  • Fixed a data loss issue in N-to-N replay that occurred when the data being replayed included empty partitions. (2.00.14.4)

  • Fixed the issue causing incorrect results in a function view after server restarts when the view included CROSS JOIN (ANSI SQL compliant) combined with other types of table joins. (2.00.14.4)

  • Fixed a "unrecognized column name" error that occurred when executing a multi-table JOIN query, if some partitions were offline due to node failures in the cluster. (2.00.14.4)

  • Fixed the errors that occurred when the GROUP BY clause contained the interval function and the SELECT clause contained aggregate functions returning multiple values. (2.00.14.4)

  • Fixed an issue where calculating maximum (via max) of a STRING column (with the first row being null) by group could result in incorrect results. (2.00.14.4)

  • Fixed a memory leak when calling a user-defined recursive function. (2.00.14.4)

  • Fixed an error when deleting column(s) from a keyed table if any column name contains uppercase letters. (2.00.14.4)

  • Fixed misleading error messages returned when table joins encountered more than 2,097,152 unique values in a SYMBOL column. (2.00.14.4)

  • Fixed the precision errors of DECIMALs when OLAPCacheEngineSize=0 was configured. (2.00.14.4)

  • Fixed server crashes that occurred when queries with lead/lag analytic functions were executed in MySQL syntax mode. (2.00.14.4)

  • Fixed server crashes when incorrect parameters were passed to the makeKey function within a WHERE clause. (2.00.14.4)

  • Fixed server crashes when querying a keyed or indexed table with multiple primary key columns, where the filter condition contained an empty SYMBOL vector. (2.00.14.4)

  • Fixed crashes in lower-version servers that occurred when remoteRunCompatible sent unsupported scripts from a higher version (>=3.00). (2.00.14.4)

  • Fixed server crashes when appending an empty table to a keyed stream table. (2.00.14.4)

  • Fixed server crashes caused by appending a partitioned DFS table to another. The system now reports an error for such case. (2.00.14.4)

  • Fixed server crashes caused by concurrent writes to an in-memory keyed table. (2.00.14.4)

  • Fixed server crashes caused by the excessively large result generated by a CROSS JOIN. (2.00.14.4)

  • Fixed server crashes caused by concurrent disk reads in the TSDB engine due to missing filter conditions in pivot by after partition pruning. (2.00.14.4)

  • Fixed occasional server crashes when the X and Y of the corr function were tables with different numbers of columns. (2.00.14.4)

  • Fixed server crashes caused by using UPDATE/DELETE with WHERE EXISTS. Now it raises an error instead. (2.00.14.4)

  • Fixed data disorder issues when batchSize and throttle were triggered simultaneously during subscription. (2.00.14.3)

  • Fixed server crashes when data inserted into a stream table did not contain the table's array vector column. (2.00.14.3)

  • Fixed slow response of function login when nodes in a high-availability cluster were under heavy load. (2.00.14.3)

  • Fixed unexpected query results due to errors in domain recovery during restart. (2.00.14.3)

  • Fixed missing rows when performing LEFT JOIN or FULL JOIN (enableNullSafeJoin = true) on in-memory tables containing over 2 million rows, using multiple columns for joining. (2.00.14.3)

  • Fixed server crashes caused by inserting data with incompatible key column types into a keyed table. This issue was introduced in versions 2.00.11.1/1.30.23.1. (2.00.14.2)

  • Fixed the following issues with the createCrossSectionalEngine (2.00.14.2):

    • The number of aliases specified in metrics was less than the number of returned columns, causing the server to crash.

    • When both contextByColumn and keyFilter were specified, the function specified in keyFilter was called twice.

  • Fixed an error in the asof join engine where the timeColumn was a vector specifying for both the left and right tables, but only the right table's time column was included in the metrics. (2.00.14.2)

  • Fixed occasional crashes due to concurrent writes to a shared table when when its alias was specified as the output table of a streaming engine.(2.00.14.2)

  • Fixed server crashes caused by concurrent writes to stream tables containing array vectors. (2.00.14.2)

  • Fixed errors when accessing array vectors returned by functions through index in distributed queries. This issue was introduced in versions 2.00.14. (2.00.14.2)

  • Fixed occasional errors of missing column references during table joins caused by system modifications to variable names in subqueries. (2.00.14.2)

  • Fixed an error caused by referencing local variables in table joiner functions (e.g., lj). This issue was introduced in versions 2.00.14. (2.00.14.2)

  • Fixed an error that occurred when the last column specified in PIVOT BY was a partitioning column and the queried data volume was excessively large. (2.00.14.2)

  • Fixed a deserialization error during network transmission if a string was truncated using \0.

  • Fixed login failure on a compute node which was added to a cluster offline.

  • Fixed connectivity issues during asynchronous replication where the slave cluster failed to connect to the master cluster after a leader switch.

  • Fixed a startup failure caused by corrupted data of persisted stream tables.

  • Fixed server crashes during login when the workerNum configuration parameter is left empty. The system now logs and reports the error.

  • Fixed a condition evaluation error where defined is used in the if condition and its argument was defined in the elseblock.

  • Fixed an issue in keyed tables where identical key values were mistakenly identified as different values if the inserted data type of the key column(s)did not match the table schema.

  • Fixed server crashes caused by self-referencing dictionaries.

  • Fixed an issue with nested dictionaries where adding a new key-value pair to an inner dictionary also added the same key-value pair to the outer dictionary.

  • Fixed a server crash caused by out-of-bounds indices in the at operator.

  • Fixed an issue where the pnodeRun function did not include the node name in its return value when invoking a function that returned a vector.

  • Fixed a server crash caused by multiple executions of pnodeRun(setTraceMode{true}).

  • Fixed a server crash caused by the peach function using stack variables.

  • Fixed incorrect parsing results of toStdJsonwhen converting dictionaries containing values indicating data types (e.g., DATE).

  • Fixed inconsistent calculation logic and return types for percentChange(x,1) and percentChange(x) when x is a floating-point number.

  • Fixed data duplication issues when calculating metrics with subWindowspecified in (daily) time-series engines.

  • Corrected input arguments for functions cancelRebalanceTask and cancelRecoveryTask.

  • Fixed an issue where the cumstd function returned 0 when calculating values smaller than 1e-10.

  • Fixed an issue where the std, stdp, var, and varp functions did not check for very small numbers, leading to incorrect calculation results. This issue was introduced in version 2.00.13.

  • Fixed an occasional issue where the kama function produced inconsistent results compared to Python's TA-Lib.

  • Fixed automatic interpolation in (daily) time-series engines when the value of acceptedDelay is the same as windowSize.

  • Fixed an issue where daily time-series engines filled time column with "invalid date" after receiving cross-date data in different groups.

  • Fixed potential data loss in the daily time-series engine after receiving data that spans multiple days.

  • Fixed slow publishing of streaming data after filter was applied.

  • Fixed precision loss of DECIMALs when a SQL query filtered on sort columns of a TSDB database.

  • Fixed case sensitivity of CONTEXT BY columns in distributed queries.

  • Fixed an issue where the UPDATE statement failed to swap the values of two columns in an in-memory table.

  • Fixed an issue where scalars could not be used for matrix assignments in JIT version.

  • Fixed occasional freezing issues in the Windows JIT version.

Deprecated Features

  • Deprecated LAN license server. Functions getLicenseServerResourceInfo and getRegisteredNodeInfo, and configurations licenseServerSite and bindCores are removed in this release. Please use WAN license server instead.