3.9.0
- Added support for the
CHECK CONSTRAINTS statement, which reports whether each primary key, unique, and foreign key constraint on a table is valid. Requires version 28.0 or later of the Ocient® System.
- Changed the
Connection.close() method to no longer roll back an uncommitted transaction by default, which matches the Ocient JDBC driver. To roll back on close, call close(skip_auto_rollback=False).
3.8.0
- Added the
memory_tracing flag for memory-based debugging.
3.7.0
- Added transactional support.
- Added asynchronous update support.
- Added the display of the full complex type information.
- Enabled the printing of the query Universally Unique IDentifier (UUID) when the system fails or experiences a Keyboard Interrupt.
- Added generic server-side
cancel and kill commands. This addition is not compatible with an Ocient System that has a version less than 25.0.
3.6.0
- Added support for Dataflow SQL statements. Dataflow is a procedural superset of SQL that acts as an ad-hoc, anonymous, and imperative script. This new syntax parses, compiles, and executes logic in a single request using flow control, variables, scoped temporary tables, and exception handling. This new functionality requires version 27 or later of the Ocient System.
- Added support for cross-database SSO authentication.
- Added support for Google® as an OIDC provider with server-side token exchange and polling.
- Added support for specifying identity providers and SSO OAuth flow options.
- Added support for SSL and hostname in SSO callback URLs.
- Added support for token lifetimes in the client wire protocol.
- Added the commit SHA to the pyocient package for version tracking.
- Added support for URL-encoded special characters in DSN passwords.
- Fixed the driver to return NULL elements in multidimensional arrays as
None instead of empty arrays.
- Fixed precision and scale handling during the cast of arrays and tuples that contain DECIMAL types.
- Removed an unnecessary debug print statement.
- Fixed the parsing of CLI argument keys to be lowercase.
- Improved CLI parsing of Ocient SQL statements.
- Reduced the verbosity of debug messages during normal operation.
- Added graph functionality using the
ocient_graph Python® package.
3.5.0
- Added support for executable SQL files using shebang lines in the command-line interface (CLI).
- Added
expect error and expect rowcount commands to the CLI.
- Added enhanced help functionality to the CLI.
- Added nanosecond precision support for timestamp data types.
- Added server-side
DESCRIBE TABLE and DESCRIBE VIEW command support with fallback to the client-side DESCRIBE command for older server versions.
- Added connection timeout support to prevent hanging connections.
- Added configurable redirect URIs per OIDC integration for SSO functionality.
- Fixed an infinite loop issue when the fetch size is set to 0.
- Improved parameter expansion handling and error messaging.
- Improved Unicode character formatting in JSON output and CLI display.
- Updated protobuf dependency to version 5.29.2 or higher.
- Reduced verbosity for connection-type logging messages.
- Added support for preserving schema and service class settings after reconnection.
- Improved error handling for invalid DSNs in the CLI.
3.4.0
- Added support for the
PREVIEW DDL SQL statement.
- Support cryptography versions greater than 42.0.0.
- Fixed an issue that returned
-1 rows modified.
- Fixed the handling of an invalid DSN on the pyocient CLI.
- Formatted Unicode characters in JSON output.
- Fixed an issue where not all warnings were reported.
- Added the messages attribute to the cursor.
- Improved parameter expansion.
- Supported loglevel and logfile parameters on DSNs.
- Preserved the Connection object for reconnects.
3.3.2
- Fixed ending SSO sessions when you close the connection.
3.3.0
- Pinned the cryptography package to a version earlier than 42.0.0 for stability purposes.
- Added OIDC single sign on (SSO).
- Added the
performance mode command.
- Enabled the display of nulls as NULL when using the table format.
- Set the command-line default fetch size to 30000.
- Fixed the implementation of the
set serviceclass command.
- Changed
pyocient.Warning to be a subclass of the Python Warning class.
- Added the
set printuuid on command.
- Added the
--version option at the command line.
- Set the TCP
keepalive options on connections.
- Added a valid error message when the system rejects a connection without SSL encryption.
3.0.3
- The
TypeCodes class has been changed to a Python IntEnum.
- GIS types _STPoint, _STLinestring, and _STPolygon have been renamed to STPoint, STLinestring, and STPolygon, respectively.
- The
user and password fields have been removed from the Connection object. This object no longer stores these fields.
- You can pass the
security_token from another connection to the connect function.
- The
Session object has been removed.
- The
custom_type_to_json function has been moved into the pyocient API to allow the consistent conversion of the result set to the JSON format.
- The
patch portion of the pyocient version is sent to and logged in the database.
- The
--nooutput command-line parameter does not throw a Python exception.
- The
local variable 'return_code' referenced before assignment error has been fixed.
- Added the
--rows argument to the command-line program to load the result set in batches.
2.0.0
- Packaging has been significantly refactored to match Python packaging standards.
- Python context manager support has been added to connections and cursors.
- Python type annotations have been added to the pyocient API.
- Fixed the command-line interface (CLI) to return a non-zero code for statements that fail.
- CLI output has been standardized to either go to the output file or standard output (stdout).
- The option to echo statements has been added as a command-line option.
- The
pyocient.SyntaxError exception, which conflicted with the built-in Python SyntaxException, has been removed.
pyocient.version has been removed in favor of the more standard pyocient.__version__.
1.0.15
- The dependency on
protobuf has been upgraded from >=3.12.0, <=3.19.1 to >=3.20.0, <=4.22.0.
- Fixed an error that occurs when you do not specify the host parameter in the
connect() API.
1.0.14
- Updated pyocient dependencies to eliminate some unused dependencies and tighten the dependencies on
protobuf and dsnparse.
1.0.13
- Fixed bug that left
Cursor.rowcount unset after Data Manipulation Language (DML) query execution.
- The
cryptography package requirement of version 36 or lower is no longer required.
1.0.12
- Added
--nohistory command-line option. The history file does not store commands from the session.
Added ignorespace option to command-line history. The history file omits lines that begin with a white space character.
1.0.11
- Added a link to the release notes to the package description.
1.0.10
- Fixed error in the parameter substitution docstring.
- Added support for
SERVICECLASS, ADJUSTFACTOR, ADJUSTTIME, and PSO query settings.
- Added support for the
SHOW command.
- Added support for the
CANCEL TASK command.
- Removed support for
PRIORITY_ADJUSTMENT_FACTOR, PRIORITY_ADJUSTMENT_TIME, MIN_PRIORITY, and MAX_PRIORITY query settings.
- Deprecate support for the
CHECK DATA command.
- Fixed output of binary types at the command line.
1.0.9
- Added CSV output support
- Updated cryptography package dependency from <3.4 to <=36.0
- Updated cffi and google-auth dependencies
- Improved decoding performance by caching the decoders
- Added formal STPoint, STLinestring, and STPolygon classes rather than using tuples and lists
- Added support for PRIORITY_ADJUSTMENT_FACTOR, PRIORITY_ADJUSTMENT_TIME, MIN_PRIORITY, and MAX_PRIORITY query settings.
- Enabled the handling of invalid DNS names received from the database
1.0.7
- Fixed crash on invalid UTF-8 characters received from the database
- Fixed a bug related to specifying the user through the connect API
- Standardized Python(R) code formatting
1.0.6
- Updated handling of the force option on connections for accuracy
1.0.5
- Added additional debug logging to the redirection of connection
1.0.4
- Updated the redirect logic for accuracy
1.0.3
- Added multiple host support to the DSN
- Removed —tables, —systables, and —views command-line options
- Added support for the source, connect to, and set commands
- Added support for starting without a DSN
Last modified on October 6, 2026