28.0
Release Highlights
- Ocient Management UI —
- The Ocient® Management UI is now available. This web-based interface provides at-a-glance visibility into system health, query activity, data ingestion, storage utilization, and node status, and includes an interactive SQL Console and a guided Pipeline Builder for creating data pipelines without writing DDL statements. For details, see Ocient Management UI Features and Ocient Management UI Configuration.
- Data Pipeline Loading —
- Added accurate metrics for ingest, fan-out, and filtering. Added the ability to quiesce a pipeline with the
QUIESCE SQL statement and to use advanced ALTER PIPELINE options, so you can restart a pipeline at a specific file offset after making changes.
- Ocient MCP Server —
- Added the Ocient MCP Server, distributed as the Python® package
ocientmcp. The server implements the Model Context Protocol (MCP) so that AI agents and AI-powered code editors can discover schemas, execute SQL statements, and look up reference information in an Ocient System for local, remote, or proxied deployments. For details, see Ocient MCP Server and Model Context Protocol Tools.
- Data Flows —
- Added data flows, which are procedural control-flow blocks that execute multiple SQL statements sequentially as a single unit. Data flows support variables,
WHILE and FOR loops, IF, ELSEIF, and ELSE branching, TRY and EXCEPTION WHEN error handling, and RAISE for user-defined errors. For details, see Data Flows.
Features
- SQL Syntax Additions —
- Added the
FETCH FIRST and FETCH NEXT clauses as alternatives to LIMIT for restricting query result rows. For details, see FETCH.
- Added the
ROW() constructor as a standard alias for the tuple() constructor. For details, see Tuple Functions and Operators.
- Added support for hexadecimal (
0x), octal (0o), and binary (0b) integer literal formats, and underscore digit separators for numeric literals. For details, see Data Type Considerations.
- Added the
WITH RECURSIVE clause for defining a recursive common table expression (CTE) that references itself, enabling iterative computations such as traversing hierarchical data, generating sequences, and walking graph structures. For details, see WITH RECURSIVE.
- Added multi-dimensional cross-product tables to the
sys.dummy syntax. For details, see Generate Tables Using sys.dummy.
- Data Pipeline Loading —
- Added metrics to measure load throughput, including fan-out, which you can use in real-time or historically. Also, added views for simplicity to show rows and bytes processed by the pipelines. For details, see Pipeline Metrics Details.
- Enhanced the
ALTER PIPELINE SQL statement to update the configuration and transformation of an existing data pipeline in place. You can now rename a data pipeline and update its source, monitor, bad data target, lookup sources, extraction options, and advanced tuning options without recreating the pipeline. The statement preserves the pipeline metrics across the quiesce operation and ensures a clean point from which that pipeline or a different one can safely continue loading the same tables from a consistent point.
- Added Kerberos authentication for loading data from Apache® Hadoop® Distributed File System (HDFS) sources. You can now authenticate with a keytab file or with a delegation token. Added support for loading Apache® Parquet™ data from an HDFS source. For details, see Kerberos Authentication for HDFS Sources.
- Array Functions —
- Added the
ARRAY_INTERSECT_DISTINCT_COUNT function that returns the count of distinct elements common to both input arrays. For details, see ARRAY_INTERSECT_DISTINCT_COUNT.
- Added the
ARRAY_TRANSFORM_WITH_ORD function that transforms an array using a lambda expression that receives both the element and its 1-based ordinal position. For details, see ARRAY_TRANSFORM_WITH_ORD.
- Added the
JACCARD_SIMILARITY function that returns the Jaccard similarity coefficient of two arrays, defined as the size of the intersection divided by the size of the union. For details, see JACCARD_SIMILARITY.
- Added the
ZIP_WITH_ORD function that merges two or more input arrays element-wise using a combining function that also receives the 1-based ordinal of each tuple. For details, see ZIP_WITH_ORD.
- Workload Management —
- Added
GRANT and REVOKE support for USE and VIEW privileges on service classes. Users with the USE privilege on a service class can reference it in the USING SERVICE CLASS query clause. The VIEW privilege controls visibility of the service class in the sys.service_classes system catalog table. For details, see Service Class Privileges and Service Class.
- Machine Learning Model Updates —
- Added the
UNDERSAMPLING machine learning model type, a preprocessing primitive that addresses class imbalance. The model produces a sampled output table with a more balanced class distribution. For details, see Undersampling.
- Expanded training metrics for machine learning models. For details, see Machine Learning Model Options.
- Classification models now report accuracy, confusion matrix, MCC, per-class, macro, or weighted precision, recall, AUC-ROC, and F1 score.
- Regression models now report R², adjusted R², RMSE (root mean squared error), MAE, MAPE, AIC, and BIC.
- Clustering models now report WCSS (Within-Cluster Sum of Squares) for K-Means and log-likelihood for Gaussian Mixture Models.
- Added the
ROOT_MEAN_SQUARED_ERROR aggregate function for evaluating machine learning model quality. For details, see ROOT_MEAN_SQUARED_ERROR.
- Standardized model options across all machine learning models. Removed the
noSnapshot option from all models. For details, see Machine Learning Model Options.
- Added the
predict and predict_probabilities machine learning meta functions. Unlike calling a model directly by name, meta functions wrap the model invocation and control how the model produces its output. For details, see Machine Learning Meta Functions.
- DDL Statements —
- Added the
ALTER TABLE SET COMMENT SQL statement that sets or updates the description of an existing table. For details, see ALTER TABLE SET COMMENT.
- Added the
GET NODE TOKEN and REVOKE NODE TOKEN SQL statements. GET NODE TOKEN generates a single-use bearer token so a new node can join the cluster without administrator credentials. For details, see Node Token.
- Added the
REQUIRE_SSO, OPENAPI_ADVERTISED_ADDRESS, OPENAPI_ADVERTISED_PORT, SSL_CERTIFICATE_FILE, and OPENAPI_SSL_CERTIFICATE_FILE parameters to the CREATE CONNECTIVITY_POOL and ALTER CONNECTIVITY_POOL SQL statements. For details, see CREATE CONNECTIVITY_POOL.
- Scalar Data Conversion Functions —
- Added the
MAP_PUT, MAP_GET, and MAP_DELETE scalar functions that operate on parallel key and value arrays as a practical map in SQL. Store a map as a tuple of a key array and a value array, and use these functions to insert, retrieve, and remove key-value pairs. For details, see Map Functions.
- HTTP Query API —
- When you execute a query using the HTTP Query API that exceeds a service class limit, the database terminates the query with the expected error instead of having the query remain in the
FINALIZING state indefinitely.
- System Catalog Table Additions —
sys.mcp_tools
sys.pipeline_metrics_current
sys.pipeline_metrics_historical
- System Catalog Table Column Additions —
- The
sys.pipeline_metrics system catalog table includes the new file_index, work_unit_id, work_unit_attempt, and epoch_id columns.
- The
information_schema.pipeline_status and information_schema.pipeline_table_metrics views include the bytes_ingested column.
- The
information_schema.pipelines view includes the transaction_id column.
- The
sys.completed_queries_persistent system catalog table and the query.json output include the new parent_query_id column.
Version Compatibility
- Data Pipelines are now the preferred method for loading data into the Ocient System. For details, see Load Data. The LAT functionality is deprecated and will be removed in a future release.
- A
SELECT statement without a FROM clause that references a column, such as SELECT c1;, now returns the error (The reference to column 'c1' is not valid) instead of resolving the column from the previous default table reference.
- Nested vectors and matrices (vectors or matrices nested inside arrays, tuples, or maps) require Spark connector 1.2.0 or later together with JDBC driver 4.3.0 or later. For details, see Spark Connector Release Notes.
- For a new Ocient System, the Ocient Management UI and the HTTP Query API are enabled by default. Previously, you had to open a Connectivity Pool port for the HTTP Query API before either was reachable. For details, see Configure API Port.
- The
FEEDFORWARD NETWORK machine learning model type has been renamed to MLP (Multi-Layer Perceptron). The FEEDFORWARD NETWORK name is still accepted for backward compatibility. For details, see Multi-Layer Perceptron (MLP).
- For new Google Cloud Platform deployments, Ocient recommends Z3 instances (for example,
z3-highmem-88) instead of the N2 instance family, which Ocient will remove in a future release. Existing N2 deployments continue to function. For details, see Google Cloud Platform Ocient Installation.
27.1
Release Highlights
- Data Extract Tool —
- Added the extraction of Parquet files to the data extract tool. For details, see Data Extract Tool.
- Data Pipeline Loading —
- Added the
CREATE TRANSACTIONAL PIPELINE SQL statement with the optional START FOREGROUND clause. This statement creates a transactional pipeline, starts it immediately, and blocks the SQL session until the pipeline completes or fails. On failure, the Ocient System automatically rolls back all uncommitted data. For details, see Transactional Data Pipelines.
- JDBC Bulk Loading —
- Added the S3-compatible object store as an alternative bulk load transport mode. You can now set the
bulkLoadMode connection parameter to s3 to stage data through an S3-compatible endpoint instead of SSH or SFTP to Loader Nodes. For details, see JDBC Bulk Loading and JDBC Connection Properties.
Features
- Transaction Support —
- The Ocient System now supports transactions in the database and in the JDBC and pyocient drivers. A transaction groups one or more SQL statements into a single unit of work that the database either commits or discards as a whole. Transactions let you apply a set of related changes together and roll them back if any statement fails. For details, see Transactions. For syntaxes, see Transactional Control Language (TCL) Statement Reference.
- Distributed Tasks —
- Added the
DROP TASK SQL statement to drop orphaned or completed tasks from the system. For details, see Distributed Tasks.
- System Catalog Tables Additions —
sys.pipeline_errors_historical
sys.pipeline_events_historical
sys.pipeline_files_historical
sys.pipeline_metrics_historical
- System Catalog Column Additions —
transaction_id and transaction_prefix_len columns in both of the sys.queries and sys.completed_queries system catalog tables
transaction_id column in the sys.pipelines system catalog table
- Information Schema Views Additions —
information_schema.pipeline_status_historical
information_schema.pipelines_historical
information_schema.transactional_pipeline_status
Version Compatibility
- The
array_to_string SQL function no longer adds quotes around values of VARCHAR arrays.
27.0
Release Highlights
- Data Pipeline Loading —
- Added the new ALTER PIPELINE SQL statement for schema evolution. You can now modify the SELECT clause of a data pipeline for columns, filters, and transformations without recreating the pipeline.
- Machine Learning Model Updates —
- Added ensemble models with the Bagging, Boosting, and Stacking models. For details, see Ensemble Models.
Features
- Data Pipeline Loading —
- Machine Learning Model Updates —
- Added the regression version of the Decision Tree model. For details, see Regression Tree.
- Added
featureSubsetStrategy and maxCellsToFetch options to the Random Forest model. For details, see Random Forest.
- Data Storage —
- Added the
DRAIN PAGES SQL statement to manually migrate data from pages to segments. For details, see the DRAIN PAGES statement.
- Added the
NOINDEX option for time bucket clauses in CREATE TABLE statements. This option prevents a TimeKey® from impacting storage ordering. For details, see TimeKeys and Clustering Keys.
- Added the
ALTER SYSTEM SET DEFAULT STORAGESPACE SQL statement to enable default storage spaces for tables. For details, see the ALTER SYSTEM SET DEFAULT STORAGESPACE statement.
- Added the
ALTER CLUSTER ADD STORAGESPACE and ALTER CLUSTER REMOVE STORAGESPACE SQL statements to link storage spaces to clusters. For details, see the ALTER CLUSTER ADD STORAGESPACE and ALTER CLUSTER REMOVE STORAGESPACE statements.
- CREATE TASK syntax —
- Added the
LOCATION and OPTIONS keywords to the CREATE TASK SQL statement for easier task creation. For details, see Distributed Tasks.
- Aggregate Functions —
- Added these functions to assess the performance of machine learning models:
ACCURACY_SCORE
COEFFICIENT_OF_DETERMINATION
CONFUSION_MATRIX
F1_SCORE
MEAN_ABSOLUTE_ERROR
MEAN_ABSOLUTE_PERCENTAGE_ERROR
PRECISION_SCORE
RECALL_SCORE
ROC_AUC_SCORE
- For details, see Aggregate Functions.
- Scalar Data Conversion Functions —
- Default Expressions —
- Expanded valid column defaults from exclusively literals to any constant, deterministic expression that the system casts to the target column. For details, see Column Constraint.
- Values Expressions
- You can now use value expressions with the
VALUES keyword in the FROM clause. For details, see the FROM clause syntax.
- System Catalog Column Additions —
target_rows_per_cycle and applied_dynamic_filter_stats in the sys.active_operator_instances system catalog table
default_schema in the sys.completed_queries system catalog table
begin_timestamp and end_timestamp columns in the sys.segments system catalog table
begin_timestamp and end_timestamp columns in the sys.segment_groups system catalog table
scope_prefix_len, transaction_timeout, creation_timestamp, and last_activity_timestamp in the sys.storage_scopes system catalog table
default_schema in the sys.queries system catalog table
password_days_remaining column in the sys.users system catalog table
- For details, see System Catalog.
Version Compatibility
- The Ocient System now supports non-literal expressions (e.g., arithmetic and deterministic functions) with the
DEFAULT keyword to specify a default value. The system validates default values and ensures consistent casting. For example, you must now specify a TIMESTAMP default value as TIMESTAMP DEFAULT 0 or TIMESTAMP DEFAULT '1970-01-01 00:00:00.00000000'.
26.1
Release Highlights
- Data Pipeline Loading —
- The Ocient System now loads data in the Apache® Avro™ format. For details, see Load Avro Data. The new
FORMAT avro extract options are in the syntax of the CREATE PIPELINE SQL statement.
- Array Functions —
- Index Types —
- Added the
ZONE_MAP index type to store the range of values present in a segment for the indexed column, enabling queries to skip over entire segments with no rows matching a compatible filter. For details, see the ZONE_MAP Index Type.
- HTTP Query API —
- Google® Looker™ Studio Integration —
- Added the connector for integrating the Ocient System with Looker Studio. For details, see Looker Connector.
Features
- Data Pipeline Loading Changes —
- General SQL Syntax —
- Added the
TAG keyword to add a tag to the SQL query. For details, see the TAG syntax.
- Table Retention Policies —
- Added functionality to add retention policies to table definition statements. For details, see Table Retention Policies.
- Schema Database Object —
- Added the schema database object and its corresponding privileges. For details, see Data Control Language (DCL) Statement Reference.
- You can create, modify, and remove a schema by using the
CREATE SCHEMA, ALTER SCHEMA RENAME, and DROP SCHEMA SQL statements, respectively. For details, see Schemas.
- Cross-Database SSO Authentication —
- Enabled SSO-authenticated users to access multiple databases using a single identity provider configuration. For details, see Set Up Cross-Database SSO Integration.
- Added the CURRENT_GROUPS function that returns the fully qualified names of groups in the database.
- Query Privileges —
- System and Database Privileges —
- Machine Learning Model Updates —
- Added
featureArray option to all models except Simple Linear Regression, Vector Autoregression, Association Rules, and Feedforward Neural Network models.
- Added the
normalize option.
- Added new options
bootstrap and maxChildThreads to the Random Forest model.
- Added new options
learningRate, numEpochs, miniBatchSize, gradientClipThreshold, and finiteDifferenceH. These options replace popSize, initialIterations, subsequentIterations, momentum, gravity, lossFuncNumSamples, numGAAttempts, maxLineSearchIterations, minLineSearchStepSize, and consistentSample options for Nonlinear Regression, Logistic Regression, Support Vector Machine, and Feedforward Neural Network models.
- Added new models Gradient Boosted Trees and Regression Tree.
- Data Type Updates —
- Array and tuples without specified data types, such as
ARRAY[], ARRAY[NULL], and TUPLE(NULL, NULL), are now valid expressions. The Ocient System treats these types as CHAR[] for arrays and TUPLE<<CHAR,CHAR>>(NULL, NULL) for tuples.
- System Catalog Table Changes —
- The
sys.pipeline_files table no longer contains the stream_source_id column. The table now contains the file_index column.
- The
sys.columns table has these new columns:
system — Boolean value that specifies whether the column is internal
type_hint — expected type of the column
- With k-nearest neighbors models, the
machine_learning_models table returns the K_NEAREST_NEIGHBORS value for the machine_learning_model_type column.
- All authenticated users can now view these tables:
sys.nodes
sys.service_roles
sys.node_status
sys.channel_endpoint_parameters
- The
encrypted column has been removed from the sys.channel_endpoint_parameters table.
Version Compatibility
- Decimal values use rounding instead of truncation when you cast types from DECIMAL or STRING to a lower precision and scale.
- The system automatically grants the DELETE privilege to the creator of database and schema objects for objects created in version 26.1 and later.
26.0
Internal updates only.
25.5
Version Compatibility
- The
|| operator behavior has changed. If you specify a NULL value for concatenation, then the result is NULL.
25.2
Features
- Data Pipeline Changes —
- Added the
WHERE filter keyword to the SELECT SQL statement in the CREATE PIPELINE statement. For details, see CREATE PIPELINE.
- Added new
HEADERS Amazon® Web Services℠ (AWS℠) S3 source option for the CREATE PIPELINE SQL statement to define the headers to send with every request.
- Added the
MODE option to the PREVIEW PIPELINE SQL statement. This option indicates whether to perform a validation of the PREVIEW PIPELINE statement. For details, see PREVIEW PIPELINE.
- Added the
streamloader.extractorEngineParameters.configurationOption.filesystem.access.directories configuration setting to denote where you can load server file system data. For details, see Configuration Settings for Data Pipelines.
- Updated the
METADATA function with a new metadata key and syntax. For details, see Load Metadata and File-Based Partitioned Data in Data Pipelines:
- The
source_record_id metadata key indicates a unique source row identifier that is generated by the Ocient System during loading.
- New
METADATA('hive_partition',search_string) syntax that uses a search string as a key for searching the filename metadata to return the value from the key-value pair as a string.
- Added these transformation functions. For details, see Transform Data in Data Pipelines:
IF — Evaluate an expression for true or false.
CASE WHEN — Return a result value based on whether an expression is true.
ELEMENT_AT — Returns the element value of the array or tuple at the specified index.
MAP_KEYS — Returns the keys in the specified JSON string.
MAP_VALUES — Returns the values in the specified JSON string.
REDUCE — Applies a merge function to a starting value and all elements in the array, and then reduces the array to a single value.
- System Catalog Table Changes —
- Added Boolean parameter
scopes_on_refresh to the sys.oidc_integrations system catalog table to include or not include scopes when submitting a refresh token request.
25.1
Features
- New data pipeline transformation function
ARRAY_CONTAINS determines whether an array contains the specified value, including NULLs.
- System Catalog Table Changes —
- The
record_number column of the sys.pipeline_errors system catalog table is now the index, which starts at 1, of the processed record relative to the source file (or Kafka partition) where the record was extracted.
- The
record_offset column of the sys.pipeline_errors is now the offset of 1 for the processed record relative to the start of the source file for files with contiguous records, -1 for files with non-contiguous records (i.e., Parquet), and the Kafka offset for Kafka loads.
25.0
Release Highlights
- Load Data into the Ocient System — The new way to load data into the Ocient System is to use Data Pipeline functionality. This functionality supports loading data from multiple formats such as CSV, JSON, and Parquet. Data pipelines support data transformation during the load. You can load multiple data formats, including geospatial data. This functionality supports these new syntaxes:
CREATE PIPELINE SQL statement to create a data pipeline.
DROP PIPELINE statement to remove a data pipeline.
PREVIEW PIPELINE statement to view the results of a data load before creating the data pipeline.
START PIPELINE statement to start the execution of the data load.
STOP PIPELINE statement to stop the execution of the data load.
ALTER PIPELINE RENAME statement to rename a data pipeline.
EXPORT PIPELINE statement to return the CREATE PIPELINE SQL statement used to create the specified data pipeline.
CREATE OR REPLACE PIPELINE FUNCTION statement to define your own data pipeline function for loading data.
DROP PIPELINE FUNCTION statement to remove the data pipeline function.
- For details, see Load Data and Data Pipelines.
Features
- Java® Runtime Environment — The Ocient System installation requires Java 21, where the
openjdk-21-jre-headless package is recommended.
- Persistent Data — Data persists in the system storage space of the Ocient System in system catalog tables such as the
sys.completed_queries table. For details, see Storage Space Settings.
- Default Compression Scheme — The default compression scheme for variable-length columns is
NONE.
- Set more granular privileges for database and system objects. For details, see Object-Type Level Privileges Management and Data Control Language (DCL) Statement Reference.
- The
SHOW SYSTEM TABLES SQL statement displays the system catalog tables.
- System Catalog Table Changes —
information_schema.tables has a column table_type with two new types: SYSTEM TABLE for system catalog tables and SYSTEM VIEW for information schema tables. BASE TABLE and VIEW still exist for user-defined tables and views.
sys.system_tables has new columns: schema, type, and description.
sys.segment_groups has the new depth and visibility columns.
sys.stored_segments has the new abnormal_placement column.
sys.completed_queries contains persistent data. The system experiences a small loading delay between completing the execution of a SQL query and when the corresponding results appear in the table.
- The definition for the
sys.queries table has been updated to remove these columns:
time_start
time_optimization_start
time_execution_start
time_first_byte_sent
- The definition for the
sys.queries table has been updated to change the data type of these columns from LONG to TIMESTAMP:
timestamp_start
timestamp_optimization_start
timestamp_execution_start
timestamp_first_byte_sent
- The definition for the
sys.locks table has been updated for these columns:
- Renamed
createTime to create_time.
- Renamed
lastRefreshTime to last_refresh_time.
- Renamed
priortyId to priority_id.
- Updated column descriptions for these tables:
sys.segment_directories
sys.addendum_directories
sys.segment_groups
sys.segment_parts
sys.segments
sys.stored_segments
sys.service_role_status
- Updated the data type for the
segment_group_ids column in the sys.segment_group_transfers table from ARRAY(LONG) to ARRAY(CHAR) because segment group identifiers are unsigned.
- Renamed the
service_roles_id column in the sys.service_role_channel_endpoint table to service_role_id to align with the naming in the sys.service_role_status table.
Version Compatibility
sys.built_in_views has been removed. The built-in views have been removed from sys.built_in_views, sys.views, and information_schema.views. The view information now appears in the sys.system_tables system catalog table. information_schema.views includes user-defined views and only information schema views.
sys.views no longer has a view_type column.
24.0
Release Highlights
- Better SQL Errors: Improved error messages for poorly constructed SQL queries.
- Enhance Build Metadata: Updated Ocient package file names and build information for clarity.
- Improved Tracing: Enabled using the
TRACE keyword in SQL queries to profile query performance. For details, see the TRACE keyword.
- Large Blobstore Support: Enabled more than 2TiB of data to spill per disk for high-density drive situations.
- Large Drive Support: Added support for drives up to 15.36TB in size per node.
- Rebalance System: Added the
REBALANCE task, which enables optimization of query efficiency by transferring data around the system until nodes are roughly balanced in terms of data volume per node. For details, see Rebalance System.
- System Storage Space: Added support for multiple storage spaces and enabled the creation of a system storage space for internal Ocient System data.
- Workload Management Usability:
- Added support for assigning service classes to queries based on query text. For details, see the CREATE SERVICE CLASS SQL statement.
- Added support for changing the priority for queries. For details, see the ALTER QUERY SQL statement.
Features
- [DB-19266]: Network Configuration —
- All nodes must now belong to a connectivity pool. Manage connectivity pools using these new SQL statements. For details, see CONNECTIVITY POOL.
CREATE CONNECTIVITY_POOL to create a connectivity pool.
DROP CONNECTIVITY_POOL to drop a connectivity pool.
ALTER CONNECTIVITY_POOL SET to set the metadata of a connectivity pool.
ALTER CONNECTIVITY_POOL RENAME TO to rename a connectivity pool.
ALTER CONNECTIVITY_POOL ADD PARTICIPANTS to add nodes to a connectivity pool.
ALTER CONNECTIVITY_POOL DROP PARTICIPANTS to remove nodes from a connectivity pool.
- The
ALTER NODE SET ADDRESS SQL statement changes the internal IP address for a node. For details, see ALTER NODE SET ADDRESS.
- You can now configure the network of an Ocient System. For details, see Manage the Network Configuration of an Ocient System.
- Redirects now occur only within connectivity pools. When you upgrade an Ocient System, you must first configure a connectivity pool.
- [DB-28986]: System Catalog Table Updates —
- Renamed
client_version to protocol_version in the sys.queries and sys.completed_queries system catalog tables.
- Added
driver_version column to the sys.queries and sys.completed_queries tables.
- [DB-29788]: Regular Expression Functions —
- Added new functions that use regular expression search patterns. The new functions are:
Version Compatibility
- The
bootstrap.conf no longer supports highspeedAddress as an advanced system configuration option. For other options, see Node Bootstrapping Reference.
- The default behavior for the
UNNEST function no longer uses the NULL_INPUT clause for a multi-item SELECT list. If you would like to utilize the default behavior from version 23.0 and prior, you may do so by changing ALTER SYSTEM ALTER CONFIG SET sql.unnestLegacySelectListBehavior = 'true'.
Feature Removal
- Removed
COMPRESSION LZ4 from the compression options. This compression scheme remains in use as part of COMPRESSION DYNAMIC for variable-length columns.
- Removed the table-valued function
REPLACEMENT_JOIN. For creating compressed lookup tables, see Global Dictionary Compression.
- Particle swarm optimization functionality has been removed from the Ocient System.
- ODBC connection has been removed from the Ocient System.
23.0
Release Highlights
- All machine learning functionality is available to use. For details, see Machine Learning Model Functions and Machine Learning in Ocient to get started.
- Delete Syntax: Enabled the deletion of individual rows in the database.
- Integrations: Added drivers and support for the following third-party applications:
Features
- [DB-13607]: Delete Syntax — Added the SQL DELETE statement syntax that enables the deletion of individual rows in the database.
- [DB-18020]: Large Geospatial Types — Increased the size of
LINESTRING and POLYGON geospatial data types to 512 MB. For details, see Load Geospatial Data.
- [DB-19048]: Geospatial Index — Added the SPATIAL index type for indexing geospatial data. For details, see SPATIAL Index Type.
- [DB-18280]: Connectors Refresh — Added integration with DBeaver and Tableau. For details, see DBeaver Integration and Tableau Integration.
- [DB-20412]: Multi-Cluster Loading and Cluster of Clusters — Added support for loading and working with multiple clusters. For details, see Multiple Storage Clusters for Loading Data.
- [DB-21609]: Machine Learning Model Updates —
Version Compatibility
- Large Geospatial Types are not backwards compatible with earlier releases. For details, see Version Compatibility.
- The database data control language (DCL) denotes user role privileges to remove data using the
DELETE keyword instead of TRUNCATE.
22.0
Release Highlights
- HyperLogLog (HLL): Added HLL sketch functionality.
- Information Schema: Added the
information_schema schema that shows system metadata.
- Integrations: Added drivers and support for the following third-party applications:
- Metabase℠
- SQLAlchemy
- Apache® Superset®
Features
- [DB-13603]: Information Schema — Added the information_schema schema that shows system metadata in an accessible format.
- [DB-20484]: Superset Integration — Merged sqlalchemy-ocient driver into Superset repository, allowing Superset to support Ocient database connections.
- [DB-20484]: SQLAlchemy Integration — Published sqlalchemy-ocient driver to PyPI℠.
- [DB-21011]: EXCEPT Clause — Added EXCEPT clause so that SELECT * queries can explicitly omit columns from results.
- [DB-21769]: Metabase Integration — Added Ocient as a Metabase partner driver, allowing Metabase to access Ocient databases out-of-the-box.
- [DB-23030]: JDBC Packaging — Removed OpenJump dependency from ocient-jdbc4.
- [DB-23175]: Time Zone Adjustment Support — Added various improvements to time zone functionality, including:
- Support for daylight savings adjustment based on time zone.
- Added time zone functions CONVERT_UTC_TIMESTAMP_TO LOCAL and CONVERT_LOCAL_TIMESTAMP_TO_UTC. For more information, see
Time Zone Functions.
- Enhanced performance for time zone conversion.
- [DB-23177]: Push-Down Aggregation to the I/O Layer — Under certain conditions, the system pushes aggregation to the I/O operator for better efficiency and performance.
- [DB-23299]: HLL Sketch Functionality — Added support for variable log2k HLL sketch algorithm and associated functions. For details, see the HLL Functions page.
- [DB-23745]: Implement Evacuate Node — Evacuate node is a tool to move all segments off of a node in a system that is overprovisioned to the other nodes in the cluster. This tool is useful when you replace drives or a node.
- [DB-19888]: Machine Learning Model Updates —
- The Ocient System scopes machine learning models to schemas. The system assigns the
pre_v22_mlmodel schema to any model you created prior to version 22.0.
- The
sys.multiple_linear_regression_slopes system catalog table has been removed.
- Rename machine learning models using ALTER MLMODEL.
- New DDL commands:
- CREATE OR REPLACE
- REFRESH
- EXPORT
- For details about the new syntaxes, see Machine Learning Model Functions.
LAT Features
- [LAT-1469]: Manual Configuration of LAT Endpoints — Enabled manual configuration of LAT endpoints for OAuth with OKTA®.
- [LAT-1475]: Enablement of Stopping Load Processing During Error Condition — Added default behavior to stop processing during file loading in the event of an unrecoverable error when the system extracts records from a file. For details, see continue_on_unrecoverable_error.
- [LAT-1476]: Enablement of LAT Service in Installation — Enabled LAT Service in
systemd by default upon installation completion. This update reflects a change in the default behavior during installation.
- [LAT-1477]: LAT Version for Metrics — Exposed
lat_version in the metrics.
- [LAT-1557]: Support for Loading Multiple S3 Buckets — Added LAT functionality to load data from multiple S3 buckets simultaneously within the same pipeline.
Version Compatibility
- Information Schema — Views created prior to Version 22.0 do not have column data appearing in the information_schema. You can drop and recreate these views to populate column data.
- LAT — Version 3.0.0 and greater is only compatible with Version 22.0 and greater of the Ocient system. For details, see Version Compatibility.
21.0
Release Highlights
The Ocient System now supports the following operating systems:
- Ubuntu® 20.04
- Debian® 11
- Red Hat® Enterprise Linux® (RHEL®) 8
Other highlights include:
- Whole column compression: Added Zstandard (ZSTD) compression for fixed and variable length columns.
- Check system configuration: Added
precheck and postcheck commands to check system configuration before and after installation.
- Workload management dynamic priority: Enabled the adjustment of the query priority dynamically at the session, service class, and query levels.
- Ability to quiesce node: Added process for graceful node shutdown.
Features
- [DB-18636]: ZSTD Compression - Added a new whole-column compression scheme (ZSTD) that can be enabled for fixed and variable length columns.
- [DB-18990]: Improved Stats Storage And Usage - Various improvements have been added to speed up the fetching of statistics by the optimizer and ensure it gets up-to-date statistics. These changes primarily center around probability density functions being stored as pre-aggregated stats files instead of on a per-segment basis.
- [DB-20190]: Distributed Tasks - Added
check_disk task type and new vtables sys.subtasks, sys.tasks, and sys.rebuild_tasks for monitoring tasks. Remove CHECK DATA command.
- [DB-19117]: Metadata - Added
participating_nodes to the sys.queries and sys.completed_queries virtual tables.
- [DB-18633]: Graceful Node Shutdown - Added quiesce process for graceful node shutdown.
- [DB-18061]: LCK Deprecation - Added new disk data format that is smaller and also improves performance of some index based queries.
- [DB-19414]: Range Query Improvement - Improved performance of range queries by utilizing the inverted secondary index.
- [DB-20168]: Geospatial Function Expansion - Added these geospatial scalar functions.
- Measurement Functions
- ST_ANGLE
- ST_DISTANCESPHERE
- ST_DISTANCESPHEROID
- ST_LENGTH2D
- ST_HAUSDORFFDISTANCE
- Analytic and Property Functions
- ST_DIMENSION
- ST_GEOHASH
- ST_SRID
- ST_ISPOLYGONCW
- ST_ISPOLYGONCCW
- To String and Binary Functions
- ST_ASWKT
- ST_ASWKB
- ST_ASEWKT
- Geography Simplification Function
- Constructor Functions
- ST_POINTFROMGEOHASH
- ST_GEOGPOINT
- ST_MAKEPOLYGONORIENTED
- ST_POINT_FROMEWKT
- ST_LINESTRING_FROMEWKT
- ST_POLYGON_FROMEWKT
- ST_MAKEENVELOPE
- Additionally, you can construct ST_POLYGON types directly from a POINT[] without going through an intermediate ST_LINESTRING.
Keywords
Added these new keywords as reserved words in the Ocient system.
- ANALYSIS
- AUTOREGRESSION
- BAYES
- CANCEL
- COMPONENT
- DECISION
- DISABLE
- DISABLE_STATS_FILE_UPDATES
- ENABLE
- FEEDFORWARD
- INSERT
- KMEANS
- KNN
- LOGISTIC
- MACHINE
- MOVE
- NAIVE
- NETWORK
- NONLINEAR
- PRINCIPAL
- REPLACE
- SOURCE
- SUPPORT
- TREE
- VECTOR
- ZSTD
20.0
Release Highlights
- CREATE TABLE AS SELECT SQL Statement: Extract, load, and transform (ELT) workflow functionality to extract data and load it into a new database table by using the query results from a SELECT SQL statement. The tables you create using the CREATE TABLE AS SELECT SQL statement have some indexing limitations in version 20.0. For details, see the “About Create Table As Select (CTAS)” section of the Ocient user documentation.
- INSERT INTO SQL Statement: ELT workflow functionality to extract data and insert it into an existing database table using the INSERT INTO SQL statement.
- N-gram Indexes: Full index on VARCHAR, VARCHAR arrays, and VARCHAR tuple components for efficient queries using the LIKE SQL statement.
- Large VARCHAR [DB-16142]: Support VARCHAR columns up to 1GB in size.
- Ocient Simulator: An instance of the Ocient system for data loading and functional testing.
- Single Sign-On (SSO): Authenticate access to Ocient through an external SSO server and assign SSO users to groups in Ocient.
Feature Removal
The ALTER ROLE DDL command has been removed. You can make all changes using the ALTER CONFIG SQL statement. To alter a role, prefix the key with the role name followed by a dot.
The following system tables have been added:
- average_bb_sizes
- linear_combination_regression_models
- node_config
- node_status
- sso_connections
- storage_device_status
The following system tables have been removed:
- hugepage_configurations
- memory_module_models
- node_memory_modules
- oidc_integrations
- oidc_sessions
- polynomial_regression_models
- security_integrations
- sessions
19.0
Features
- [DB-14527] - Adaptive Water Mark Feature - Indexer Node dynamically increase and reduce batch size without manual tuning
- [DB-14656] - Added a rest endpoint to expose a node’s configuration parameters (:9090/v1/configparams)
- [DB-15123] - Expose cluster total storage space and storage usage through virtual tables
- [DB-15515] - Add support for expr::dtype cast notation
- [DB-16289] - Remove the web ui and YAML service role configuration
- [DB-16904] - Allow any predicate type to be used in conjunction with the values in arrays
- [DB-17889] - Improve ability to continue data loading when a foundation node is down
- [DB-18393] - Leverage hyperthreading in query execution
- In v19 the service role configuration previously set through the web UI has been replaced by the ALTER … ALTER ROLE/CONFIG … DDL command. The web UI is still available in v19, but will be removed in a subsequent release. The ALTER … ALTER ROLE/CONFIG … command should be used to change system configuration, rather than the web UI. Please reference the Upgrade Ocient Software section of the user documentation for details.
- [DB-12747] - Add support for lateral joins.
- [DB-13924] - Add support for multi-column subqueries.
- [DB-14990] - Add support for native right joins.
- [DB-15996] - Add support for array_to_string function.
- [DB-16231] - Improve GIS function performance and introduce expanded support for GIS functions. Please refer to the User Documentation for details.
- [DB-17037] - Add new scalar functions and operators added for GIS types (POINT, LINESTRING, and POLYGON). Please refer to the User Documentation for details.
- [DB-17892] - Add support for right lateral joins.
- [DB-16061] - Secondary indexes can now be created on VARCHAR and VARCHAR[] columns. Please refer to the User Documentation for details.
18.0
Features
- [DB-17635] - Remove query log properties timestamp_optimizationcomplete and time_optimizationcomplete and add new properties timestamp_optimizationstart and time_optimizationstart
- [DB-16567] - Make error messages more clear for queries with GroupBy missing
- [DB-17316] - Change array_length(empty array) to return 0
- [DB-16417] - Allow for integral types for integer field is GIS functions
- [DB-16200] - Make Explains more convenient for the user.
- [DB-16092] - Distributed Result Set Caching
- [DB-15623] - Add support for rebuilding individual nodes using DDL
- [DB-15375] - ALTER CLUSTER ADD PARTICIPANTS DDL
- [DB-14720] - Provide a way to kill long running optimizations
- [DB-14017] - Support for CLI command history across sessions
17.0
Features
- [DB-12888] - Add support for array values larger than 128 KB. The new maximum value of an array is 512 MB.
16.0
Features
- [DB-10329] - Add support for full disk encryption of Opal drives. Disk encryption will be automatically enabled when Opal support is detected.
14.0
Features
- [DB-14159] - Default hex values for binary or varbinary columns must contain a leading 0x
13.0
Features
- [DB-14330] - Remove last dependencies on PostgreSQL® from the database
12.0
Features
- [DB-13334] - Add support for zip unnest, which unnests multiple arrays in parallel
11.0
Features
- [DB-12887] - Add support for the array of tuples. Users can create array columns containing tuple SQL types. Please refer to the User Documentation for the latest information on supported data types.
- [DB-12885] - Add support for unnest(), which expands array elements from input array columns out to individual output rows
10.0
Features
- [DB-12394] - Added support for running on CentOS® 8.
9.0
Features
- [DB-13162] - Added support for Tasks to the System Catalog
- [DB-10332] - Implemented access controls on system and database-level objects. Improved users, groups, and added new roles within Ocient.
- [DB-12829] - Optionally enforce encrypted connections for JDBC and ODBC.
8.0
Features
- [DB-10330] - External Network Security. SSL/TLS support in ODBC and JDBC, SSL support for the web interface.
7.0
Features
- [DB-10921] - Adds support for multi-dimensional arrays and the ability to do joins, windows, sorts and aggregations that involve arrays.
- [DB-10927] - Adds support for global dictionary compression (GDC) on VARCHAR array columns and the ability to do replacement joins.
- [DB-10282] - Adds support for DROP COLUMN DDL to remove columns from a table.
- [DB-11472] - Adds support for skipping failed rows for CSV loading up to some specified threshold.
6.0
Features
- [DB-9707] - Scriptable Bulk Load Essentials: Allows users to create translations and launch bulk load tasks using DDL
- [DB-10479] - Adds support for Tableau through Ocient’s JDBC Custom Connector. Users can find Ocient’s connector and the installation instructions on Tableau’s extension gallery. Please refer to Tableau for more inforamation.
5.0
Features
- [DB-9477] - Adds support for the array data type. Users can create single-dimensional array columns from any other supported data type. Please refer to the User Documentation for the latest information on supported data types.
- [DB-9656] - Add column support. The engine now supports the add column DDL statement with the ability to add columns to an existing table. Existing data that was loaded without the new column uses the configured default values when queried. Please refer to User Documentation for information on the DDL syntax and default values.
4.0
Features
- [DB-6386] - Availability of the storage engine, allowing queries to run with a node or drive failure
- [DB-6588] - Bulk loading of CSV files from HDFS or an S3 endpoint
- [DB-7221] - Delta compression in the TKT engine for timestamp columns
- [DB-7623] - Virtual tables to retrieve information from the storage cluster state
- [DB-7247] - OS Upgrade functionality
- [DB-6125] - AWS initial support
- [DB-6383] - Data Definition Language (DDL) operations
- [DB-6940] - All system configuration in the System Catalog
- [DB-6362] - Stats Virtual Tables
- [DB-7098] - External Window Operator support
- [DB-7497] - List Running Tasks Page
- [DB-7097] - Segment Group Deletion
- [DB-7139] - Cancel Query and Cancel Task support
- Numerous stability and performance improvements
Last modified on October 6, 2026