2.00.12

Version: 2.00.12  Compatibility Level 2 with 2.00.11 & 1.30.23

For details, see Compatibility Changes.

Release Date: 2024-04-03

Available Downloads:

New Features

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

  • Added parameter minPeriods to functions mcount and mrank for specifying the minimum number of observations in a window. (2.00.12.6)

  • Added the new function createStreamBroadcastingEngine for creating an engine that broadcasts streaming data. (2.00.12.4)

  • Added function fromStdJson for parsing standard JSON objects into DolphinDB variables. (2.00.12.2)

  • Added function parseInteger (alias parseInt) for converting strings into integers with specified numeral system. (2.00.12.2)

  • Added functions backupSettings and restoreSettings to back up and restore settings on users, permissions and function views for database migration. (2.00.12.2)

  • Added functions VaR and CVaR to calculate value at risk and conditional value at risk. (2.00.12.1)

  • Added functions nss and nssPredict to fit the yield curve and predict the bond yield. (2.00.12.1)

  • Added function matrixRank to calculate the rank of a matrix.

  • Added function bondAccrInt to calculate the accrued interest of securities.

  • Added function pinverse to find the pseudoinverse of a matrix.

  • Added function geoWithin to determine whether a point lies inside or outside a polygon.

  • Added functions getDfsRecoveryConcurrency and resetDfsRecoveryConcurrency to get and set the maximum concurrency of data recovery tasks on the controller.

  • Added functions getDfsRebalanceConcurrency and resetDfsRebalanceConcurrency to get and set the maximum concurrency of data rebalancing tasks on the controller.

  • Added function getTSDBTableIndexCacheStatus to check the memory usage of the level file indices of TSDB tables loaded on the current node.

  • Added function rowGroupby for aggregation grouped by rows.

  • Added function wslr for weighted single linear regression.

  • Added function digitize to bucket data based on specific bin values.

  • Added function lowerBound to find the first element that is greater than or equal to a specific value and return its index in an increasing object.

  • Added function fmin to minimize a function using a Nelder-Mead simplex algorithm.

  • Added functions pdfF, pdfChiSquare, and pdfNormal to calculate probability density of F, chi-square, and normal distributions.

  • Added function createReactiveStateLessEngine which maintains states and outputs calculation results based on associated data for each data injection.

  • Added function kroghInterpolate for polynomial interpolation of a set of points.

  • Added mTopN function: mpercentileTopN.

  • Added m-functions: mfirstNot, mlastNot, mLowRange, mTopRange.

  • Added functions minIgnoreNull and maxIgnoreNull for obtaining the min and max values with null values ignored.

  • Added tm-functions: tmLowRange, tmTopRange.

  • Added support for ZSTD compression algorithm.

  • Added function setDynamicConfig to dynamically set a specified configuration parameter.

  • Added function getDynamicConfig to list all dynamically-modifiable configuration parameters.

  • Added configuration parameter decimalRoundingMode to set the rounding method for DECIMAL values.

  • Added configuration parameter checkExistingPartitionNumForQuery to use the number of existing partitions obtained from the controller for queries.

  • Added configuration parameter enableAuditLog to enable audit logs. Added function getAuditLog to query audit logs and configuration parameter auditLogRetentionTime to set audit log retention time.

  • Added configuration parameter enableNullSafeJoin to determine whether null values are allowed to match other null values during join operations.

  • Added function setStreamTableTimestamp to attach a timestamp column to a stream table to record the data ingestion time.

  • The following features are supported in DolphinDB JIT version:

    • Set and dictionary forms;

    • STRING and SYMBOL types;

    • Multiple return values;

    • Creating array vectors.

  • The use keyword can be used to call .dom module files in scripts.

  • Added support for creating a matrix of DECIMAL or STRING type.

  • Added support for using macro variables and column series in SQL statements.

