Hi, We've been solve this problem during JDBC2 driver implementation. And I don't know any complains about connection string format. Why we can just use the same approach? [1]
[1] https://issues.apache.org/jira/browse/IGNITE-1250?focusedCommentId=14706511&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14706511 On Tue, Apr 3, 2018 at 12:20 PM, Ilya Kasnacheev <ilya.kasnach...@gmail.com> wrote: > Hello! > > I think semicolon is the way to go, since round brackets are often > interpreted by shells and will need escaping on their own. Let's get rid of > & and ?. > > jdbc:ignite:thin://host:port/schema:param1=val1:param2=val2 > > -- > Ilya Kasnacheev > > 2018-04-03 11:30 GMT+03:00 Vladimir Ozerov <voze...@gridgain.com>: > >> 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¶m2=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. >>