Igniters,

Thanks to Alex Kuznetsov, we revealed serious usability issue in our thin
JDBC driver - we user ampersand character to delimit properties:

jdbc:ignite:thin://host:port/schema?param1=val1*&*param2=val2

This leads to multiple problems:
1) This format is unusable from many console environments and require
special escaping (PowerShell, bash)
2) Also this causing issues when writing connection string is passed to
some 3rd-party applications as sometimes they cannot escape it as well.

I performed investigation on how other vendors do that. Bottom line -
nobody use ampersand. Instead semicolon or parentheses are used:

jdbc:ignite:thin://host:port/schema?param1=val1&param2=val2
jdbc:ignite:thin://host:port/schema?(param1=val1)(param2=val2)

I propose to do a breaking change in AI 2.5 and change the format to
*parentheses*. This would be a disruptive experience for existing users,
but in the long term benefits will outweight. Also remember that we do not
offered officially any backward compatibility for our JDBC driver.

Alternatively we may allow users to use previous format with help of system
property or environment variable.

Thoughts?

Vladimir.

Reply via email to