Index: src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java =================================================================== --- src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java (revision 612056) +++ src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java (working copy) @@ -70,6 +70,7 @@ case FS: case JAR: case EXIT: + case START: case INSERT: case DELETE: case SELECT: @@ -75,7 +76,7 @@ case SELECT: case ENABLE: case DISABLE: - case 68: + case 69: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case HELP: case ALTER: @@ -89,6 +90,7 @@ case FS: case JAR: case EXIT: + case START: case INSERT: case DELETE: case SELECT: @@ -100,7 +102,7 @@ jj_la1[0] = jj_gen; ; } - jj_consume_token(68); + jj_consume_token(69); break; case 0: jj_consume_token(0); @@ -166,6 +168,9 @@ case JAR: cmd = jarCommand(); break; + case START: + cmd = startCommand(); + break; default: jj_la1[2] = jj_gen; jj_consume_token(-1); @@ -244,6 +249,30 @@ throw new Error("Missing return statement in function"); } + final public StartCommand startCommand() throws ParseException { + Token t = null; + StartCommand start = new StartCommand(this.out); + jj_consume_token(START); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ID: + t = jj_consume_token(ID); + break; + case INTEGER_LITERAL: + t = jj_consume_token(INTEGER_LITERAL); + break; + case FLOATING_POINT_LITERAL: + t = jj_consume_token(FLOATING_POINT_LITERAL); + break; + default: + jj_la1[6] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + start.setFile(t.image.toString()); + {if (true) return start;} + throw new Error("Missing return statement in function"); + } + final public TruncateCommand truncateCommand() throws ParseException { TruncateCommand truncate = new TruncateCommand(this.out); String tableName = null; @@ -256,7 +285,7 @@ tableName = identifier(); break; default: - jj_la1[6] = jj_gen; + jj_la1[7] = jj_gen; ; } truncate.setTableName(tableName); @@ -324,7 +353,7 @@ t = jj_consume_token(ID); break; default: - jj_la1[7] = jj_gen; + jj_la1[8] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -331,7 +360,7 @@ argument = t.image.toString(); break; default: - jj_la1[8] = jj_gen; + jj_la1[9] = jj_gen; ; } help.setArgument(argument); @@ -350,7 +379,7 @@ argument = identifier(); break; default: - jj_la1[9] = jj_gen; + jj_la1[10] = jj_gen; ; } show.setArgument(argument); @@ -369,7 +398,7 @@ jj_consume_token(DESC); break; default: - jj_la1[10] = jj_gen; + jj_la1[11] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -397,7 +426,7 @@ ; break; default: - jj_la1[11] = jj_gen; + jj_la1[12] = jj_gen; break label_3; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -430,7 +459,7 @@ t = jj_consume_token(RECORD); break; default: - jj_la1[12] = jj_gen; + jj_la1[13] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -454,7 +483,7 @@ t = jj_consume_token(RETOUCHED_BLOOMFILTER); break; default: - jj_la1[13] = jj_gen; + jj_la1[14] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -479,7 +508,7 @@ columnSpec.put("NUM_ENTRIES", n); break; default: - jj_la1[14] = jj_gen; + jj_la1[15] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -508,7 +537,7 @@ ; break; default: - jj_la1[15] = jj_gen; + jj_la1[16] = jj_gen; break label_4; } jj_consume_token(COMMA); @@ -552,7 +581,7 @@ ; break; default: - jj_la1[16] = jj_gen; + jj_la1[17] = jj_gen; break label_5; } jj_consume_token(COMMA); @@ -576,7 +605,7 @@ alterCommand.addColumnSpec(column, columnSpec); break; default: - jj_la1[17] = jj_gen; + jj_la1[18] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -623,7 +652,7 @@ t = jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[18] = jj_gen; + jj_la1[19] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -635,7 +664,7 @@ in.setTimestamp(timestamp); break; default: - jj_la1[19] = jj_gen; + jj_la1[20] = jj_gen; ; } {if (true) return in;} @@ -666,7 +695,7 @@ t = jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[20] = jj_gen; + jj_la1[21] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -673,7 +702,7 @@ deleteCommand.setRow(t.image.substring(1, t.image.length()-1)); break; default: - jj_la1[21] = jj_gen; + jj_la1[22] = jj_gen; ; } {if (true) return deleteCommand;} @@ -704,7 +733,7 @@ columns = columnList(); break; default: - jj_la1[22] = jj_gen; + jj_la1[23] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -727,7 +756,7 @@ jj_consume_token(FROM); break; default: - jj_la1[23] = jj_gen; + jj_la1[24] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -740,7 +769,7 @@ select.setStopRow(stopRow); break; default: - jj_la1[24] = jj_gen; + jj_la1[25] = jj_gen; ; } break; @@ -745,7 +774,7 @@ } break; default: - jj_la1[25] = jj_gen; + jj_la1[26] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -755,7 +784,7 @@ select.setTimestamp(timestamp); break; default: - jj_la1[26] = jj_gen; + jj_la1[27] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -766,7 +795,7 @@ select.setVersion(numVersion); break; default: - jj_la1[27] = jj_gen; + jj_la1[28] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -781,7 +810,7 @@ } break; default: - jj_la1[28] = jj_gen; + jj_la1[29] = jj_gen; ; } {if (true) return select;} @@ -828,7 +857,7 @@ ; break; default: - jj_la1[29] = jj_gen; + jj_la1[30] = jj_gen; break label_6; } jj_consume_token(COMMA); @@ -854,7 +883,7 @@ s = jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[30] = jj_gen; + jj_la1[31] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -875,7 +904,7 @@ s = jj_consume_token(ASTERISK); break; default: - jj_la1[31] = jj_gen; + jj_la1[32] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -883,7 +912,7 @@ {if (true) return value;} break; default: - jj_la1[32] = jj_gen; + jj_la1[33] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -907,7 +936,7 @@ col = jj_consume_token(ASTERISK); break; default: - jj_la1[33] = jj_gen; + jj_la1[34] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -923,7 +952,7 @@ col = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[34] = jj_gen; + jj_la1[35] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -930,7 +959,7 @@ {if (true) return col.image.substring(1,col.image.toString().length() - 1);} break; default: - jj_la1[35] = jj_gen; + jj_la1[36] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -950,7 +979,7 @@ ; break; default: - jj_la1[36] = jj_gen; + jj_la1[37] = jj_gen; break label_7; } jj_consume_token(COMMA); @@ -974,7 +1003,7 @@ ; break; default: - jj_la1[37] = jj_gen; + jj_la1[38] = jj_gen; break label_8; } jj_consume_token(COMMA); @@ -1001,7 +1030,7 @@ ; break; default: - jj_la1[38] = jj_gen; + jj_la1[39] = jj_gen; break label_9; } jj_consume_token(COMMA); @@ -1023,7 +1052,7 @@ t = jj_consume_token(INTEGER_LITERAL); break; default: - jj_la1[39] = jj_gen; + jj_la1[40] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1052,7 +1081,7 @@ t = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[40] = jj_gen; + jj_la1[41] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1059,7 +1088,7 @@ {if (true) return t.image.substring(1,t.image.toString().length() - 1);} break; default: - jj_la1[41] = jj_gen; + jj_la1[42] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1080,17 +1109,18 @@ finally { jj_save(0, xla); } } - final private boolean jj_3R_11() { - if (jj_scan_token(ID)) return true; + final private boolean jj_3_1() { + if (jj_scan_token(ADD)) return true; + if (jj_3R_10()) return true; return false; } - final private boolean jj_3R_10() { + final private boolean jj_3R_12() { Token xsp; xsp = jj_scanpos; - if (jj_3R_11()) { + if (jj_scan_token(67)) { jj_scanpos = xsp; - if (jj_3R_12()) return true; + if (jj_scan_token(68)) return true; } return false; } @@ -1095,18 +1125,17 @@ return false; } - final private boolean jj_3_1() { - if (jj_scan_token(ADD)) return true; - if (jj_3R_10()) return true; + final private boolean jj_3R_11() { + if (jj_scan_token(ID)) return true; return false; } - final private boolean jj_3R_12() { + final private boolean jj_3R_10() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(66)) { + if (jj_3R_11()) { jj_scanpos = xsp; - if (jj_scan_token(67)) return true; + if (jj_3R_12()) return true; } return false; } @@ -1120,7 +1149,7 @@ public boolean lookingAhead = false; private boolean jj_semLA; private int jj_gen; - final private int[] jj_la1 = new int[42]; + final private int[] jj_la1 = new int[43]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -1130,13 +1159,13 @@ jj_la1_2(); } private static void jj_la1_0() { - jj_la1_0 = new int[] {0xf3ffe0,0xf3ffe1,0xf3ffe0,0x0,0x0,0x0,0x0,0x33dbc0,0x33dbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x80000000,0x0,0x2000000,0x0,0x3000000,0x8000000,0x3000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x1e7ffe0,0x1e7ffe1,0x1e7ffe0,0x0,0x0,0x0,0x0,0x0,0x65dbc0,0x65dbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x4000000,0x0,0x6000000,0x10000000,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x40000000,0xc0000000,0xc0000000,0x40000000,0x40000000,0x40000000,0x40000000,0x0,0x731c000,0xe0000,0xe00000,0x731c000,0x10,0x10,0x18000000,0x0,0x0,0x0,0x0,0xe0002000,0x0,0x0,0x0,0x0,0x1,0x2,0x10,0x0,0xc0002000,0xc0002000,0xc0002000,0x0,0xc0002000,0x10,0x10,0x10,0xc0000000,0x0,0x40000000,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x0,0xe638000,0x1c0000,0x1c00000,0xe638000,0x20,0x20,0x30000000,0x0,0x1,0x0,0x0,0xc0004000,0x0,0x0,0x0,0x1,0x2,0x4,0x20,0x0,0x80004000,0x80004000,0x80004000,0x0,0x80004000,0x20,0x20,0x20,0x80000000,0x0,0x80000000,}; } private static void jj_la1_2() { - jj_la1_2 = new int[] {0x0,0x10,0x0,0x0,0x1,0x1,0xc,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0xc,0xc,0x0,0x0,0x0,0x0,0xc,0xc,}; + jj_la1_2 = new int[] {0x0,0x20,0x0,0x0,0x3,0x3,0x3,0x18,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x18,0x0,0x19,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x1,0x19,0x1,0x18,0x19,0x0,0x0,0x0,0x1,0x18,0x18,}; } final private JJCalls[] jj_2_rtns = new JJCalls[1]; private boolean jj_rescan = false; @@ -1151,7 +1180,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1164,7 +1193,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1174,7 +1203,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1184,7 +1213,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1193,7 +1222,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1202,7 +1231,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 42; i++) jj_la1[i] = -1; + for (int i = 0; i < 43; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1313,8 +1342,8 @@ public ParseException generateParseException() { jj_expentries.removeAllElements(); - boolean[] la1tokens = new boolean[69]; - for (int i = 0; i < 69; i++) { + boolean[] la1tokens = new boolean[70]; + for (int i = 0; i < 70; i++) { la1tokens[i] = false; } if (jj_kind >= 0) { @@ -1321,7 +1350,7 @@ la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 42; i++) { + for (int i = 0; i < 43; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1< 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAddStates(0, 6); } else if ((0x400e00000000000L & l) != 0L) @@ -1222,8 +1227,8 @@ } else if ((0x400e00000000000L & l) != 0L) { - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; jjCheckNAdd(1); } else if (curChar == 39) @@ -1236,8 +1241,8 @@ case 1: if ((0x7ffe00000000000L & l) == 0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; jjCheckNAdd(1); break; case 2: @@ -1247,8 +1252,8 @@ case 3: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAddTwoStates(3, 4); break; case 5: @@ -1258,8 +1263,8 @@ case 6: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAdd(6); break; case 7: @@ -1271,8 +1276,8 @@ jjCheckNAddTwoStates(8, 9); break; case 9: - if (curChar == 34 && kind > 66) - kind = 66; + if (curChar == 34 && kind > 67) + kind = 67; break; case 10: if (curChar == 39) @@ -1295,8 +1300,8 @@ jjCheckNAddStates(10, 12); break; case 15: - if (curChar == 39 && kind > 67) - kind = 67; + if (curChar == 39 && kind > 68) + kind = 68; break; case 16: if ((0x3ff000000000000L & l) == 0L) @@ -1301,8 +1306,8 @@ case 16: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAddStates(0, 6); break; case 17: @@ -1308,8 +1313,8 @@ case 17: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAdd(17); break; case 18: @@ -1323,8 +1328,8 @@ case 20: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAddTwoStates(20, 21); break; case 22: @@ -1334,8 +1339,8 @@ case 23: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAdd(23); break; case 24: @@ -1349,8 +1354,8 @@ case 27: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAdd(27); break; case 28: @@ -1356,8 +1361,8 @@ case 28: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAddTwoStates(28, 29); break; case 30: @@ -1367,8 +1372,8 @@ case 31: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAdd(31); break; default : break; @@ -1386,8 +1391,8 @@ case 1: if ((0x47fffffe87fffffeL & l) == 0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; jjCheckNAdd(1); break; case 4: @@ -1463,10 +1468,10 @@ public static final String[] jjstrLiteralImages = { "", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, "\54", "\50", "\51", "\75", -"\76", "\74", null, null, "\41\75", "\52", null, null, null, null, null, null, null, +null, null, null, null, null, null, null, null, null, null, "\54", "\50", "\51", +"\75", "\76", "\74", null, null, "\41\75", "\52", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, "\73", }; +null, null, "\73", }; public static final String[] lexStateNames = { "DEFAULT", }; @@ -1471,7 +1476,7 @@ "DEFAULT", }; static final long[] jjtoToken = { - 0xffffffffffffffe1L, 0x1dL, + 0xffffffffffffffe1L, 0x3bL, }; static final long[] jjtoSkip = { 0x1eL, 0x0L, Index: src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/HQLParser.jj =================================================================== --- src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/HQLParser.jj (revision 612056) +++ src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/HQLParser.jj (working copy) @@ -82,6 +82,7 @@ | | | + | | | | @@ -187,6 +188,7 @@ | cmd = clearCommand() | cmd = fsCommand() | cmd = jarCommand() + | cmd = startCommand() ) { return cmd; @@ -239,6 +241,20 @@ } } +StartCommand startCommand() : +{ + Token t = null; + StartCommand start = new StartCommand(this.out); +} +{ + + ( t= | t= | t= ) + { + start.setFile(t.image.toString()); + return start; + } +} + TruncateCommand truncateCommand() : { TruncateCommand truncate = new TruncateCommand(this.out); Index: src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/StartCommand.java =================================================================== --- src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/StartCommand.java (revision 0) +++ src/contrib/hbase/src/java/org/apache/hadoop/hbase/hql/StartCommand.java (revision 0) @@ -0,0 +1,82 @@ +/** + * Copyright 2007 The Apache Software Foundation + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.hql; + +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.Shell; + +/** + * Execute the query files. + */ +public class StartCommand extends BasicCommand { + private String fileName; + + public StartCommand(Writer o) { + super(o); + } + + @SuppressWarnings("deprecation") + @Override + public ReturnMsg execute(HBaseConfiguration conf) { + try { + Writer out = new OutputStreamWriter(System.out, "UTF-8"); + HQLClient hql = new HQLClient(conf, Shell.MASTER_ADDRESS, out, null); + + FileSystem fs = FileSystem.get(conf); + FSDataInputStream in = fs.open(new Path(fileName)); + String query = ""; + int count = 0; + while (true) { + String line = in.readLine(); + if (line == null) + break; + query += " " + line; + if (query.endsWith(";")) { + ReturnMsg rs = hql.executeQuery(query); + query = ""; + count++; + if (Shell.HTML_OPTION == null) + System.out.println(rs.getMsg()); + } + } + + return new ReturnMsg(1, count + " queries executed."); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public void setFile(String fileName) { + this.fileName = fileName; + } + + @Override + public CommandType getCommandType() { + return CommandType.SHELL; + } +}