Improvements

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

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

  • Enhanced the DELETE statement performance. (2.00.12.11)

  • Adjusted the log level of cross-node subscription messages from INFO to DEBUG. (2.00.12.11)

  • Optimized TSDB engine performance for concurrent queries. (2.00.12.10)

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

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

  • Enhanced the system security. (2.00.12.10)

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

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

  • Optimized partition creation performance for databases containing millions of existing partitions. (2.00.12.8)

  • The parseJsonTable function now accepts tables containing BLOB columns. (2.00.12.7)

  • Optimized the checkpoint mechanism to reduce the checkpoint frequency for massive metadata on the controller. (2.00.12.7)

  • Enhanced data type validation for partitioning columns when creating tables in a database with a time-based partitioning scheme. (2.00.12.7)

  • The parameter n of state functions percentChange and deltas of the reactive state engine can be specified as a positive integer. (2.00.12.7)

  • 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.12.6)

  • 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.12.6)

  • Enahanced user access control for function views and module functions. (2.00.12.4)

  • Enhanced the performance of queries for finding maximum and minimum values on partitioning columns. (2.00.12.4)

  • The parameter groupingCol of function groupby now supports specifying a tuple with vectors of the same length. (2.00.12.2)

  • The parameter sortDirections of function sortBy! can be specified for a keyed table. (2.00.12.2)

  • The function fixedLengthArrayVector now supports concatenating fixed-length array vectors. (2.00.12.2)

  • Added parameter keyFilter to function createCrossSectionalEngine to enable key selection with filtering conditions. (2.00.12.2)

  • Optimized the performance of heterogeneous replay at maximum speed. (2.00.12.1)

  • Added parameter read for the license function to determine whether to verify the license file before returning the result. (2.00.12.1)

  • For the sortKeyMappingFunction parameter of function createPartitionedTable, if the mapping function is hashBucket, buckets now can be set as 1. (2.00.12.1)

  • Optimized the query performance on TSDB tables when using IN condition on sort keys. (2.00.12.1)

  • Enhanced system security with encrypted passwords. (2.00.12.1)

  • Optimized the performance of TSDB engine when reading data from cache engine.

  • The sortColumns parameter specified for a TSDB table now supports DECIMAL type.

  • Added support for setting priority queues at the database level for asynchronous replication.

  • Added support for tiered storage in a standalone mode.

  • The rebalanceChunksWithinDataNode function now can be called in a standalone mode.

  • Enhanced the partition pruning logic when using IN keyword within a WHERE clause.

  • Added alias createDimensionTable for the createTable function.

  • Optimized the performance of functions lasso and ElasticNet.

  • Added parameter ignoreNull for functions nunique and cumnunique, which specifies whether to return only the unique non-null elements.

  • Increased the maximum allowed precision for the round function to 10 digits.

  • Soft delete for TSDB databases now can be enabled in a CREATE TABLE statement with the newly-added parameter softDelete.

  • Added the execution plan for queries involving join operations in [HINT_EXPLAIN].

  • Added the execution plan for the WHERE clause in [HINT_EXPLAIN] to monitor the pre-filtering execution phase for queries on TSDB tables.

  • The following functions now can be called on a compute node: createUser, createGroup, resetPwd, changePwd, deleteUser, deleteGroup, addGroupMember, deleteGroupMember, grant, deny, revoke, setMaxJobPriority, setMaxJobParallelism, getUserList, getGroupList, getGroupsByUserId, getUsersByGroupId, getUserAccess, getGroupAccess.

  • Functions mifirstNot, miLastNot, mfirstNot, mlastNot, mimax, mimin now support indexed series and indexed matrix.

  • 'DFLT' now can be set for keyword parameters to fix optional parameters as default values within a partial application.

  • Added parameter n for functions deltas and percentChange to enable calculations across multiple rows.

  • The reactive state engine now supports invoking the functions prev and move on array vector columns.

  • UPDATE statement now supports CSORT and HAVING clauses.

  • Added parameter bondType for functions fiDirtyPrice, fiDuration, and fiConvexity to support multiple bond types including zero-coupon bond and discount bond.

  • Array vector columns are now supported in keyed tables, keyed stream table, and indexed tables.

  • Added the arrayMarker parameter for functions loadText, loadTextEx, ploadText, and textChunkDS to specify an identifier to distinguish imported array vector.

  • Optimized the performance of cross join.

  • Optimized the performance when joining a dimension table and DFS table.

  • Added parameter anomalyDescription for function createAnomalyDetectionEngine to customize the detailed description for anomalies.

  • The replayDS function now can accept input tables containing DECIMAL columns.

  • Optimized the performance when retrieving distinct values of a single column using distinct.

  • Enhanced the createCrossSectionalEngine function with the following changes:

    • The contextByColumn now can be a STRING vector.

    • Added parameter outputElapsedMicroseconds to output the elapsed time and total rows of each calculated batch.

    • Added parameter roundTime to align the window boundary when triggeringPattern='dataInterval'.

  • warmupStreamEngine now supports time series engine.

  • The func parameter of the moving function now accepts aggregate functions that return a tuple.

  • Added parameter map for the sql function to generate SQL statements with map keyword.

  • Optimized the performance of built-in aggregate functions operating on matrices.

  • Enhanced the createTimeSeriesEngine and createDailyTimeSeriesEngine functions with the following changes:

    • Added parameter parallelism to support multi-threaded execution of metrics in the time-series engine.

    • Added parameter acceptedDelay to set the maximum allowable delay for data reception when useSystemTime= true.

  • The print function is now supported in metrics of streaming engines.

  • The system now logs startup commands during the startup process.

  • Optimized the concurrency performance when joining multiple tables.

  • Added parameter usePinv for the ols function to determine whether to use pseudo-inverse method to calculate inverse of a matrix.

  • Added parameter excludedPeriod for the tmoving function to skip the calculation for specific time period.

  • Added support for updating array vector columns of DFS tables.

  • Modified the behavior of function at when it is served as a higher-order function. When X is a function and index is a tuple, each element of index is passed as an argument to the X.

  • The higher-order function each now allows a function with two or more arguments, where the first argument is a dictionary.

  • Optimized data rebalancing algorithms.

  • Added parameter updatedBeforeDays for functions rebalanceChunksAmongDataNodes and rebalanceChunksWithinDataNode, which limits the rebalancing process to only include data that was last updated before updatedBeforeDays days.

  • The higher-order function cross now allows a function that returns values of CODE, FUNCTIONDEF, STRING, or BLOB type.

  • Removed the restriction on time precision for WHERE conditions involving comparisons of time values in distributed queries.

  • In standalone mode, writing to distributed tables is restricted if the data size of a write operation exceeds the capacity of the cache engine.

  • Added support for defining vectors or tuples across multiple lines.

  • Enhanced the Analytic Function (Window Function) with the following changes:

    • Added support for the following functions: imin, imax, iminLast, imaxLast, firstNot, lastNot, sum2, prod, percentile, wavg, wsum, corr, covar, beta, atImax, atImin.

    • RANGE can be used to define a window frame based on time values.

    • Added support for GROUP BY clause and allowed to nest aggregate function.

