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 |