diff --git beeline/src/java/org/apache/hive/beeline/BeeLine.java beeline/src/java/org/apache/hive/beeline/BeeLine.java index 734eeb8..5e20a18 100644 --- beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -755,6 +755,11 @@ int initArgs(String[] args) { commands = Arrays.asList(cl.getOptionValues('e')); } + if (!commands.isEmpty() && getOpts().getScriptFile() != null) { + System.err.println("The '-e' and '-f' options cannot be specified simultaneously"); + return 1; + } + // TODO: temporary disable this for easier debugging /* if (url == null) { diff --git beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java index 80c6e06..93b1c24 100644 --- beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java +++ beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java @@ -201,6 +201,16 @@ public void testScriptFile() throws Exception { } /** + * Test beeline with -f and -e simultaneously + */ + @Test + public void testCommandAndFileSimultaneously() throws Exception { + TestBeeline bl = new TestBeeline(); + String args[] = new String[] {"-e", "myselect", "-f", "myscript"}; + Assert.assertEquals(1, bl.initArgs(args)); + } + + /** * Displays the usage. */ @Test