Issues Fixed

  • 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.12.11)

  • Fixed an issue where closing an abnormal subscription connection on the publisher side left a lock unreleased when other active subscriptions existed, blocking new subscriptions. (2.00.12.11)

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

  • 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.12.11)

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

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

  • Fixed an error where pivot by queries failed with "Unrecognized column name" in cross-partition execution due to incorrect column name mapping. (2.00.12.11)

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

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

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

  • 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.12.11)

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

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

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

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

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

  • 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.12.11)

  • Fixed the getUserHardwareUsage function returning unexpected results when provided with dates. (2.00.12.11)

  • Fixed potential server crashes when the stream dispatch engine writes data to an asynchronously persisted stream table with stacked threads. (2.00.12.10)

  • Fixed unexpected partition data after restoring replicas. (2.00.12.10)

  • Fixed data disorder issues when triggering batchSize and throttle simultaneously during subscription. (2.00.12.10)

  • Fixed potential server crashes when using user-defined optimization functions. (2.00.12.10)

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

  • 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.12.10)

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

  • 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.12.10)

  • 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.12.10)

  • 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.12.10)

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

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

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

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

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

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

  • 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.12.10)

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

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

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

  • 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.12.10)

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

  • Fixed server crashes caused by updating a SYMBOL column with a CHAR value in the distributed table of the TSDB database. (2.00.12.10)

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

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

  • Fixed occasional crashes during login when enhancedSecurityVerification=true. (2.00.12.8)

  • Fixed an error when data was ingested from a streaming engine into a stream broadcast engine, and then output to a persisted stream table. (2.00.12.8)

  • Fixed a server startup failure when function views included insert into statements. (2.00.12.8)

  • Fixed potential server crashes caused by resource tracking. (2.00.12.7)

  • Fixed server crashes occurring when array vector elements exceeded the length limit during table joins. (2.00.12.7)

  • Fixed data loss caused by concurrent moveHotDataToColdVolume operations on the same partition. (2.00.12.7)

  • 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.12.7)

  • Fixed the error A table can't contain duplicate column names reported when the lookup join engine’s rightTimeColumn contains uppercase letters and was used in metrics. (2.00.12.7)

  • Fixed potential metadata loss in HA clusters due to checkpoint failures during a controller restart. (2.00.12.7)

  • Fixed an occasional issue where a chunk path corresponded to multiple chunk IDs. (2.00.12.7)

  • Fixed server crashes that occurred when executing background jobs containing lambda expressions, submitted via submitJob or scheduleJob, if the session that originally submitted the job had closed. (2.00.12.7)

  • 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.12.7)

  • Fixed an error of “The result of distributed call is not a table” caused by EXEC distributed queries with positive LIMIT/TOP and ORDER BY clauses specifying a partitioning column in descending order. (2.00.12.7)

  • 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 BY and LIMIT/TOP. (2.00.12.7)

  • Fixed an error of parseJsonTable when parsing JSON objects containing \\\". (2.00.12.7)

  • Fixed incorrect results returned by aggregation functions such as wsum and wavg with a scalar and an empty array as inputs.(2.00.12.7)

  • 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.12.6)

  • 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.12.6)

  • Fixed a server crash when querying an array vector column with distinct. (2.00.12.6)

  • Fixed an issue where queries failed during ej operation if the table name was not specified in the where condition. (2.00.12.6)

  • Fixed system crashes after executing the createWindowJoinEngine function with invalid parameters. (2.00.12.6)

  • Fixed an error where using the move function may lead to incorrect calculation results if the input data was an intermediate result. (2.00.12.6)

  • Fixed occasional crashes when executing the mpercentile function multiple times. (2.00.12.6)

  • Fixed an error in JIT when using the rank function due to type inference issues. (2.00.12.6)

  • Fixed an error in JIT when using the isort function due to compatibility issues. (2.00.12.6)

  • Fixed incorrect equi join (ej) results of keyed tables. (2.00.12.4)

  • Fixed occasional redo log replay failures that occurred when function views were being added or deleted concurrently during a checkpoint operation. (2.00.12.4)

  • Fixed an issue where queries on a dimension table occasionally failed when dimension table cache was being released concurrently. (2.00.12.4)

  • Fixed an issue where asynchronous replication would get stuck in the slave cluster when multiple tables in a database were truncated concurrently. (2.00.12.4)

  • Fixed an issue of hanging nodes when modules loaded with configuration parameter preloadModules contained recursive function calls. (2.00.12.3)

  • Fixed occasional login failures during client reconnection. (2.00.12.3)

  • Fixed occasional server crashes when replaying redo logs for excessively time-consuming TSDB transactions. (2.00.12.3)

  • Fixed occasional server crashes caused by left join. (2.00.12.3)

  • Fixed inaccurate memory usage statistics for array vectors. (2.00.12.3)

  • Fixed server crashes caused by SQL queries when the first argument of interval was not a column. (2.00.12.2)

  • Fixed an issue where minPeriods of function mmad did not take effect. (2.00.12.2)

  • Fixed server crashes caused by SQL queries if a database path was not a string. (2.00.12.2)

  • Fixed incorrect results of distributed queries if context by clause involved more than two columns and the csort clause included these context-by columns. (2.00.12.2)

  • Fixed an issue where replay tasks got stuck if the number of workers was significantly smaller than the number of partitions. (2.00.12.2)

  • Fixed an error in SQL queries with pivot by clause when the select/exec clause contained expressions. (2.00.12.2)

  • Fixed an error when restoring manual backup files from Amazon S3. (2.00.12.2)

  • Fixed an error when querying an empty table where the select clause called function eachPre and the SQL query contained context by clause. This issue was introduced in version 2.00.11.1. (2.00.12.2)

  • Fixed precision loss of DECIMALs when writing streaming data to a DFS table with batchSize set to 1. (2.00.12.2)

  • Fixed occasional incorrect results of metaprogramming with macro variables when applying function patterns to multiple columns by group, particularly with aggregate or order-sensitive functions. (2.00.12.2)

  • Fixed an issue where the equal= sign in where conditions did not take effect if a STRING or SYMBOL partitioning column of a VALUE-partitioned table contained decimal points or other special characters. This issue was introduced in version 2.00.12. (2.00.12.2)

  • Fixed an error reported when aggregating joined columns. (2.00.12.2)

  • Fixed server crashes caused by SQL queries calling ols within the higher-order function moving. (2.00.12.2)

  • Fixed server crashes where Raft was not initialized while HA stream tables were already loaded during a node reboot. (2.00.12.2)

  • Fixed incorrect result of executionSet returned by getSlaveReplicationQueueStatus if a Leader was switched to Follower and then re-elected as Leader. (2.00.12.2)

  • Fixed Unrecognized column name error for queries using ej on DFS tables and external variables in where conditions. (2.00.12.2)

  • Fixed server crashes on the ARM version caused by multi-threaded queries. (2.00.12.1)

  • Fixed server crashes caused by concurrent select and append! operations on in-memory tables after resource tracking was enabled. (2.00.12.1)

  • Fixed an issue where the execution of clearCachedModules in console did not take effect. (2.00.12.1)

  • Fixed server crashes when using the head function in the aggs parameter of wj. (2.00.12.1)

  • Fixed server crashes caused by compilation failure during recursive or nested calls to JIT functions. (2.00.12.1)

  • Fixed server crashes caused by a distributed query with the WHERE clause containing functions that generated temporary variables. (2.00.12.1)

  • Fixed an issue where the analytic function could not recognize the column used in multiple joins. (2.00.12.1)

  • Fixed an issue where the schema function returned an incorrect partitionSchema that contained partitions already dropped with function dropPartition(with deleteSchema= true specified).

  • Fixed an issue where the result of the iif function was incorrectly typed as a STRING when the output was intended to be metacode.

  • Fixed an error for function getFunctionViews when the returned function body was excessively large.

  • Fixed an issue where the result of each function call was not being properly removed when the function contained cast($) operations used to convert the data type to the same type.

  • Fixed server crashes when the results of lshift (<<) and rshift (>>) contained null values.

  • Fixed an issue where replicas of chunks could be copied to a compute node using the copyReplicas function.

  • Fixed an issue where the format function returned incorrect results when applying a specified format to DECIMAL objects.

  • Fixed server crashes when using function med with excessively large data.

  • Fixed server crashes when passing a tuple with non-vector elements to the nunique function.

  • Fixed incorrect results when both X and Y of the asof function input vectors containing only null values.

  • Fixed an issue where appending data to a vector ignored the maximum size limit. An error will now be reported in such cases.

  • Fixed an issue where the lj, aj and other join-related functions did not support keyword parameters.

  • Fixed an issue where the database function failed to create an in-memory database with enableLocalDatabase=false configured.

  • Fixed an issue with the sqlDS function where partition pruning was not applied when the SQL statement specified in the sqlObj parameter contained the IN keyword in the WHERE clause.

  • Fixed an issue in standalone mode, where transactions were incorrectly replayed due to the edit log being written before the redo log.

  • Fixed incorrect results returned by the reactive state engine when calculating the cummin function with the following types of data: UUID, INT128, IPADDR, COMPLEX and POINT.

  • Fixed an error occurred when comments were placed between the function name and the function body.

  • Fixed an issue where the cleanup process for expired files of persistent stream tables would get stuck in an infinite loop if it encountered a non-existent file.

  • Fixed an issue where the presence of stale partitions could potentially cause data from new partitions located under the same path to be garbage collected.

  • Fixed server crashes when calculating DECIMAL array vectors in a query with PIVOT BY clause.

  • Fixed server crashes when using both CASE and WHERE NOT keywords in a single query.

  • Fixed an error that reported when using three or more UNION ALL keywords in a single SELECT FROM statement.

  • Fixed inconsistent query results when using double quote ("") and single quotes ('') in the WHERE condition to filter the CHAR column of a DFS table.

  • Fixed incorrect query results on a sorted keyed table

  • Fixed an issue where assigning a matrix to multiple output columns in a query returned incorrect results.

  • Fixed server crashes when using exists keyword in a query containing joins of multiple partitioned tables.

  • Fixed an issue where using a non-aggregate function in the SELECT statement did not report an error when grouping value-partitioned columns using the GROUP BY clause. An error will now be reported in such cases.

  • Fixed an error that occurred when the query result contained an array vector and the PIVOT BY clause included sort keys.

  • Fixed an error that occurred when using a function with multiple return values in combination with a WHERE clause in a query.

  • Fixed server crashes due to an out-of-bounds error when accessing an array in metrics of a time-series engine with useSystemTime=true specified.

  • Fixed a parsing issue in time-series engines for functions that return array vectors.

  • Fixed an issue where a write failure to a persisted table could disrupt data consumption for the subscription.

  • Fixed server crashes when the number of metricNames did not match that of factors specified in metrics for function createNarrowReactiveStateEngine.

  • Fixed an error when using the nullFill! function in a reactive state engine. This error was introduced in version 2.00.11.2.

  • Fixed server crashes when the formal parameter of the JIT function had the same name as the built-in functions.

  • Fixed an issue where the newly appended element to a vector within a JIT function could not be accessed or modified by indexes.

  • Fixed incorrect results returned by the JIT function when calculating a vector that had null values appended or assigned to it.