Taras, I spent today 30 minutes trying to connect to cluster with sqlline in Power Shell :(
I predict 100500+ questions on user list about "Failed to connect in bash / cmd / powershell with sqlline" On Tue, Apr 3, 2018 at 3:55 PM, Taras Ledkov <tled...@gridgain.com> wrote: > Hi, > > 1. Mysql JDBC driver Conenctor/J [1] and postgres JDBC driver [2] use > ampersand to delimit properties. > 2. Mysql use regular URL encoding for properties values instead of legacy > escaping (e.g braces etc.) > 3. Microsoft JDBC (and ODBC) driver for SQL Server [3] use semicolon to > delimit and square braces to escape. > > So, there is no true way to solve the issue. > > However, the inconvenience of using the console is the last thing I paid > attention to. > - using JDBC driver from console client is not common case; > - when any command line shell is used the various escaping of the > parameters is routine job. > > So, the root cause of the proposal is not clear for me. > > [1]. https://dev.mysql.com/doc/connector-j/5.1/en/connector-j- > reference-configuration-properties.html > > [2]. https://jdbc.postgresql.org/documentation/80/connect.html > > [3]. https://msdn.microsoft.com/ru-ru/library/ms378428(v=sql.100).aspx > > On 03.04.2018 11:30, Vladimir Ozerov wrote: > >> 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. >> >> > -- > Taras Ledkov > Mail-To: tled...@gridgain.com > > -- Alexey Kuznetsov