Index: src/java/org/apache/hadoop/hbase/hql/DisableCommand.java =================================================================== --- src/java/org/apache/hadoop/hbase/hql/DisableCommand.java (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/DisableCommand.java (working copy) @@ -24,6 +24,7 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.io.Text; /** @@ -31,6 +32,7 @@ */ public class DisableCommand extends BasicCommand { private String tableName; + private boolean all = false; public DisableCommand(Writer o) { super(o); @@ -37,18 +39,30 @@ } public ReturnMsg execute(HBaseConfiguration conf) { - assert tableName != null; + assert tableName != null || all != false; try { HBaseAdmin admin = new HBaseAdmin(conf); - - if (!admin.tableExists(new Text(tableName))) { - return new ReturnMsg(0, "'" + tableName + "'" + TABLE_NOT_FOUND); + int count = 0; + + if (all) { + HTableDescriptor[] desc = admin.listTables(); + count = desc.length; + for (int i = 0; i < desc.length; i++) { + println("Disabling '" + desc[i].getName() + "' table."); + admin.disableTable(desc[i].getName()); + } + } else { + if (!admin.tableExists(new Text(tableName))) { + return new ReturnMsg(0, "'" + tableName + "'" + TABLE_NOT_FOUND); + } + + println("Disabling '" + tableName + "' table."); + admin.disableTable(new Text(tableName)); + count++; } - - admin.disableTable(new Text(tableName)); - - return new ReturnMsg(1, "Table disabled successfully."); + + return new ReturnMsg(1, count + " Table(s) disabled successfully."); } catch (IOException e) { String[] msg = e.getMessage().split("[\n]"); return new ReturnMsg(0, msg[0]); @@ -59,6 +73,10 @@ this.tableName = table; } + public void setAll(boolean all) { + this.all = all; + } + @Override public CommandType getCommandType() { return CommandType.DDL; Index: src/java/org/apache/hadoop/hbase/hql/DropCommand.java =================================================================== --- src/java/org/apache/hadoop/hbase/hql/DropCommand.java (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/DropCommand.java (working copy) @@ -21,10 +21,12 @@ import java.io.IOException; import java.io.Writer; +import java.util.ArrayList; import java.util.List; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.HBaseAdmin; -import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.io.Text; /** @@ -32,6 +34,7 @@ */ public class DropCommand extends BasicCommand { private List tableList; + private boolean all = false; public DropCommand(Writer o) { super(o); @@ -38,10 +41,8 @@ } public ReturnMsg execute(HBaseConfiguration conf) { - if (tableList == null) { - throw new IllegalArgumentException("List of tables is null."); - } - + assert tableList != null || all != false; + try { HBaseAdmin admin = new HBaseAdmin(conf); @@ -46,6 +47,14 @@ HBaseAdmin admin = new HBaseAdmin(conf); int count = 0; + if(all) { + tableList = new ArrayList(); + HTableDescriptor[] desc = admin.listTables(); + for(int i = 0; i < desc.length; i++) { + tableList.add(desc[i].getName().toString()); + } + } + for (String table : tableList) { if (!admin.tableExists(new Text(table))) { println("'" + table + "' table not found."); @@ -70,6 +79,10 @@ this.tableList = tableList; } + public void setAll(boolean all) { + this.all = all; + } + @Override public CommandType getCommandType() { return CommandType.DDL; Index: src/java/org/apache/hadoop/hbase/hql/EnableCommand.java =================================================================== --- src/java/org/apache/hadoop/hbase/hql/EnableCommand.java (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/EnableCommand.java (working copy) @@ -24,6 +24,7 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.io.Text; /** @@ -31,6 +32,7 @@ */ public class EnableCommand extends BasicCommand { private String tableName; + private boolean all = false; public EnableCommand(Writer o) { super(o); @@ -37,14 +39,28 @@ } public ReturnMsg execute(HBaseConfiguration conf) { - assert tableName != null; + assert tableName != null || all != false; + try { HBaseAdmin admin = new HBaseAdmin(conf); - if (!admin.tableExists(new Text(tableName))) { - return new ReturnMsg(0, "'" + tableName + "'" + TABLE_NOT_FOUND); + int count = 0; + if (all) { + HTableDescriptor[] desc = admin.listTables(); + count = desc.length; + for (int i = 0; i < desc.length; i++) { + println("Enabling '" + desc[i].getName() + "' table."); + admin.enableTable(desc[i].getName()); + } + } else { + if (!admin.tableExists(new Text(tableName))) { + return new ReturnMsg(0, "'" + tableName + "'" + TABLE_NOT_FOUND); + } + println("Enabling '" + tableName + "' table."); + admin.enableTable(new Text(tableName)); + count++; } - admin.enableTable(new Text(tableName)); - return new ReturnMsg(1, "Table enabled successfully."); + + return new ReturnMsg(1, count + " Table(s) enabled successfully."); } catch (IOException e) { String[] msg = e.getMessage().split("[\n]"); return new ReturnMsg(0, msg[0]); @@ -55,6 +71,10 @@ this.tableName = table; } + public void setAll(boolean all) { + this.all = all; + } + @Override public CommandType getCommandType() { return CommandType.DDL; Index: src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java =================================================================== --- src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/generated/HQLParser.java (working copy) @@ -75,7 +75,7 @@ case SELECT: case ENABLE: case DISABLE: - case 69: + case 70: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case HELP: case ALTER: @@ -100,7 +100,7 @@ jj_la1[0] = jj_gen; ; } - jj_consume_token(69); + jj_consume_token(70); break; case 0: jj_consume_token(0); @@ -282,6 +282,8 @@ case INSERT: case DELETE: case SELECT: + case ENABLE: + case DISABLE: case ID: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SHOW: @@ -323,6 +325,12 @@ case ID: t = jj_consume_token(ID); break; + case ENABLE: + t = jj_consume_token(ENABLE); + break; + case DISABLE: + t = jj_consume_token(DISABLE); + break; default: jj_la1[7] = jj_gen; jj_consume_token(-1); @@ -594,6 +602,16 @@ DropCommand drop = new DropCommand(this.out); List tableList = null; jj_consume_token(DROP); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ALL: + jj_consume_token(ALL); + drop.setAll(true); + {if (true) return drop;} + break; + default: + jj_la1[18] = jj_gen; + ; + } jj_consume_token(TABLE); tableList = tableList(); drop.setTableList(tableList); @@ -628,7 +646,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(); } @@ -640,7 +658,7 @@ in.setTimestamp(timestamp); break; default: - jj_la1[19] = jj_gen; + jj_la1[20] = jj_gen; ; } {if (true) return in;} @@ -671,7 +689,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(); } @@ -678,7 +696,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;} @@ -709,7 +727,7 @@ columns = columnList(); break; default: - jj_la1[22] = jj_gen; + jj_la1[23] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -732,7 +750,7 @@ jj_consume_token(FROM); break; default: - jj_la1[23] = jj_gen; + jj_la1[24] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -745,7 +763,7 @@ select.setStopRow(stopRow); break; default: - jj_la1[24] = jj_gen; + jj_la1[25] = jj_gen; ; } break; @@ -750,7 +768,7 @@ } break; default: - jj_la1[25] = jj_gen; + jj_la1[26] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -760,7 +778,7 @@ select.setTimestamp(timestamp); break; default: - jj_la1[26] = jj_gen; + jj_la1[27] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -771,7 +789,7 @@ select.setVersion(numVersion); break; default: - jj_la1[27] = jj_gen; + jj_la1[28] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -786,7 +804,7 @@ } break; default: - jj_la1[28] = jj_gen; + jj_la1[29] = jj_gen; ; } {if (true) return select;} @@ -797,6 +815,16 @@ EnableCommand enableCommand = new EnableCommand(this.out); String table = null; jj_consume_token(ENABLE); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ALL: + jj_consume_token(ALL); + enableCommand.setAll(true); + {if (true) return enableCommand;} + break; + default: + jj_la1[30] = jj_gen; + ; + } table = identifier(); enableCommand.setTable(table); {if (true) return enableCommand;} @@ -807,6 +835,16 @@ DisableCommand disableCommand = new DisableCommand(this.out); String table = null; jj_consume_token(DISABLE); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ALL: + jj_consume_token(ALL); + disableCommand.setAll(true); + {if (true) return disableCommand;} + break; + default: + jj_la1[31] = jj_gen; + ; + } table = identifier(); disableCommand.setTable(table); {if (true) return disableCommand;} @@ -833,7 +871,7 @@ ; break; default: - jj_la1[29] = jj_gen; + jj_la1[32] = jj_gen; break label_6; } jj_consume_token(COMMA); @@ -859,7 +897,7 @@ s = jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[30] = jj_gen; + jj_la1[33] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -880,7 +918,7 @@ s = jj_consume_token(ASTERISK); break; default: - jj_la1[31] = jj_gen; + jj_la1[34] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -888,7 +926,7 @@ {if (true) return value;} break; default: - jj_la1[32] = jj_gen; + jj_la1[35] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -912,7 +950,7 @@ col = jj_consume_token(ASTERISK); break; default: - jj_la1[33] = jj_gen; + jj_la1[36] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -928,7 +966,7 @@ col = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[34] = jj_gen; + jj_la1[37] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -935,7 +973,7 @@ {if (true) return col.image.substring(1,col.image.toString().length() - 1);} break; default: - jj_la1[35] = jj_gen; + jj_la1[38] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -955,7 +993,7 @@ ; break; default: - jj_la1[36] = jj_gen; + jj_la1[39] = jj_gen; break label_7; } jj_consume_token(COMMA); @@ -979,7 +1017,7 @@ ; break; default: - jj_la1[37] = jj_gen; + jj_la1[40] = jj_gen; break label_8; } jj_consume_token(COMMA); @@ -1006,7 +1044,7 @@ ; break; default: - jj_la1[38] = jj_gen; + jj_la1[41] = jj_gen; break label_9; } jj_consume_token(COMMA); @@ -1028,7 +1066,7 @@ t = jj_consume_token(INTEGER_LITERAL); break; default: - jj_la1[39] = jj_gen; + jj_la1[42] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1057,7 +1095,7 @@ t = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[40] = jj_gen; + jj_la1[43] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1064,7 +1102,7 @@ {if (true) return t.image.substring(1,t.image.toString().length() - 1);} break; default: - jj_la1[41] = jj_gen; + jj_la1[44] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1085,18 +1123,12 @@ finally { jj_save(0, xla); } } - 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_12() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(67)) { + if (jj_scan_token(68)) { jj_scanpos = xsp; - if (jj_scan_token(68)) return true; + if (jj_scan_token(69)) return true; } return false; } @@ -1116,6 +1148,12 @@ return false; } + final private boolean jj_3_1() { + if (jj_scan_token(ADD)) return true; + if (jj_3R_10()) return true; + return false; + } + public HQLParserTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; @@ -1125,7 +1163,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[45]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -1135,13 +1173,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[] {0xf3ffe0,0xf3ffe1,0xf3ffe0,0x0,0x0,0x0,0x0,0xf3dbc0,0xf3dbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x80000000,0x0,0x2000000,0x0,0x3000000,0x8000000,0x3000000,0x80000000,0x0,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,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x0,0xe71c000,0xe0000,0x1c00000,0xe71c000,0x10,0x10,0x30000000,0x0,0x0,0x0,0x0,0xc0002000,0x0,0x0,0x0,0x0,0x1,0x2,0x10,0x0,0x80002000,0x80002000,0x80002000,0x0,0x80002000,0x10,0x10,0x10,0x80000000,0x0,0x80000000,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ce38000,0x1c0000,0x3800000,0x1ce38000,0x10,0x10,0x60000000,0x4000,0x0,0x0,0x0,0x0,0x80002000,0x0,0x0,0x0,0x0,0x1,0x2,0x4000,0x4000,0x10,0x0,0x2000,0x2000,0x2000,0x0,0x2000,0x10,0x10,0x10,0x0,0x0,0x0,}; } private static void jj_la1_2() { - jj_la1_2 = new int[] {0x0,0x20,0x0,0x0,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,}; + jj_la1_2 = new int[] {0x0,0x40,0x0,0x1,0x7,0x7,0x31,0x1,0x1,0x31,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x30,0x0,0x33,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x3,0x33,0x3,0x30,0x33,0x0,0x0,0x0,0x3,0x30,0x31,}; } final private JJCalls[] jj_2_rtns = new JJCalls[1]; private boolean jj_rescan = false; @@ -1156,7 +1194,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1169,7 +1207,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1179,7 +1217,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1189,7 +1227,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1198,7 +1236,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1207,7 +1245,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 < 45; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1318,8 +1356,8 @@ public ParseException generateParseException() { jj_expentries.removeAllElements(); - boolean[] la1tokens = new boolean[70]; - for (int i = 0; i < 70; i++) { + boolean[] la1tokens = new boolean[71]; + for (int i = 0; i < 71; i++) { la1tokens[i] = false; } if (jj_kind >= 0) { @@ -1326,7 +1364,7 @@ la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 42; i++) { + for (int i = 0; i < 45; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1< 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAddStates(0, 6); } else if ((0x400e00000000000L & l) != 0L) @@ -1254,8 +1256,8 @@ } else if ((0x400e00000000000L & l) != 0L) { - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAdd(1); } else if (curChar == 39) @@ -1268,8 +1270,8 @@ case 1: if ((0x7ffe00000000000L & l) == 0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAdd(1); break; case 2: @@ -1279,8 +1281,8 @@ case 3: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAddTwoStates(3, 4); break; case 5: @@ -1290,8 +1292,8 @@ case 6: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAdd(6); break; case 7: @@ -1303,8 +1305,8 @@ jjCheckNAddTwoStates(8, 9); break; case 9: - if (curChar == 34 && kind > 67) - kind = 67; + if (curChar == 34 && kind > 68) + kind = 68; break; case 10: if (curChar == 39) @@ -1327,8 +1329,8 @@ jjCheckNAddStates(10, 12); break; case 15: - if (curChar == 39 && kind > 68) - kind = 68; + if (curChar == 39 && kind > 69) + kind = 69; break; case 16: if ((0x3ff000000000000L & l) == 0L) @@ -1333,8 +1335,8 @@ case 16: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAddStates(0, 6); break; case 17: @@ -1340,8 +1342,8 @@ case 17: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 64) - kind = 64; + if (kind > 65) + kind = 65; jjCheckNAdd(17); break; case 18: @@ -1355,8 +1357,8 @@ case 20: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAddTwoStates(20, 21); break; case 22: @@ -1366,8 +1368,8 @@ case 23: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAdd(23); break; case 24: @@ -1381,8 +1383,8 @@ case 27: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAdd(27); break; case 28: @@ -1388,8 +1390,8 @@ case 28: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAddTwoStates(28, 29); break; case 30: @@ -1399,8 +1401,8 @@ case 31: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 66) + kind = 66; jjCheckNAdd(31); break; default : break; @@ -1418,8 +1420,8 @@ case 1: if ((0x47fffffe87fffffeL & l) == 0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; jjCheckNAdd(1); break; case 4: @@ -1498,7 +1500,7 @@ 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, -null, null, "\73", }; +null, null, null, "\73", }; public static final String[] lexStateNames = { "DEFAULT", }; @@ -1503,7 +1505,7 @@ "DEFAULT", }; static final long[] jjtoToken = { - 0xffffffffffffffe1L, 0x3bL, + 0xffffffffffffffe1L, 0x77L, }; static final long[] jjtoSkip = { 0x1eL, 0x0L, Index: src/java/org/apache/hadoop/hbase/hql/HelpCommand.java =================================================================== --- src/java/org/apache/hadoop/hbase/hql/HelpCommand.java (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/HelpCommand.java (working copy) @@ -81,6 +81,12 @@ load.put("DESCRIBE", new String[] { "Print table information", "[DESCRIBE|DESC] table_name;" }); + load.put("ENABLE", new String[] { "Enable table lock", + "ENABLE [ALL|table_name];" }); + + load.put("DISABLE", new String[] { "Disable table lock", + "DISABLE [ALL|table_name];" }); + load .put( "CREATE", @@ -91,7 +97,7 @@ + "[BLOOMFILTER=NONE|BLOOMFILTER|COUNTING_BLOOMFILTER|RETOUCHED_BLOOMFILTER " + "VECTOR_SIZE=n NUM_HASH=n], " + "...)" }); load.put("DROP", new String[] { "Drop tables", - "DROP TABLE table_name [, table_name] ...;" }); + "DROP [ALL|TABLE table_name [, table_name] ...];" }); load.put("INSERT", new String[] { "Insert values into table", Index: src/java/org/apache/hadoop/hbase/hql/HQLParser.jj =================================================================== --- src/java/org/apache/hadoop/hbase/hql/HQLParser.jj (revision 630715) +++ src/java/org/apache/hadoop/hbase/hql/HQLParser.jj (working copy) @@ -111,6 +111,7 @@ | | + | | | | @@ -279,6 +280,8 @@ | t= | t= | t= + | t= + | t= ) { argument = t.image.toString(); } ] @@ -490,6 +493,13 @@ } { + [ + + { + drop.setAll(true); + return drop; + } + ] tableList = tableList() { @@ -641,6 +651,13 @@ } { + [ + + { + enableCommand.setAll(true); + return enableCommand; + } + ] table = identifier() { enableCommand.setTable(table); @@ -655,8 +672,15 @@ } { + [ + + { + disableCommand.setAll(true); + return disableCommand; + } + ] table = identifier() - { + { disableCommand.setTable(table); return disableCommand; }