Version 7.0.0 Release Notes

Please view the list below for an overview of all changes in version 7.0.0. Version 7.0.0 was released on 2020-09-11.

Changed Behavior

Changelog Entry Changed Behavior
14168 System Tables changed, see desription.
13283 New reserved keywords CURRENT_CLUSTER and CURRENT_CLUSTER_UID.
10618 Named window references are now resolved in accordance with the SQL standard, preventing duplicate ORDER BY, PARTITION BY, or window frame clauses.
10606 Identical analytic functions are now always computed only once.
10469 For queries with subqueries the WHERE condition evaluation order may change.
10239 We have renamed some Exasol specific JDBC and ODBC methods. This methods are used for parallel result set reading and parallel data insert into the Exasol database nodes. *JDBC* ||old name||new name|| |public boolean isSlaveConnection()|public boolean isWorkerConnection()| |public boolean isSlaveConnection()|public boolean isWorkerConnection()| |public int [] GetSlavePorts()|public int [] GetWorkerPorts()| |public String [] GetSlaveHosts()|public String [] GetWorkerHosts()| |public long GetSlaveToken()|public long GetWorkerToken()| in the class EXAConnection. *ODBC* ||old name||new name|| |SQLRETURN EXASlaveConnect ()|SQLRETURN EXAWorkerConnect ()| |SQLRETURN EXAGetSlaveOffset()|SQLRETURN EXAWorkerConnect ()|
10157 Comparison between DATE and constants of type TIMESTAMP WITH LOCAL TIME ZONE (important example: CURRENT_TIMESTAMP) are now compared in TIMESTAMP type - as is already the case for comparison with non-constant TIMESTAMP WITH LOCAL TIME ZONE. A command-line parameter exists to allow the old behavior in order to fix queries that may be impacted by this change.
10122 When enabled, fully serializable transaction level will be not applied for simple selects on system tables and underlying objects.
9907 Prepared DELETE FROM statements work correctly with filters of type HASHTYPE
9685 * Parameter -extendedSchemaVisibility has been removed. * System privilege CREATE ANY SCRIPT does not give access to all scripts any more (via EXA_ALL_SCRIPTS)
9061 Current behavior: The method setSchema called with null as parameter will throw an exception telling us that this value is not allowed. Improved behavior: setSchema(null) will exit the current schema, if any schema was open. It does the same like calling "close schema" as a SQL command.
8815 With Version 7.0.0 we removed the JDTS and MYSQL drivers from our packages and updated PostgresSQL to version 42.2.9. You can still upload your own jdbc drivers into the bucket using Exaoperation.
8568 If the JDBC driver reports a string precision of 0, the precision will be set to 2,000,000 so that the values can be imported.
8474 IMPORT of a string of length one containing a null character into a NOT NULL CHAR column having a length greater than one is now possible. Previously it triggered the NOT NULL constraint even though the CHAR padding made the value non-NULL.
8279 The visual studio extension we deliver was EXADDEX2017.vsix. We have renamed it to EXAExtension.vsix. It contains the support for SQL Server Analysis Services 2017 and 2019.
7045 * PRIORITY GROUPS evolved into CONSUMER GROUPS. Your existing PRIORITY GROUPS will be migrated automatically. The syntax changed accordingly. * Sessions of SYS user are allotted a special SYS_CONSUMER_GROUP. The SYS_CONSUMER_GROUP has highest CPU_WEIGHT by default viz. 1000. This may lead to an impact on query prioritization of other users when the SYS user is running queries. INTERNAL : -priocheckerInterval command line parameter has been renamed to -consumerGroupCheckerInterval.
7044 1. New reserved keywords HASHTYPE and HASHTYPE_FORMAT 2. This feature breaks backward migration. If a customer uses the new type and migrates back to a version that does not support this type, he cannot query columns created with the new type anymore. A workaround is to convert all problem columns to CHAR(32) before the backward migration in performed.
6819 * Commandline parameter -useCaseSensitivePasswords is removed * Users with SHA hashed password cannot login anymore
5451 The new exception "Format is not needed" was introduced and is thrown when the function TO_TIMESTAMP is used for converting DATE types. Before this exception was introduced, constant format specifications were tacitly ignored. Non-constant format specifications lead to a crash. With the exception, the specification is not accepted in both cases.
1252 The JDBC driver is compiled now using JDK 7 and needs minimum Java version 7 to run. Also EXAplus and EXAjload need Java 7 from now on. The previous driver was supporting Java 1.5 and newer.

New Features

