Release Notes

JDBC Release Notes

All JDBC drivers are located the Ocient Maven repository.

3.1.7 (2024-06-03)

Internal updates only.

3.1.6 (2024-06-03)

Internal updates only.

3.1.5 (2024-06-03)

Bugs

  • [DB-28722]: Fixed the issue where the client closed the result set before sending the KILL_QUERY request.
  • [DB-28325]: Fixed an underlying SLF4JLogger error that prevented the driver from importing.
  • [DB-24984]: Fixed HTTP client configuration to accept standard cookie specifications.

3.1.1 (2024-03-08)

  • New Features
    • Enabled support of fetching cached queries using the JDBC 3.1.1 driver with version 22.1 and older versions of the .
    • Fixed connection failures by adding sequence numbers to metadata responses on the client side for legacy databases without sequence number support.

3.1.0 (2024-01-31)

  • New Features
    • Improved maximum throughput between client and server, specifically for transferring large and sorted result sets.
    • Deprecated com.ocient.jdbc.XGConnection#redirect. The redirect method in the com.ocient.jdbc.XGConnection class is now deprecated and is slated for removal in future releases. For applications that require a connection to a specific SQL Node, Ocient recommends to use the force=true connection property.

3.0.0 (2023-10-24)

  • New Features
    • Improved scalability for high-volume concurrent database connections for applications such as and Superset.  
    • Improved latency for bulk data transfers.  

2.106 (2023-06-29)

  • New Features
    • Fixed requirement to restart the application after cluster upgrade.

2.105 (2023-03-22)

  • New Features
    • Improved performance by pooling database connections used for sideband channels.
    • Added MAX_THREADS_PER_RESULTSET connection property.

2.100 (2023-03-10)

  • New Features
    • Added ability to periodically log metrics to a file.
    • Added METRICS ON <alphanumeric> CLI command.

2.99 (2023-01-24)

  • New Features
    • Added PERFORMANCE NETWORK CLI command.
    • Added PERFORMANCE DATABASE CLI command.
    • Deprecate PERFORMANCE ON CLI command.

2.98 (2023-01-17)

  • New Features
    • Removed OpenJump system dependency

2.97 (2022-12-27)

  • New Features
    • Added support for DELETE FROM

2.96 (2022-12-21)

  • New Features
    • Fixed IndexOutOfBoundsException in server redirect

2.95 (2022-12-07)

  • New Features
    • Log stack trace of XGStatement#sendAndReceive() read errors

2.94 (2022-12-07)

  • New Features
    • Allow extract to /dev/null

2.93 (2022-11-28)

  • New Features
    • Strip trailing statement delimiter from queries

2.92 (2022-11-22)

  • New Features
    • Include jdbc.sql.Driver service in META-INF

2.91 (2022-11-22)

  • New Features
    • Add support for REFRESH MLMODEL command, which allows updating of a Machine Learning model without changing the ML model properties

2.90 (2022-11-22)

  • [DB-22501] Never resubmit queries that have been sent to the server

2.89 (2022-11-18)

  • Add support for EXPORT MLMODEL command

2.88 (2022-11-08)

  • Load JDBC version from build properties file at runtime

2.87 (2022-11-07)

  • Set Service Class

2.86 (2022-10-24)

  • Allow connection property override

2.85 (2022-10-24)

  • Address CVE-2022-33980 and CVE-2022-24823

2.84 (2022-10-24)

  • Print hex instead of address of byte array in XGTuple#toString

2.83 (2022-10-18)

  • Re-enabled ability to override a connection property
  • Fix query timeouts which were not being honored
  • Handle non-resolvable database DNS names received from the database

2.82 (2022-10-14)

  • Made JDBC Connection properties case-insensitive using a new class CaselessProperties
  • Converted the rest of the connection properties to the ConnectionProperty enum

2.81 (2022-10-03)

  • Implement XGPreparedStatement#setObject(Index, Timestamp, Calendar)
  • Add "statementPooling" driver property. Set to "OFF" to disable statement caching

2.80 (2022-10-03)

  • Add GET JDBC COMMIT INFO command
  • Add /version/commit/info, and /pid metrics endpoints

2.79 (2022-10-03)

  • Ensure backwards compatibility with JRE8

