Hi all, currently Apache Drill is using custom version of Sqlline [1]. It has some custom fixes, the importance of which I propose to discuss.
*1. Isolation.* Drill supports TRANSACTION_NONE only, default in Sqlline is TRANSACTION_REPEATABLE_READ. Apparently the was not possibility to override the default or by any other reason, in custom version setting transaction is commented out. After upgrade to the latest version, during connection Drill errors that default transaction level is not acceptable but this can be easily fixed by passing arguments to Sqlline to change the defaults. Example will be provided below. *2. Resizing of output.* After upgrade to the latest version, output is weirdly resized, custom version has ResizingRowsProvider which fixed this issue but now this can be easily fixed by passing incremental=false when calling Sqlline. Example for points 1 and 2: CMD="$JAVA $SHELL_OPTS -cp $CP sqlline.SqlLine -d org.apache.drill.jdbc.Driver --maxWidth=10000* --isolation=TRANSACTION_NONE --incremental=false*" I haven't noticed any other issues with Sqlline that might regress after the upgrade. If I have missed something else, please feel free to correct me. *3. Output of Drill version at start up.* Now: *apache drill 1.15.0-SNAPSHOT * *"got drill?"* After the upgrade: *sqlline version 1.4.0* *0: jdbc:drill:zk=local>* *4. Options that Drill did not support were commented out, so they are not displayed in help menu.* If we upgrade, we'll lose the last two enhancements, though I don't think they are crucial. Other projects like Apache Phoenix are doing fine without them. Plus I think it's quite obvious why moving from custom version is a good choice. Any thoughts? [1] https://github.com/mapr/sqlline/commits/1.1.9-drill-r7 Kind regards, Arina