Changelog Entry Summary
13283 New Scalar Function CURRENT_CLUSTER
10413 Snapshot execution in prepared statements.
10399 New system table EXA_SYS_SCRIPTS lists pre-installed system scripts
9685 USAGE privilege for schemas
9377 SESSION_PARAMETER function
9336 Hash Functions with return type HASHTYPE
9311 Snapshot execution in Lua scripting
9224 Support for IF/THEN/ELSE expressions
9222 cjson library for Lua scripts and UDFs
9205 New set and analytic function MUL
9189 JSON Functions
8890 The packages pysftp and paramiko were added to Exasol standard container
8279 ADO.NET: Support for Microsoft Visual Studio 2019 and SQL Server 2019
7160 Execute metadata queries in snapshot mode
7144 Exasol ADO.NET support for .NET Core
7098 WebSockets: Support added for metadata functions
7091 Automatic hugepage configuration
7045 TEMP DBRAM Limits / Consumer Groups
7044 HASHTYPE: a binary type to store hashes
6404 New Join Order Optimization Algorithm
4394 Import/Export from/to Microsoft Azure Blob Storage
1252 JDBC 4.1 support

Improvements

Changelog Entry Summary
14168 Exasol System Table Changelist - 6.2.0 to 7.0.0
10625 Exasol JDBC driver Waffle dependency
10297 Client connection keep-alive interval reduced from 600 to 30 seconds
10239 Renaming some Exasol specific JDBC and ODBC methods
10122 Snapshot execution mode for metadata queries (preview feature)
9999 Support of latest timezone updates (release 2020a)
9976 Improved interprocess communication to avoid system overload caused by high number of concurrent connections.
9947 Improved profiling information for query part GROUP BY
9468 WebSockets: CLOSE message automatically calls the disconnect command internally
9451 Improved performance of INSERT into a partitioned table
9258 Optimized count distinct for distributed VARCHAR columns
9061 JDBC setSchema(null) exits the current schema
8987 Reduction of TEMP memory consumption for inserting many rows into a table
8815 Update and removal of delivered JDBC Drivers
8568 Improve the IMPORT of strings from JDBC data sources when string precision is zero
8514 Rounding for geometry data type. ST_MAX_DECIMAL_DIGITS session/system parameter.
7537 Better resource utilization for non-caching global joins
6819 Removal of SHA hashed password authentication
6764 Improved profiling information for query part ANALYTIC FUNCTION
6726 Improve the UDF read performance
6348 Reduced execution time for driver-limited result sets
5052 BETWEEN filters comparing SYSDATE or SYSTIMESTAMP can lead to bad join orders
5000 Improved system usability in case of heavy load and swapping
4620 New system table EXA_SYS_COLUMNS
3116 Support for JSON date format
1966 SCHEMA and DATABASE statements process tables ordered by raw size ascending

Bug Fixes

