Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Drill >> mail # dev >> Challenge in creating of sqlline.bat due to windows limitation

Copy link to this message
RE: Challenge in creating of sqlline.bat due to windows limitation
I had gone ahead and used dependency:copy-dependency to work around this issue.  You would have seen my other email on an error that I faced further ahead the code.  Nevertheless, I wanted to pursue the classpath option as well as this is cleaner.  I see two approaches
There is an ant task available to create jar file, containing the classpath within manifest file.  Since I had to create an Ant Build script and then call it from Maven, and since I am not sure how to set the ant classpath variables from .classpath file, I didn't start this.  Does anyone know how to do this?I tried to create the "pathing jar" manually but I am getting the following Java IO exception.  Apparently the classpath size is too big for java as well.  Anyone know if it is possible to work around this?
D:\workspace\incubator-drill>if not exist .classpath (
cd contrib/sqlline
 mvn dependency:build-classpath -Dmdep.outputFile=../../.classpath -Dmdep.pathSeparator=" "
 cd ../..
D:\workspace\incubator-drill>(set /p s=Class-Path:  ) 0<nul 1>manifest.txt
D:\workspace\incubator-drill>type .classpath  1>>manifest.txt
D:\workspace\incubator-drill>del classpath.jar
Could Not Find D:\workspace\incubator-drill\classpath.jar
D:\workspace\incubator-drill>type nul   1>>classpath.jar  & copy classpath.jar +,,
        1 file(s) copied.
D:\workspace\incubator-drill>jar cfm classpath.jar manifest.txt
java.io.IOException: line too long
        at java.util.jar.Attributes.read(Attributes.java:379)
        at java.util.jar.Manifest.read(Manifest.java:199)
        at java.util.jar.Manifest.<init>(Manifest.java:69)
        at sun.tools.jar.Main.run(Main.java:172)
        at sun.tools.jar.Main.main(Main.java:1177)
Thanks & Regards,
Subject: Challenge in creating of sqlline.bat due to windows limitation
Date: Sun, 22 Dec 2013 22:17:41 +0530
Hello all,
Please find the WIP windows batch program.  This works only for 86 file names in .classpath (or 8138 characters long).  But the working version of .classpath has 131 filenames spanning 12,958 characters. The article http://support.microsoft.com/kb/830473 seem to support the variable length limitation - official limt is 8191.
One possible option is to collate all the required jar files into a common folder so that we can work around the variable value limitation in Windows platform.  Are there any other suggestion from the team? Regards,Ravi

> Date: Sun, 22 Dec 2013 11:07:50 +0000
> Subject: [jira] [Created] (DRILL-338) sqlline script not available for windows OS
> Ravisankar Sivasubramaniam created DRILL-338:
> ------------------------------------------------
>              Summary: sqlline script not available for windows OS
>                  Key: DRILL-338
>                  URL: https://issues.apache.org/jira/browse/DRILL-338
>              Project: Apache Drill
>           Issue Type: Bug
>     Affects Versions: 1.0.0-milestone-1, 1.0.0-milestone-2, 1.0.0-milestone-3, 1.0.0-milestone-4, 1.0.0
>          Environment: Windows OS
>             Reporter: Ravisankar Sivasubramaniam
> Currently sqlline may be executed only on *nix platforms.  Windows version of sqlline need to be created for developers using windows pcs.
> --
> This message was sent by Atlassian JIRA
> (v6.1.5#6160)