2.78 (2022-09-19)

  • Add CLI support for `EXPORT PIPELINE'

2.77 (2022-09-19)

  • Add START PIPELINE and STOP PIPELINE for updates

2.76 (2022-09-02)

  • Made SHOW command work as a SELECT outside of just the CLI

2.75 (2022-09-02)

  • Made SHOW command a select command rather than an update command

2.74 (2022-08-29)

  • BENCHMARK command consumes result set for consistency w/ manual input

2.73 (2022-08-26)

  • New Features
    • Add support for SHOW command, which allows easy querying of the information schema.

2.72 (2022-08-23)

  • New Features
    • [DB-20912] Add support for one-time password (OTP) based SSO flows
    • [DB-20912] Add OAuth2 Authorization Code w/ PKCE Single Sign-On Flow
    • [DB-20912] Add OAuth2 Device Authorization Grant Single Sign-On Flow for input constrained environments

2.71 (2022-08-23)

  • New Features
    • Add BENCHMARK NSAMPLES COMMAND which will run COMMAND NSAMPLES times and produce a timing report in the CLI output.
    • Add PRINTUUID [ON | OFF] which will print the query UUID to the CLI output.

2.70 (2022-08-11)

  • New Features
    • [DB-21078] Add s3_upload_part_size and s3_upload_part_parallelism extract configuration properties.

2.69 (2022-08-11)

  • New Features
    • [DB-21078] Add REST endpoint to expose query and data extract performance metrics
    • [DB-21078] Add ms precision to JDBC log entries

2.68 (2022-08-09)

  • New Features
    • [DB-21251] Allow extract property override via "JDBC_EXTRACT_*" prefixed environment variable

2.67 (2022-06-30)

  • New Features
    • Allow aliases on nested queries in extract SQL statements (DB-21075)

2.66 (2022-06-27)

  • New Features
    • Escape escape characters in quoted field for non-comma delimited extracts

2.65

  • New Features
    • Add support for using CANCEL TASK to cancel a task instead of treating it like a CANCEL command

2.64 (2022-06-21)

  • New Features
    • Resolve CVE-2022-24823; update netty-common version (4.1.77.Final)
    • Resolve CVE-2021-43797; update netty-codec-http version (4.1.71.Final)

2.63 (2022-06-01)

  • New Features
    • Replace skip_header with header_mode in CSV extract options.
    • Add CLI configuration file, ~/.ocient-cli-configuration, and idle timeout option cliIdleTimeoutMinutes

2.62 (2022-06-01)

  • New Features
    • Add escape_unquoted_valuesinput_escaped, and quote_all_fields in CSV extract options.
    • Add a new custom TSV writer that handles all non-comma delimiter cases.

2.61 (2022-05-31)

  • New Features
    • Add compression_block_sizecompression_level, and num_compression_threads Data extract properties.

2.60 (2022-05-24)

  • New Features
    • Allow non-query commands to print results when performance mode is turned on for easier debugging.

2.59 (2022-05-17)

  • New Features
    • Add UTF-8 character translation to Data extract tool.

2.58 (2022-4-20)

  • New Features
    • Prevent shell expansion of ! when reading user input from CLI

2.57 (2022-3-17)

  • New Features
    • Bumped protocol version for quiesce
    • Modified length checks to check if higher order bit is set, signalling a message from the server

2.56 (2022-3-15)

  • New Features
    • Added SQL states for EXECUTE_PLAN_AUTH_FAILURE and EXECUTE_INLINE_PLAN_AUTH_FAILURE

2.55 (2022-3-11)

  • New Features
    • Reconnect and rerun if writing into socket fails when sending request
    • Reconnect and rerun if when sending request, shows -1 length
    • Added checks for -1 length on response for server signalling a quiescing connection close
    • Copy secondary interfaces and secondary index when returning a cached connection

2.54 (2022-3-9)

  • New Features
    • Added CLI support for SET ADJUSTFACTOR, ADJUSTTIME
    • Added new columns in system queries: sys.queries: initial_priority, initial_effective_priority, effective_priority, priority_adjust_factor, priority_adjust_time sys.completed_queries: initial_priority, initial_effective_priority, final_effective_priority, priority_adjust_factor, priority_adjust_time

2.53 (2022-2-8)

  • New Features
    • Added redirect support for execute export, explain pipeline, check data

2.52 (2022-1-18)

  • New Features
    • Secondary result set threads will start fetching immediately after the first result set thread gets a ping.

2.51 (2022-1-14)

  • New Features
    • Make force external consistent with other connection parameters

2.50 (2022-1-13)

  • New Features
    • Fix invalid argument message to not refer to ODBC client

2.49 (2022-1-6)

  • New Features
    • Add more logging to multithreaded result set fetch.

2.48 (2022-1-3)

  • New Features
    • Insert statements supported

2.47 (2021-12-16)

  • New Features
    • Data extract tool released.
    • Deactive connection caching for calls to createConnection

2.46 (2021-12-8)

  • New Features
    • Fix connection pooling handling with regards to setting schema incorrectly.

2.45 (2021-12-2)

  • New Features
    • Swallow runtime error as well when trying to set socket options.

2.44 (2021-12-1)

  • New Features
    • Wrap invalid socket options in try catch block and swallow exceptions. For compatability with Java versions that are older.

2.43 (2021-11-22)

  • New Features
    • Change driver to not rely on the pom/MANIFEST for the driver version. Move the version into JDBCDriver

2.42 (2021-11-18)

  • New Features
    • Changed connections to utilize keep alive probes in order to detect dead connections.

2.41 (2021-11-07)

  • New Features
    • Upgrade Jline version to 3.21

2.40 (2021-11-03)

  • New Features
    • Improve result set fetching performance

2.39 (2021-10-29)

  • New Features
    • Fix handling of expired token being used to start a session

2.38 (2021-10-27)

  • New Features
    • Updated auth related SQLState error codes
    • Fix handling of result set close during result set caching

2.37 (2021-10-25)

  • New Features
    • Force redirect support for testing purposes.
    • Removed duplicate code from CLI

2.36 (2021-10-14)

  • New Features
    • Implemented refresh sessions support.
    • Implement get server session ID.

2.35 (2021-10-11)

  • New Features
    • ExecutePlan and ExecuteInlinePlan bugfixes

2.34 (2021-9-9)

  • New Features
    • Add token signature and issuer fingerprint fields to sso token handshake.
    • Add explicit SSO flags to handshake GCM.
    • Pass networkTimeout to new connection upon copy.

2.33 (2021-9-7)

  • New Features
    • Add support for explicit SSO handshakes
    • Revert executeQuery redirection change

2.32 (2021-9-1)

  • New Features
    • CLI source command stops on error
    • Support "output next query append"
    • Add statement command "get jdbc version"

2.31 (2021-8-30)

  • New Features
    • Add sso handshake support
    • Refactor duplicated code in handshakes for saving secondary interfaces

2.30 (2021-8-26)

  • New Features
    • Add validation on the driver side for set parameter settings.
    • Pass up invalid set parameter command errors.

2.29 (2021-8-20)

  • New Features
    • Fix the way connection resets parameters when reset is true.
    • Fix an issue where redirect was not properly using mapped secondary interfaces

2.28 (2021-8-16)

  • New Features
    • Fix sending parameters on reset. maxrow, maxtempdisk, maxtime, parallelism, priority now gets reset properly.
    • Map list all queries to select * from sys.queries
    • Improve logging
    • Statements with closed connections will not get returned to the cache

2.27 (2021-8-10)

  • New Features
    • Fixed poorly structured if statement in CLI source command.
    • Remove more stack trace printing and add more logs.

2.26 (2021-7-30)

  • New Features
    • Move the duplicated regex code in CLI.java and XGStatement.java into a new file.
    • Implement a generic regex for syntax checking the set family of sql commands.
    • Fix a bug in resetting commands using lower cases. "set maxrow reset;" does not work. Needs to be capitalized.

2.25 (2021-7-27)

  • New Features
    • Default clientVersion to 0.00 if the driver provides a null clientVersion to XGConnection.

2.24 (2021-7-12)

  • New Features
    • Have setSchema handle unquoted caps sql. "SET SCHEMA MADISON" will set schema to "madison".

2.23 (2021-7-6)

  • New Features
    • Change SET CONCURRENCY command to SET PARALLELISM
    • Change "concurrency" driver property to "parallelism"

2.22 (2021-7-1)

  • New Features
    • Add openJump extensions to jdbc jar.
    • Fix source command for plan execute inline.

2.21 (2021-6-30)

  • New Features
    • Fix new hashcode for null elements.

2.20 (2021-6-28)

  • New Features
    • Update list all queries metadata to match that of select * from sys.queries
    • Add more connection level settings to hashCode.

2.19 (2021-6-26)

  • New Features
    • Improve source command capabilities and performance

2.18 (2021-6-26)

  • New Features
    • Save command history across sessions

2.17 (2021-6-25)

  • New Features
    • Include the currently set schema to the connection hashcode.

2.16 (2021-6-23)

  • New Features
    • Fix another issue with timeoutMillis. The timeout will now work correctly with zero ping buffers.

2.15 (2021-6-21)

  • New Features
    • For dBeaver compatability, not setting a user in driver properties will cause the driver to default to empty string.

2.14 (2021-6-17)

  • New Features
    • Fix timeoutMillis by correctly inheriting timeoutMillis from properties.
    • Clear warnings before running executeQuery and executeUpdate.

2.13 (2021-6-09)

  • New Features
    • Added command to SET PSO SEED for the random number generator used in PSO
    • Remove chatty number of rows log.
    • Add remoteIp and service class to list all queries.
    • Add sleep_in_optimizer command for testing.

2.12 (2021-5-26)

  • New Features
    • Fix the parsing for execute() to properly route to executeStatement()

2.11 (2021-5-20)

  • New Features
    • Improve cache and statement pooling support for redirection.
    • Fix timestamp and time with negative nanos.

2.10 (2021-5-19)

  • New Features
    • Added 10 different colors for GIS types in KML
    • Added non-GIS types to description of each GIS object in KML
    • Moved KML feature from CLI to driver

2.09 (2021-5-18)

  • New Features
    • Use daemon threads for background caching tasks. This allows the program to exit without finishing these tasks.

2.08 (2021-5-10)

  • New Features
    • Add versions packaging to pom.xml.
    • Updated dependencies to latest version using versions plugin.
    • Change TLS to unverified by default.

2.07 (2021-5-05)

  • New Features
    • Add OBJECT_NOT_FOUND_WARN warning.
    • Add OBJECT_ALREADY_EXISTS_WARN warning.
    • Fix some misleading log messages.

2.06 (2021-4-29)

  • New Features
    • Add a log for if reconnect() fails to close a socket.
    • Driver sends over unique session ID to server.
    • Fix a misleading log in client handshake.

2.05 (2021-4-28)

  • New Features
    • Fix spotbugs and narrow spotbugs filter.

2.04 (2021-4-22)

  • New Features
    • Added getters to GIS types

2.03 (2021-4-22)

  • New Features
    • Output next query also prints all gis types into a kml file

2.01 (2021-4-21)

  • New Features
    • Fix empty point for STPoint class

2.01 (2021-4-20)

  • New Features
    • Better build integration with xgsrc
    • Upgraded protobuf to version 3.14

2.00 (2021-4-17)

  • New Features
    • Handling for cache limit warning.

1.99 (2021-4-13)

  • New Features
    • Add support for EXPLAIN DEBUG, and make EXPLAIN format JSON by default

1.98 (2021-4-05)

  • New Features
    • Add support for QUARANTINE
    • Fix CLI command force external on

1.97 (2021-4-02)

  • New Features
    • Queries that exceed the row limit set by XGConnection::setMaxRows now silently omit excess rows. The previous behavior would result in query failure.

1.96 (2021-4-01)

  • New Features
    • Add support for POINT EMPTY
    • Fix CLI performance on/off affecting timing setting.

1.95 (2021-3-22)

  • New Features
    • Add support for CHECK DATA to CLI
    • Fix bug where defaultSchema was not working.

1.94 (2021-3-18)

  • New Features
    • Add major and minor version to client handshake.
    • Add logging to set param functions.

1.93 (2021-3-11)

  • New Features
    • Improve performance of writing query results to a file.

1.92 (2021-3-5)

  • New Features
    • Add driver method to cancel all cache return threads.
    • Add CLI functionality to limit max history size.

1.91 (2021-3-4)

  • New Features
    • Add support for st_linestring and st_polygon

1.90 (2021-3-2)

  • New Features
    • Enable spotbugs analysis
    • Increase tracing to millisecond granularity

1.89 (2021-2-24)

  • New Features
    • Switch to using AES/GCM/NoPadding encryption

1.88 (2021-2-24)

  • New Features
    • Fix some broken custom xgMetadata calls.

1.87 (2021-2-24)

  • New Features
    • Added support for TUPLE columns as a SQL Struct type

1.86 (2021-2-19)

  • New Features
    • Fix more OWASP bugs

1.85 (2021-2-18)

  • New Features
    • Added CLI support for EXPORT VIEW

1.84 (2021-2-16)

  • New Features
    • Update the request type for EXPLAIN PIPELINE

1.83 (2021-2-15)

  • New Features
    • Fixed a bunch of OWASP bugs.

1.82 (2021-2-12)

  • New Features
    • Add CLI support for SET MAXROWS, PRIORITY, CONCURRENCY, MAXTIME, and MAXTEMPDISK

1.81 (2021-2-12)

  • New Features
    • Fix a compiler error with CLUSTER_NOT_FOUND error

1.80 (2021-2-12)

  • New Features
    • Add CLUSTER_NOT_FOUND error

1.79 (2021-2-11)

  • New Features
    • Add spotbugs
    • Add support for EXPLAIN PIPELINE to CLI

1.78 (2021-2-5)

  • New Features
    • Add SqlStates for LUP decomposition
    • Add additional cache logging.
    • Fix incorrect schema generated when first statements are created.

1.77 (2021-2-5)

  • New Features
    • Remove unecessary calls to fetchServerVersion
    • Fix schema for pooled connections and statement.

1.76 (2021-2-2)

  • New Features
    • Pooling improvements

1.75 (2021-2-1)

  • New Features
    • Allow changing session variable defaults via connection properties and make session variable overrides local to statement objects.

1.74 (2021-1-31)

  • New Features
    • Performance optimizations and restructuring

1.73 (2021-1-30)

  • New Features
    • The JDBC driver now does connection and statement pooling that is automatic and transparent to the caller.

1.72 (2021-1-27)

  • New Features
    • Add support for clearBatch()

1.71 (2021-1-14)

  • New Features
    • Add support for session overrides of service class limits
    • SET MAXROWS {N}
    • SET MAXTIME {N}
    • SET PRIORITY {N}
    • SET CONCURRENCY {N}

1.70 (2021-1-12)

  • New Features
    • Fix race condition between adding fetch threads to array and iterating. Also removed some duplicated code.

1.69 (2021-1-07)

  • New Features
    • Remove deprecated plan proto

1.68 (2020-12-24)

  • New Features
    • Fix describe view truncate in CLI.

1.67 (2020-12-14)

  • New Features
    • Fixed cols2Types mapping in RS returned by LIST ALL COMPLETED QUERIES.

1.66 (2020-12-10)

  • New Features
    • Add spaces to syntax parsing.

1.65 (2020-12-9)

  • New Features
    • Completed queries update.

1.64 (2020-12-7)

  • New Features
    • Properly handle nullability for the LIST ALL COMPLETED QUERIES command.

1.63 (2020-12-1)

  • New Features
    • Don’t print stack trace when select queries complete exceptionally.

1.62 (2020-11-30)

  • New Features
    • Added support for LIST ALL COMPLETED QUERIES command.

1.61 (2020-11-15)

  • New Features
    • Fix reconnect and resending logic.

1.60 (2020-11-10)

  • New Features
    • DESCRIBE TABLE now consistently uses SMALLINT and BIGINT to describe inner types of arrays

1.59 (2020-11-4)

  • New Features
    • remove another unnecessary driver version fetch.
    • add jar version to log

1.58 (2020-11-4)

  • New Features
    • fix fetch version redirect loop.

1.57 (2020-11-4)

  • New Features
    • make SQLException codes unique.

1.56 (2020-11-2)

  • New Features
    • kill and cancel now throws syntax errors.

1.55 (2020-10-28)

  • New Features
    • CLI now recognizes a DDL statement for INVALIDATE STATS.

1.54 (2020-10-21)

  • New Features
    • fix another spot where all the slq nodes can be brought down.

1.53 (2020-10-20)

  • New Features
    • exportTranslation will close the result set.

1.52 (2020-10-19)

  • New Features
    • executeQuery will not rerun query after reconnect.

1.51 (2020-10-11)

  • New Features
    • Add token fields and username to localQueries protobuf

1.50 (2020-10-11)

  • New Features
    • Multiple result set threads support is complete

1.49 (2020-10-06)

  • New Features
    • Experimental support for multiple result set threads

1.48 (2020-09-28)

  • New Features
    • Minor fix of SQLStates
    • setParms() does no work when there are no parameters

1.47 (2020-09-26)

  • New Features
    • Improve performance for large SQL statements

1.46 (2020-09-21)

  • New Features
    • Bug fix for driver not reconnecting when a previous result set is still open.

1.45 (2020-09-16)

  • New Features
    • Move export translation into result set.

1.44 (2020-09-15)

  • New Features
    • Support granting and revoking both privileges and role membership.

1.43 (2020-09-14)

  • New Features
    • Explain, listTables, listViews, getSchema, describeTable, describeView, explainPlan, listAllQueries, and exportTable.

1.42 (2020-09-2)

  • New Features
    • Move some custom functionalities into the driver including: get/set schema, list (system) tables, list views, describe table/views, list indexes, execute/explain plan, cancel/kill query, list all queries, export table, set max rows, set pso.

1.41 (2020-08-20)

  • New Features
    • Ability to set max output rows from the CLI

1.40 (2020-08-14)

  • New Features
    • SSL support.

1.37 (2020-07-26)

  • New Features
    • Timestamp and Time now have nanosecond precision

1.36 (2020-07-25)

  • New Features
    • JDBC driver can now handle hostnames sent back in interface list

1.35 (2020-07-23)

  • New Features
    • Capture initial connection IP and use as last resort for reconnect()

1.34 (2020-07-14)

  • New Features
    • Implement new time/date/timestamp subclasses to circumvent bugs in the standard versions

1.33 (2020-07-04)

  • New Features
    • Add support for load balancing with secondary SQL interfaces

1.32 (2020-06-26)

  • New Features
    • Add support for Export Translation to CLI

1.31 (2020-06-23)

  • New Features
    • Fix misbehavior with 'plan execute inline' using the CLI

1.30 (2020-06-22)

  • New Features
    • Deprecated the HDFS connection table, which was consolidated into the external connection table

1.29 (2020-06-18)

  • New Features
    • Creating an MLModel on no data is now an error, not a warning

1.28 (2020-06-11)

  • New Features
    • Allow one connection to be shared by multiple threads, as long as each thread uses its own Statement object

1.27 (2020-06-11)

  • New Features
    • Improve trace log formatting, including adding thread id

1.26 (2020-06-09)

  • New Features
    • Add support for weeks interval type

1.25 (2020-06-05)

  • New Features
    • Support for getTableTypes()

1.24 (2020-06-05)

  • New Features
    • Protobuf message changes for Add Column feature

1.23 (2020-06-02)

  • New Features
    • Add new error code: Value too large, which indicates that a column value is larger than internal limits

1.22 (2020-05-31)

  • New Features
    • Add calendar support
  • Bug Fixes
    • Properly handle case-insensitivity of column names on result sets

1.21 (2020-05-26)

  • New Features
    • Add tracing support

1.20 (2020-05-19)

  • Bug Fixes
    • DB-11119 - JDBC multi-host support was not implemented correctly

1.19 (2020-05-13)

1.18 (2020-05-11)

1.16 (2020-04-15)

  • Bug Fixes
    • DB-10687 - Fix for Kill/Cancel query

1.15 (2020-04-14)

  • Bug Fixes
    • DB-9928 - Fixes for SQL Array type

1.14 (2020-04-11)

  • New Features
    • Protocol support for the NULLS FIRST in the ORDER BY clause

1.13 (2020-03-20)

  • New Features
    • Binary support for the serialization of the following data types: ST_POINT, UUID, IP and IPV4
    • Implementation of the Array SQL type

1.12 (2020-03-01)

  • Bug Fixes
    • DB-10155 - Broadcast kill query and cancel query requests to all sql nodes.
  • New Features
    • DB-10137 - Implement JDBC cancel query. Now it is possible to kill query in dbeaver.
    • DB-10120 - JDBC driver support list of sql nodes to connect to
    • DB-10119 - Support for multiple IPs under the same DNS address