Changelog Entry Summary
10847 Database may crash in rare cases with extremely high amount of open connections
10680 Docker Release: Backups are removed immediately after they are completed
10647 Internal server error for cached queries with scalar subqueries in table operator
10638 ADO.NET not configured for some .NET installations
10618 Named window references allow duplicate ORDER BY, PARTITION BY, or window frame clauses
10610 JSON_EXTRACT in invalid views causes Internal Server Error
10606 Identical analytic functions are computed multiple times
10602 In very rare cases, SQL Client aborts can lead to an unresponsive database
10512 UNION ALL optimization does not work with UTF8 data
10506 JDBC - Reading EXAResultSet changes the cursor status
10487 JDBC reconnects shortly after a disconnect may cause the database to go offline
10469 Subquery elimination changes WHERE condition evaluation order
10406 Installing earlier OS security updates can cause Exasol upgrades to fail
10362 Logout entry in EXA_DBA_AUDIT_SESSIONS may be missing for sessions that never executed a query
10344 ODBC Driver may send incorrect values to the database
10279 Long WebSocket requests on encrypted connections may cause errors
10157 Wrong comparison between DATE and a constant of type TIMESTAMP WITH LOCAL TIME ZONE
10156 ODBC must parse connection string braces
10147 Possible crash in virtual schema when using IMPORT FROM EXA in pushdown
10103 WebSockets: Empty string or invalid numeric value in executePreparedStatement() leads to an internal error
10098 Execution of snapshot statements can lead to unexpected transaction conflicts in write-intensive workloads
10069 Sessions may be unable to execute commands for a while
10010 Outdated minimum/maximum column statistics through updating statements
9981 Fixed process crash during global join operation on tables with large varchars
9971 Tuple IN with one constant VARCHAR value can cause exception
9962 WebSockets: Wrong values for TIMESTAMP WITH LOCAL TIME ZONE columns
9907 PreparedStatement DELETE fails for HASH_TYPE
9754 CPU frequency settings ignored
9748 Column Aliases in FROM combined with Analytic Functions cause an error
9742 Database does not start in 6.1.0 - 6.1.8 after upgrade from 6.0.x
9722 Encrypted connections may be shown as unencrypted in sessions tables
9715 Long WebSocket requests on encrypted connections may cause errors
9636 Lua UDF with EMIT does not work with LIMIT if limit-value is smaller than number of emitted rows
9623 Wrong result set for certain filters on outer join tables
9619 Analytic function on subselect with prepared parameter causes error 'Successfully reconnected after internal server error'
9586 JDBC driver returns wrong value in getInt() for a decimal column
9495 Oracle Join Syntax causes unexpected error "Feature not supported: circular outer join"
9470 Error when using CASE statement with constant expression in the WHEN clause in SELECT from virtual schema
9466 Slow login into Exasol archive volume through FTP and HTTP
9443 WebSockets: Clients may unexpectedly disconnect
9425 Global joins preferred over local joins in case of many joined tables
9418 SYSDATE in combination with Views and Analytic Functions causes Error
9416 Node Crashes in Public Cloud / Reduced performance
9411 Compile Time Increase in Queries With Analytic Functions and Nested Views
9408 Wrong error message for IMPORT/EXPORT with script instead UDF
9309 Don't allow common table expressions with the same name
9308 Internal server error for CONNECT BY on JOIN of at least 3 tables
9288 User-defined functions returning string types may fail on system tables
9254 Missing length check for constraint names
9246 Inconsistent foreign key reference into replaced table
9156 Internal server error when using analytic function arguments that are distribution and not in select-list
9121 Massive slowdown of aggregation query with many aggregation columns
9120 Race condition in Remote Backup Process leads to occasional failures
9094 Fixed 403 error for bucketfs while being read/written via read/write password
9064 Level 1+ backup to S3 can be unreliable for some buckets
9051 OS security updates can signal completion too early
8967 Analytic Functions: ROWID in OVER clause broken
8957 VALUES yields data exception for some DECIMAL value combinations
8812 ADO.NET cannot run scripts at connect time
8756 WITH-clause for SELECT INTO crashes
8697 WITH-clause combined with prepared parameters influences join order
8566 JDBC connection pool close not working correctly
8522 Unnessary index creations for complex queries on big tables
8500 Rare memory corruption involving big IN lists and query cache leads to session crashes
8474 NOT NULL constraint might fail for strings starting with a null character
8428 JDBC, ODBC, ADO.NET: Internal server error after transfer of huge amount of data
8375 PL/SQL functions do not work with big VARCHARs
8373 JDBC throwing SQLException instead of BatchUpdateException
8342 JDBC prepared statement batch execution broken after exception
8323 Abnormal transaction collisions involving views (no fix)
8296 Possible crash in prepared insert statements
8283 EXAplus parameter -x doesn't work for all syntax errors, causing wrong exit status
8277 select from EXA_*_SESSIONS may lead to internal server error if session of a dropped user still exists
8254 Wrong result for emitting UDF with GROUP BY columns sharing an expression
8211 High memory usage when inserting into distributed table with many varchar columns
8188 Wrong results from explicit local join on table with correlated EXISTS
8149 Hide unnecessary credentials
8071 sqlparsing.find with backwards search doesn't match end of token list
8067 HAVING ignored in some aggregated subqueries if no GROUP BY clause is given
8041 Race condition could cause sql process deadlock when inserting data in not distributed tables
8014 Rare deadlocks in queries using global joins or exists
8012 Prepare of UPDATE on booloean column fails
7934 Index creation for geometry type, if used in an expression fails and causes 'Internal server error'.
7245 Metadata call to query tables may block new logins
7125 Connection requests that are not sending any data may lead to increased CPU usage of connection server
7062 MERGE with faulty ON clause crashes instead of returning proper error message
6612 JDBC cannot be loaded by Oracle 11.2
6592 Emitting Lua script contains superfluous output column metadata
5782 Exasol may not be able to accept connections anymore caused by hanging metadata requests
5451 Non-constant format specification might lead to a crash when using TO_TIMESTAMP to cast DATE type
5035 Calling an emitting script without arguments followed by another column in the SELECT list causes internal server error