Improved ignoreparams Handling in Exasol JDBC Driver
Details
| Detail name | Value |
|---|---|
| Changelog Number | 26259 |
| Type | Improvement |
| Status | Resolved |
| Fix Versions | JDBC 26.2.7 |
| Resolution Date | 2026-02-05 |
Description
Previously, the behavior of the ignoreparams parameter in the Exasol JDBC driver was location-dependent:
- When alien (unknown) parameters were provided in the connection string URL, the ignoreparams parameter was also required to be in the URL.
- Similarly, when alien parameters were provided in Java properties, ignoreparams had to reside in Java properties.
This strict coupling between the location of alien parameters and ignoreparams made configuration error-prone and less flexible, leading to potential user frustration when juggling both the connection string URL and Java properties.
This behavior has now been improved:
- The ignoreparams parameter can be defined either in the connection string URL or Java properties and will apply universally to alien parameters, regardless of their location.
- To prevent misconfigurations, the driver enforces that ignoreparams must not be defined in both locations at the same time. If it is, the driver will throw an error with a clear message. Nevertheless, the same non-empty value could be provided in both locations simultaneously.
Workaround
For earlier versions of the driver (pre-improvement), users must ensure that ignoreparams is defined in the same location as the alien parameters:
- If alien parameters are included in the connection string URL, define ignoreparams there as well:
- If alien parameters are included in Java properties, add ignoreparams to the properties object:
jdbc:exa:<host>:<port>;alienParam=value1;ignoreparams=alienParam
Properties props = new Properties();
props.put("user", "username");
props.put("password", "password");
props.put("alienParam", "value");
props.put("ignoreparams", "alienParam");
To ensure the driver does not throw an error, include alien parameters and ignoreparams in the same location (i.e., either all in the connection string URL or all in Java properties). Do not mix or split them across both locations.
Fix
Starting from this release, the Exasol JDBC driver introduces universal handling of the ignoreparams parameter:
- Users can define ignoreparams in either connection string URL or Java properties. The driver will apply the ignoreparams configuration globally, regardless of where alien parameters are provided.
- If ignoreparams is defined in both locations (URL and Java properties), the driver will throw a clear error, e.g.:
Parameter (ignoreparams) is provided in both connection string and properties with conflicting non-empty values.
This improvement simplifies the configuration process and provides flexibility to the user.