IMPORT/EXPORT could fail if FILE contains non-alphanumeric characters

Details

Detail name Value
Changelog Number 5241
Type Bug
Status Resolved
Affected Versions EXASOL 6.0.4
Fix Versions EXASOL 6.0.5
Resolution Date 2017-10-27

Problem description:

All IMPORT and EXPORT statements will fail if the FILE argument contains a HTTP address with HTTP query string parameters like ?, & and =.

This is because in version 6.0.4 the whole FILE argument will be URL encoded, including the characters ?, & and =. However, these characters must not be encoded, because otherwise they will no longer be interpreted as having a special semantic as HTTP query string parameters.

How to reproduce

IMPORT INTO target_table FROM CSV AT 'http://server:1234/address' FILE 'file01?mode=read&param2=value2'
-- (or similar EXPORT)

returns an error like

[EXASOL][EXASolution driver]ETL-5105: Following error occured while reading data from external connection [http://server:1234/address/file01%3Fmode%3Dread%26param2%3Dvalue2 failed with error code=400 after 160 bytes.]

The expected behavior is that the statement should works, and non-alphanumeric characters such as '?', '&' and '=' in the FILE argument should not be URL encoded.

Notes on the bugfix

In order to fix this issue, the fix referenced in ----EXASOL-2096---- has been rolled back. Thus, ----EXASOL-2096---- is not resolved.