diff -r 871185e406b3 -r 5488c2dcf680 java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Thu Jan 16 12:28:08 2014 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Fri Jan 17 23:24:07 2014 +0100 @@ -17,8 +17,11 @@ */ package info.globalcode.sql.dk; +import static info.globalcode.sql.dk.Functions.readString; import info.globalcode.sql.dk.InfoLister.InfoType; import info.globalcode.sql.dk.configuration.Property; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -35,7 +38,7 @@ public static final String TYPE_NAME_SEPARATOR = ":"; - public CLIOptions parseOptions(String[] args) throws CLIParserException { + public CLIOptions parseOptions(String[] args, InputStream in) throws CLIParserException { CLIOptions options = new CLIOptions(); List numberedTypes = new ArrayList<>(); @@ -70,6 +73,13 @@ case Tokens.SQL: options.setSql(fetchNext(args, ++i)); break; + case Tokens.SQL_IN: + try { + options.setSql(readString(in)); + } catch (IOException e) { + throw new CLIParserException("Unable to read SQL from the input stream", e); + } + break; case Tokens.BATCH: options.setBatch(true); break; @@ -160,6 +170,7 @@ public static final String DB = "--db"; // bash-completion:option // help: database name public static final String DB_PROPERTY = "--db-property"; // bash-completion:option // help: name and value public static final String SQL = "--sql"; // bash-completion:option // help: SQL query/command + public static final String SQL_IN = "--sql-in"; // bash-completion:option // help: SQL query/command public static final String BATCH = "--batch"; // bash-completion:option // help: batch mode (no argument) public static final String DATA = "--data"; // bash-completion:option // help: list of ordinal parameters public static final String DATA_NAMED = "--data-named"; // bash-completion:option // help: list of named parameters