3.00.5
Version: 3.00.5 | Compatibility Level 1 with 3.00.4
Release Date: 2026-02-11
Available Downloads:
New Features
- Added configuration option oauthUserPrefix, which allows adding a specified prefix to SSO usernames to comply with DolphinDB username rules, resolving the issue where users cannot be created when the username starts with a digit. (3.00.5.1)
- Added function
bondOutrightRepoPricerfor pricing bond outright repos. (3.00.5.1) - Added support for pricing floating-rate bonds and option bonds in
bondPricer. (3.00.5.1) - Added function
bondPledgedRepoPricerfor pricing bond pledged repos. (3.00.5.1) - Added function
eqRangeAccrualOptionPricerfor pricing equity range accrual options. (3.00.5.1) - Added function
eqDigitalOptionPricerfor pricing equity digital options. (3.00.5.1) - Added function
getLicenseServerStatusfor retrieving the connection status of the license server and the remaining number of days available after disconnection. (3.00.5.1) - Added function
scheduleGeneratorfor generating a sequence of dates. (3.00.5.1) - Added function
dateGeneratorfor generating a new date. (3.00.5.1) - Added function
fclusterfor generating flat clusters from the hierarchical clustering defined by the linkage matrix (3.00.5.1) - Added function
linkagefor iteratively merging clusters according to the selected linkage method and returning a linkage matrix that records the merge history. (3.00.5.1) - Added function
squareformfor converting a vector-form distance vector to a square-form distance matrix, and vice-versa. (3.00.5.1) - Added support for
mrto process data sources from multiple different tables. (3.00.5.1) - Added support for partial column updates in the PKEY engine through the ignoreNull parameter of
tableUpsert, preventing unspecified columns from being updated to NULL. (3.00.5.1) - Added support for loading multiple Parquet files with
createExternalTableand parsing Hive partition information, allowing external Parquet data to be queried directly through SQL. (3.00.5.1) - The
INSERT INTO ... VALUESstatement supports writing multiple rows of values across multiple lines. (3.00.5.1) - Added support for referencing table names, field names, and table-alias-qualified field names with backticks (`) in MySQL mode to avoid conflicts between identifiers and keywords. (3.00.5.1)
- Added support for two-table joined deletion in MySQL dialect mode, including INNER JOIN, LEFT JOIN, and comma-separated CROSS JOIN, as well as specifying an alias for the left table. (3.00.5.1)
- Added support for using
INSERT ... ON DUPLICATE KEY UPDATEon PKEY dimension tables in MySQL mode; this feature requiresenableInsertStatementForDFSTable=true. (3.00.5.1) - Added function
ujfor implementing the union join functionality in kdb syntax. (3.00.5.1) - Added support for implicitly converting STRING/SYMBOL values to target column types, including TEMPORAL, INT, and LONG, when appending to or updating in-memory and DFS tables. (3.00.5.1)
- Added support for automatically zero-padding incomplete date-time strings and converting them to DATETIME during DATETIME parsing and implicit conversion. (3.00.5.1)
- Added support for implicit string type conversion when inserting multiple rows into an in-memory table in a single operation. (3.00.5.1)
-
Added new configuration parameter maxRecursiveDepth to set maximum recursive depth.
-
Added support for the HTTP protocol in Single Sign-On (SSO).
-
Added new configuration parameter oauthAllowPasswordLoginNodes to specify the aliases of nodes that allow username-password authentication.
-
Added support for module marketplace features:
-
Added function
listRemoteModulesfor listing matched module names in the module marketplace. -
Added function
installModulefor downloading specified module files to the node module directory. -
Added function
getLoadedModulesfor displaying version information of loaded modules.
-
-
Added License control to the low-latency engine; a special License is now required for use.
-
Added support for encrypting dos files through function
encryptModule. -
Added support for online updates of the client license expiration time in the commercial edition license server after calling
setLicenseServerUserResource. -
Added functions
addCacheRulesForComputeGroup,removeCacheRulesForComputeGroup,getCacheRulesForComputeGroupfor managing the cache tables for compute groups. -
Added parameter includeSysDb to function
getClusterDFSDatabasesto control whether to display system databases; and added parameter includeSysTable to functiongetClusterDFSTablesto control whether to display system tables. -
Added support for secure HTTPS connections between the MCP server and MCP clients.
-
Added higher-order function
nothrowCallfor invoking functions in the same way ascallbut without throwing runtime errors. -
Added function
remove!for removing the element at the specified index from a vector or tuple. -
Added function
movingValidfor sliding-window calculations based on non-null data. -
Added functions
rowFilterAndSort,rowMergeAndSortfor filtering, sorting, and merging array vectors or columnar tuples. -
Added functions
toColumnarTupleandtoTuplefor outputting results as columnar tuples and tuples respectively ingroup byscenarios. -
Added support for high-availability MVCC table:
-
Added function
haMvccTablefor creating a high-availability MVCC table. -
Added function
loadHaMvccTablefor retrieving the handle of a high-availability MVCC table. -
Added function
dropHaMvccTablefor dropping a high-availability MVCC table. -
Added operation and maintenance functions
getHaMvccRaftGroups,getHaMvccLeader,getHaMvccTableInfo,checkpointHaMvcc, andisCheckpointingHaMvcc.
-
-
Added function
qcutfor grouping a numeric vector by quantiles and returning the corresponding quantile bin index or label for each element. -
Added support for plotting
SURFACE-type data through theplotfunction to generate 3D surface plots. -
Added function
yearFracfor calculating year fractions. -
Added function
histogramfor computing the histogram of a dataset. -
Added population covariance computation functions, supporting batch computing and streaming computing:
covarp,mcovarp,tmcovarp,cumcovarp,mcovarpTopN,tmcovarpTopN,cumcovarpTopN,rowCovarp。 -
Added vector similarity and distance computation functions:
-
Added function
minkowskifor calculating the Minkowski distance between vectors. -
Added function
seuclideanfor calculating the standardized Euclidean distance between vectors. -
Added function
cosinefor calculating the cosine similarity/distance between vectors. -
Added function
mahalanobisfor calculating the Mahalanobis distance between vectors.
-
-
Added function
appendEventWithResponsefor synchronously sending events and blocking until a matching response event is returned. -
Added support for processing array vectors in scenarios where
lowLatency=trueis set in the streaming engines. -
Added the sparse state event engine for specifying different metrics and triggering calculations under different conditions.
-
Streaming data supports data state indicators:
-
Added function
getStreamTableChangelogto retrieve data from the stream table with a status column. -
Added functions
StreamGraph::changelogSourceandDStream::changelogSinkto enable the use of stream tables with status column in Orca. -
Added function
peekAppendfor peeking at the output after test data is appended to the engine based on the current state.
-
-
Added support for setting the timestamp column of high-availability stream tables through
setStreamTableTimestamp. -
Added Orca privileges, introducing the ORCA_GRAPH_CREATE, ORCA_GRAPH_DROP, ORCA_GRAPH_CONTROL, ORCA_TABLE_CREATE, ORCA_TABLE_DROP, ORCA_TABLE_READ, ORCA_TABLE_WRITE, ORCA_ENGINE_MANAGE, and ORCA_MANAGE.
-
Added support for creating a stateless engine through
DStream::reactiveStatelessEngine. -
Added function
matchedRowCountfor retrieving the number of rows affected by the last executedINSERT INTO/UPDATE/DELETEstatement in the current session. -
Added function
getStreamingSQLSubscriptionInfofor retrieving the metadata of a specified Streaming SQL query. -
Added support for inserting into selected columns using the standard SQL syntax
insert into table_name1 (colName1 [, colName2, ...]) select col_name(s) from table_name2. -
Added function
runExternalQueryfor executing SQL queries on external databases. -
Added parameter cgroupBy for function
sqlto generate metacode including acgroup byclause. -
Added function
createMktDataEnginefor creating a streaming engine to build curves and surfaces in real time. -
Added function
createPricingEnginefor creating a streaming engine to price financial products in real time. -
Added function
cmFutVolatilitySurfaceBuilderfor building commodity futures options volatility surfaces. -
Added function
cmFutAmericanOptionPricerfor pricing American options on commodity futures. -
Added function
cmFutEuropeanOptionPricerfor pricing European options on commodity futures. -
Added function
eqDividendCurveBuilderfor building equity dividend curves. -
Added function
eqVolatilitySurfaceBuilderfor building equity option volatility surfaces. -
Added function
eqEuropeanOptionPricerfor equity European option pricing. -
Added function
eqAmericanOptionPricerfor equity American option pricing. -
Added function
eqProxyVolatilitySurfaceBuilderfor building an equity proxy volatility surface. -
Added support for the marketData of
instrumentPricerandportfolioPricerto accept MktDataEngine and UDF as inputs. -
Added support for calculating bond with embedded options (
OptionBond) inbondInstrumentCalculator.
Improvements
- Renamed the IoT engine from IOTDB to IOT: (3.00.5.1)
- When creating a database,
engine="IOT"now provides the same functionality as the originalengine="IOTDB"; existing scripts usingengine="IOTDB"remain compatible. - Added aliases for the functions
getLocalIOTDBStaticTable,clearAllIOTDBLatestKeyCache, andclearAllIOTDBStaticTableCache, with IOTDB replaced by IOT in the aliases. - Added aliases for the configuration items IOTDBLatestKeyCacheSize, IOTDBStaticTableDir, and IOTDBStaticTableCacheSize, with IOTDB replaced by IOT in the aliases.
- Updated the output of user-facing logs to replace IOTDB with IOT.
- For the IOT engine, changed the engineType
returned by
schemafrom IOTDB to IOT.
- When creating a database,
- Extended the roundTime parameter of
createCrossSectionalEngineto supporttriggeringPattern='interval'mode, allowing window start times to be aligned via roundTime. (3.00.5.1) - Added option 'intervalForce' to the
createCrossSectionalEnginefunction's triggeringPattern parameter, which forces output even when no new data arrives in a given interval. Only supported whenuseSystemTime=true. (3.00.5.1) - Optimized the comparison logic of the
between/notBetweenoperators and functions for date and datetime types, enabling automatic conversion of finer-grained types to coarser-grained types for comparison when the time granularity of the range boundaries is finer than that of the value being compared (conversion to MONTH is not supported). (3.00.5.1) - Optimized function permission restrictions when
strictPermissionMode=trueto allow non-admin users to executerunScript. (3.00.5.1) - Added support for
replaceColumn!to replace DECIMAL columns in OLAP DFS tables, including conversions between DECIMAL and STRING, INTEGRAL, and FLOATING types, as well as conversions among DECIMAL32, DECIMAL64, and DECIMAL128 types. (3.00.5.1) - Optimized the controller volume allocation strategy to prevent volumes with less free space from being overselected. (3.00.5.1)
- Added support for omitting s3AccessKeyId, s3SecretAccessKey, and s3Region from the configuration file when using S3 for tiered storage and S3 Backup, with S3 account authentication information automatically obtained through the AWS SDK default credential chain. (3.00.5.1)
- Added support for connecting high-availability stream table
subscriptions to non-leader nodes, with
subscribeTablecalls automatically forwarded to the leader node. (3.00.5.1) - Optimized cold storage allocation strategy: when migrating data from hot to cold storage tier, the system selects the target cold volume based on the ratio of free space to capacity. (3.00.5.1)
- Optimized the scheduling logic for DFS transaction timeout and expired transaction cleanup. The default transaction timeout is adjusted to 6 times the renewal interval. (3.00.5.1)
- Optimized the disk space update mechanism for compute nodes in storage-compute separation mode by adjusting the background thread update interval from 2 seconds to 30 seconds and adding DEBUG logs for disk capacity and usage. (3.00.5.1)
- Optimized the mechanism for caching compute group data through
the
warmupComputeNodeCachefunction to reduce the memory usage of index caches and improve memory usage controllability in storage-compute separation scenarios. (3.00.5.1) - Optimized same-day time predicate pruning in TSDB to support
rewriting time ranges specified with
time()/nanotime()into original datetime ranges, reducing full table scans and improving query performance. (3.00.5.1) - Optimized dynamic metrics management in the Orca stream engine, added support for adding, deleting, and querying metrics for multiple reactive engines by engine object or string name. (3.00.5.1)
- Optimized the parsing logic of
parseInstrumentfor embedded-option bonds: (3.00.5.1)- Added support for specifying exerciseDates when parsing embedded-option bonds with only coupon rate adjustment rights.
- Added support for specifying newCoupon as a vector to pass multiple values that match different exercise dates.
- Optimized the field parsing logic of Instrument so that the notionalCurrency field of CmFutAmericanOption, CmFutEuropeanOption, EqAmericanOption, and EqEuropeanOption is optional and defaults to CNY when not specified. (3.00.5.1)
- Optimized the expired chunk version reclamation mechanism. (3.00.5.1)
- Optimized
getComputeNodeCacheWarmupJobStatusto increase the maximum number of completed cache warmup job history records from 10 to 4096. (3.00.5.1) - Optimized the shutdown mechanism when license server responses are not received, extending the automatic shutdown delay from 2 to 14 days. (3.00.5.1)
- Added optional parameters intercept and minPeriods
to
linearTimeTrend, supporting regression without intercept and specifying the minimum number of valid data points required within a window. (3.00.5.1) -
Enhanced the startup process of the licenseServer client to support authentication and startup via the standby server when the primary server is unavailable.
-
Optimized the SSO process: Fixed HTTP request errors caused by default ports in SSO requests. Enhanced the oauthUserField configuration to support parsing usernames from nested JSON fields.
-
Optimized the volume selection logic for writes by adding support for weighted write allocation based on each volume’s free space percentage.
-
Added support for DolphinDB ARM to view the remote plugin list and download/install plugins via
listRemotePluginsandinstallPluginrespectively in the plugin marketplace. -
Added support for displaying the node alias in the return values of
getAclAuditLogandgetAuditLog. -
Enhanced permission control for ORCA system tables to ensure they are not visible to non-admin users.
-
Added permission control to
listMCPPromptsandlistMCPTools. -
Added configuration parameter enableDynamicScriptOptimization to control whether to enable low-latency optimization for dynamic scripts.
-
Added the enableTransferCompressionToComputeNode configuration parameter and function
enableTransferCompressionToComputeNodeto control whether compression is enabled when data nodes send data to compute nodes. -
Changed configuration parameter enableORCA, with the default value adjusted to false.
-
Optimized log output during startup.
-
Enhanced validation logic of the TSDBCacheEngineSize parameter to ensure it does not exceed 50% of the node’s maxMemSize.
-
Enhanced the permission validation logic of
getTablesto prevent users without table access privileges from obtaining table name information even if they guess the database name. -
Added support for performing the
shareoperation on DFS partitioned tables. -
Enhanced syntax exception messages to include the line number.
-
Optimized the error message when using functions in the metrics of the
createCrossSectionalEnginefunction. Detailed error information is now properly returned. -
Optimized the error message of functions
wjandtwindow. -
Added support for modifying members of DolphinDB objects (tuples and dictionaries) through assignment statements or calls to mutable functions (e.g.,
append!,clear!). -
attributeTypesnow supports fetching attributes and their types by class name. -
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.
-
Optimized the computation algorithm of
cdfNormal. -
Added support for the
movingWindowDatafunction to accept an array vector as input. -
getFunctionViewsnow supports returning the creator and creation time information of function views. -
Added support for collecting cache information of the primary key engine (PKEY) via
getSessionMemoryStat. -
Optimized the performance for Orca cross-cluster queries.
-
Added support for adding metrics to ORCA's narrow reactive state engine via
addReactiveMetrics, so that it no longer reports “orca engine does not support adding metrics”. -
Optimized the query performance of text fuzzy match for TextDB.
-
Optimized the reactive stateless engine to support specifying different metrics to trigger calculations under different conditions.
-
Added support for calling
movingWindowDataon array vectors in the reactive state engine. -
Added support for using the built-in functions
mimaxLastandmiminLastin the reactive state engine. -
createCrossSectionalEnginesupports processing columnar tuples. -
Optimized the subWorkers table returned by
getStreamingStatso that workerId is returned even when no data is consumed. -
Optimized the thread allocation algorithm for
subscribeTableto prioritize idle threads when hash is not specified. -
Optimized memory usage of the persistent stream table during reload.
-
createCEPEnginenow supports multiple output tables, andemitEventsupports specifying an output table. -
Added the includeOperationType parameter to
createDataViewEngineto include the change type of each data record in output results. -
Refactored the high availability for stream processing.
-
Refactored the
DStream::udfEnginefunction. -
Optimized the performance of time-series engine.
-
Optimized window data overwrite rules for the snapshot join engine.
-
Changed the root job ID of stream processing to a random UUID.
-
Optimized the performance of the SQL Engine.
-
Optimized the query performance for
context by. -
Added support for passing a tuple to funcArgs in
contextby. -
Optimized try-catch exception error messages to include line number location information.
-
Optimized the internal implementation of window join engine and nearest join engine to improve performance.
-
Optimized the execution performance for JOIN.
-
Optimized the matching rules between instruments and marketData for bonds and bond futures.
-
Optimized the implementation of FICC-related computation functions to improve performance.
-
Added optional parameter surfaceName to
fxVolatilitySurfaceBuilderfor specifying the name of the generated FX option volatility surface. -
bondPricer,bondFuturesPricer,irDepositPricer,fxForwardPricer,fxSwapPricer,fxSwapPricerandfxEuropeanOptionPricersupport batch pricing. -
Added support for
irFixedFloatingSwapPricerandbondFuturesPricerto perform batch pricing.
Issues Fixed
- Fixed an issue in the join engine where results were not correctly updated when calculating array vector fields. (3.00.5.1)
- Fixed the issue where an error occurred when appending a VOID column (e.g., generated by SELECT null) to a SYMBOL column. (3.00.5.1)
- Fixed an issue where a parsing error occurred when
ewas used as a table alias in SQL queries. (3.00.5.1) - Fixed an issue where parsing errors could occur in JOIN, single-table query, and UNION/UNION ALL scenarios when a table alias in the SQL FROM clause was the same as a DolphinDB function name. (3.00.5.1)
- Fixed an issue where the system could incorrectly parse "minus 1" as "negative 1" and report an error when there were spaces around the subtraction operator in the compution expression of an SQL statement. (3.00.5.1)
- Fixed an issue where the result table used unexpectedly high memory when an in-memory table executed
context by + having + csort. (3.00.5.1) - Fixed an issue where executing large-volume grouped aggregation queries on shared indexed memory tables could return
Please use sql query to manipulate a synchronized table. (3.00.5.1) - Fixed an issue where the server failed to start due to deserialization errors of window functions. (3.00.5.1)
- Fixed issues related to batch appending ANY columns in stream tables: (3.00.5.1)
- Fixed an issue where writing to IOTANY columns could be abnormal because ANY columns were appended as entire columns during persisted stream table subscription replay.
- Fixed an issue where ANY columns could be incorrectly merged into a single element in subscription batch merge scenarios when
msgAsTable=false. - Fixed an issue where ANY columns in Streaming SQL result columns could have inconsistent lengths or write failures when merging multiple batches of logs.
- Fixed an issue where a conflict occurred between the main script and background tasks in the same session could cause crashes when an
mrparallel task exited abnormally. (3.00.5.1) - Fixed an issue where an error occurred when using built-in function names as field aliases in queries. (3.00.5.1)
- Fixed crashes that could occur when
byRowprocesses empty tuple data. (3.00.5.1) - Fixed an issue where single-line
ifstatements could return a errorInvalid expression: ). (3.00.5.1) - Fixed an issue where, in a storage-compute separation deployment, after executing
flushComputeNodeMemCache,getComputeGroupChunksStatusincorrectly reported chunks still cached on the compute node's disk as NOT CACHED. (3.00.5.1) - Fixed the following issues when using
context by ... limittogether with the having clause in the IOT engine: (3.00.5.1)- Fixed an issue where existing column names in the having clause might not be recognized.
- Fixed an issue where query results could be incorrect when the having clause contains aggregate, window, or order functions.
- Fixed the issue where an error occurred when a query hit the cache engine buffer in TSDB engine, caused by the
containmethod of a SYMBOL vector accepting only LITERAL values. (3.00.5.1) - Fix an issue where transaction UNDO logs were not garbage collected (GC) after data was deleted from cold storage. (3.00.5.1)
- Fixed incorrect window boundary handling in
createDailyTimeSeriesEngineduring multi-session time-series calculations: whenuseWindowStartTime=true, the output timestamp could incorrectly show the previous window's end time; when mergeSessionEnd was enabled, data at session-end boundaries was not included in the current window, causing incorrect aggregation results (e.g.,min,max). (3.00.5.1) - Fixed server crashes that could occur when the metrics of a time-series streaming engine containing
<count(*)>. (3.00.5.1) - Fixed server crashes that could occur when executing a function view to call
createAsofJoinEngineafter a restart. (3.00.5.1) - Fixed server crashes that could occur when writing high-volume data to stream tables. (3.00.5.1)
- Fixed an issue where Streaming HA subscriptions could fail when the topic name was too long. (3.00.5.1)
- Fixed an issue where recovery could fail and writes might not continue because the start position of the persisted data file was abnormal when the high-availability flow table cleaned up Raft files after OOM and recovered from the Leader. (3.00.5.1)
- Fixed server crashes that could occur when writing high-volume data to stream tables. (3.00.5.1)
- Fixed an issue where results of duration, modified duration, convexity, and basis point were abnormal when calculating risk metrics for embedded-option bonds or embedded-option bonds with newCoupon specified using
bondInstrumentCalculator. (3.00.5.1) - Fixed an issue where
irDepositPricerdid not include same-day cash flows in the price when the pricing date was a cash flow date, resulting in incorrect valuation results. (3.00.5.1) - Fixed an issue where concurrent queries during within-node rebalance (
rebalanceChunksWithinDataNode) could return empty results or columns filled with NULL values. (3.00.5.1) - Fixed an issue where writes to DFS tables could fail because chunks were in the RECOVERING state after an abnormal cluster shutdown and restart when highly available stream table subscriptions wrote to DFS tables. (3.00.5.1)
- Fixed an issue where data nodes might fail to start after the Leader node was powered off and restarted while using the Python API to concurrently write to a high-availability stream table with multiple processes in a high-availability cluster. (3.00.5.1)
- Fixed the issue where the controller process failed to exit after running the stopController.sh script in a high-availability cluster with
lanCluster=true. (3.00.5.1) - Fixed an issue where the configuration parameter thirdPartyAuthenticator was ineffective in standalone mode. (3.00.5.1)
- Fixed an issue where the asynchronous log writer could continue writing to a closed log stream after being stopped, potentially causing a crash when writing logs. (3.00.5.1)
- Fixed an issue where, after adding or modifying cluster configurations on the Web and restarting data nodes, high-availability stream initialization incorrectly reported that clusterName was not configured, causing data nodes to fail to start. (3.00.5.1)
- Fixed an issue where the compute node would crash when manually deleting the
audit.logfile on the compute node. (3.00.5.1) - Fixed an issue where the control node's memory continuously grew due to unreleased memory during frequent login authentication. (3.00.5.1)
- Fixed an issue where
toStdJsongenerated incorrect JSON text when processing strings containing\bor\f, causingfromStdJsonto reportInvalid json textduring parsing. (3.00.5.1) - Fixed the following issues in INTEGRAL type parsing: (3.00.5.1)
- Fixed an issue where parsing results were not as expected when importing SHORT, INT, or LONG data in scientific notation through
loadText. - Fixed an issue where the minus sign could be lost when a negative LONG value ended with trailing spaces.
- Fixed an issue where parsing results were not as expected when importing SHORT, INT, or LONG data in scientific notation through
-
Fixed server crashes that could occur when a column of SYMBOL type was set as the sortKey in the TSDB engine.
-
Enhanced configuration access control:
-
Added the enableConfigAccessControl parameter to control whether permission checks are applied when accessing configuration parameters.
-
Added the
getOauthClientSecretfunction to allow admin users to securely retrieve the value of the sensitive oauthClientSecret parameter. -
Updated the
getConfig/getConfigurefunction to support filtering returned results based on the security level of each parameter and the current user’s permissions whenenableConfigAccessControl=true.
-
-
Fixed the issue where excessive logging after partition updates in the TSDB engine could cause log files to grow rapidly and fill up disk space. This issue was introduced in version 2.00.15.
-
Fixed the issue where concurrent
getClusterPerfexecutions from multiple controllers exceeding the number of available worker threads could cause the system to become unresponsive in a high-availability cluster. -
Fixed the issue where submitting multiple tasks concurrently could occasionally trigger a scheduling anomaly, causing the system to become unresponsive.
-
Fixed the issue where followers failed to shut down properly when the controller was configured with
lanCluster=0in a high-availability cluster. -
Fixed the issue where upgrading from 3.00.0.x–3.00.2.x to 3.00.4.x could cause startup failure if the old version contained function views or scheduled jobs involving Catalog-related scripts.
-
Fixed the cluster hang issue caused by concurrent
dropTableand write operations. -
Fixed the issue where file descriptors occasionally leaked in job checkpoint files.
-
Fixed the issue where remote script execution occasionally threw errors after using an XDB connection.
-
Fixed the issue where cached handles were not invalidated during
moveReplicasoperations in a high-availability cluster, occasionally leading to inconsistent query results. -
Fixed the issue where memory usage returned by
getUserHardwareUsagecould be incorrect (negative) due to erroneous automatic type conversion. This issue was introduced in version 2.00.15. -
Fixed the issue where the
barfunction could generate out-of-range values when processing time types such as TIME, causing query and update failures. -
Fixed the incorrect pValue calculation in
adfullerwhen regression ='n' and adfStat > 0. -
Fixed server crashes that could occur when an empty data source was passed to the
mrfunction due to missing input type validation. -
Fixed the issue where the result of
linearTimeTrendwas incorrect when the window was larger than 1024. -
Fixed the issue where exporting CSV with the
saveTextfunction incorrectly handled quotes in fields with the SYMBOL type. -
Fixed the issue where
getUserTableAccessRecordsthrewan error when querying ranges across two or more job files. -
Fixed the issue where an unexpected permission error was reported when performing DDL operations in clusters with compute groups.
-
Fixed the issue where
each/loopreturned incorrect results for functions that have multiple return values, one of which is the same as an input parameter. -
Fixed the issue where unexpected behavior occurred when using the
atorrowfunction on array vectors. -
Fixed the issue where the totalRows field in
getStreamTablesoverflowed. -
Fixed the issue where
mstdcalculations produced incorrect results. -
Fixed the issue where
roundcould overflow. -
Fixed the issue where
getSessionMemoryStat()reported incorrectOLAPTabletmemory statistics under OOM scenarios, which prevented cache cleanup logic from functioning properly. -
Fixed the issue where
percentilecalculations could trigger segmentation faults. -
Fixed the issue when subscribing to a stream table using
subscribeTable, if the function specified in the filter parameter produced an output table schema inconsistent with the input stream table, the system neither outputs data nor reports an error. -
Fixed server crashes that could occur wheninserting an empty vector into a stream table with a timestamp column set by
setStreamTableTimestamp. -
Fixed the issue where
enableTableShareAndCachePurgemight occasionally fail for a stream table that had multiple local subscriptions. -
Fixed the issue where cached data was not properly cleared when a subscription was terminated by disconnection instead of using
unsubscribe, causing the number of rows in tables managed byenableTableShareAndCachePurgeto exceed the configured cacheSize limit. -
Fixed the issue where
registerStreamingSQLfailed to parse field names in camelCase. -
Fixed the issue where an error was reported when a streaming SQL keyed table received a single-row insertion containing a columnar tuple.
-
Fixed server crashes that could occur when a user-defined class method was misused in the metrics of
createReactiveStateEngine. The system now detects this misuse and returns a clear error message instead. -
Fixed the issue where an error was reported when metrics of
createReactiveStateEnginereturned multiple array vectors. -
Fixed the issue where an error was reported when a stateless function was used in the metrics of
createReactiveStateEngineand the return value alias specified byaswas the same as the function's input parameter name. -
Fixed the issue where an error was reported when subscribing to data published by a 2.00.X cluster from a 3.00.X subscriber.
-
Fixed the issue where using
last,lastNot, or functions that return multiple values with keyPurgeFreqInSec enabled could produce incorrect results in the time-series engine. -
Fixed the issue where, after using
warmupStreamEngineto preheat the time-series engine, writing new data caused the engine to output results for all preheated data instead of only the new data. -
Fixed the issue where a crash could occur when registering a streaming SQL that includes
now(). -
Fixed the issue where writes failed when updating data with the same key after declaring the key-value table as a stream input table.
-
Fixed the issue where reactive state engines returned incorrect results when processing DECIMAL64‑type columns with
deltas. -
Fixed the issue where stream table fields containing the ANY type caused an error when appending data through subscriptions.
-
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.
-
Fixed the issue where an error was reported when a line break was followed by an operator at the beginning of the line in a SQL statement.
-
Fixed the issue where SQL aggregation operations could occasionally cause the server to crash.
-
Fixed the issue where executing an
update ... context by ...statement on a shared memory table reported the error “A snapshot table doesn't support data update”. -
Fixed the issue where inserting data via an INSERT statement failed if a column started with two consecutive NULLs of VOID type.
-
Fixed the issue where required column names could not be correctly parsed in partitioned table queries of the TSDB/IOT engine when
selectused nested ternary operators?:. -
Fixed the issue where unexpected results were returned when the left table in a streaming SQL left join was updated before the right table.
-
Fixed the issue where the error message did not include the line number of the error when the
== is not a unary operatorsyntax error was reported. -
Fixed the issue where
nulls lastandnulls firstbehaved identically in queries. -
Fixed the issue where using
previn distributed table queries could report an error. -
Fixed the issue where queries on TSDB tables with
GROUP BYclauses that includedsortkeycolumns could cause node crashes if an OOM error occurred during execution. -
Fixed the issue where queries failed after performing
unionAllon two partitioned in‑memory tables. -
Fixed the issue where sorting occasionally failed to take effect under certain conditions when querying distributed TSDB tables using
csort by … desccombined withcontext by. -
Fixed the issue where
context bycaused queries on distributed tables to fail under specific scenarios. -
Fixed the issue where
stdcalculations could produce errors during grouped aggregation on in-memory tables.
Deprecated
- Optimized the bond cashflow handling logic so that custom cashflow inputs are no longer supported when constructing bonds, avoiding conflicts with built-in presets. (3.00.5.1)
