Author: stack Date: Mon Dec 3 18:48:49 2007 New Revision: 600771 URL: http://svn.apache.org/viewvc?rev=600771&view=rev Log: HADOOP-2339 Delete command with no WHERE clause
Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt?rev=600771&r1=600770&r2=600771&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt (original) +++ lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt Mon Dec 3 18:48:49 2007 @@ -85,6 +85,8 @@ (Edward Yoon via Stack) HADOOP-2224 Add HTable.getRow(ROW, ts) (Bryan Duxbury via Stack) + HADOOP-2339 Delete command with no WHERE clause + (Edward Yoon via Stack) Release 0.15.1 Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java?rev=600771&r1=600770&r2=600771&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java Mon Dec 3 18:48:49 2007 @@ -39,8 +39,8 @@ super(o); } - private String tableName; - private String rowKey; + private Text tableName; + private Text rowKey; private List<String> columnList; public ReturnMsg execute(HBaseConfiguration conf) { @@ -49,17 +49,27 @@ } try { HConnection conn = HConnectionManager.getConnection(conf); - if (!conn.tableExists(new Text(this.tableName))) { - return new ReturnMsg(0, "'" + this.tableName + "'" + TABLE_NOT_FOUND); + if (!conn.tableExists(tableName)) { + return new ReturnMsg(0, "'" + tableName + "'" + TABLE_NOT_FOUND); } HBaseAdmin admin = new HBaseAdmin(conf); - HTable hTable = new HTable(conf, new Text(tableName)); - long lockID = hTable.startUpdate(new Text(rowKey)); - for (Text column : getColumnList(admin, hTable)) { - hTable.delete(lockID, new Text(column)); + HTable hTable = new HTable(conf, tableName); + + if (rowKey != null) { + long lockID = hTable.startUpdate(rowKey); + for (Text column : getColumnList(admin, hTable)) { + hTable.delete(lockID, new Text(column)); + } + hTable.commit(lockID); + } else { + admin.disableTable(tableName); + for (Text column : getColumnList(admin, hTable)) { + admin.deleteColumn(tableName, new Text(column)); + } + admin.enableTable(tableName); } - hTable.commit(lockID); + return new ReturnMsg(1, "Column(s) deleted successfully."); } catch (IOException e) { String[] msg = e.getMessage().split("[\n]"); @@ -67,12 +77,12 @@ } } - public void setTable(String table) { - this.tableName = table; + public void setTable(String tableName) { + this.tableName = new Text(tableName); } public void setRow(String row) { - this.rowKey = row; + this.rowKey = new Text(row); } /** Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj?rev=600771&r1=600770&r2=600771&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj Mon Dec 3 18:48:49 2007 @@ -543,12 +543,13 @@ deleteCommand.setTable(table); } - <WHERE> - <ROW> <EQUALS> ( t=<STRING_LITERAL> | t=<QUOTED_IDENTIFIER> ) - { - deleteCommand.setRow(t.image.substring(1, t.image.length()-1)); - } - + [ + <WHERE> + <ROW> <EQUALS> ( t=<STRING_LITERAL> | t=<QUOTED_IDENTIFIER> ) + { + deleteCommand.setRow(t.image.substring(1, t.image.length()-1)); + } + ] { return deleteCommand; } } Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java?rev=600771&r1=600770&r2=600771&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java Mon Dec 3 18:48:49 2007 @@ -671,22 +671,29 @@ jj_consume_token(FROM); table = identifier(); deleteCommand.setTable(table); - jj_consume_token(WHERE); - jj_consume_token(ROW); - jj_consume_token(EQUALS); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING_LITERAL: - t = jj_consume_token(STRING_LITERAL); - break; - case QUOTED_IDENTIFIER: - t = jj_consume_token(QUOTED_IDENTIFIER); + case WHERE: + jj_consume_token(WHERE); + jj_consume_token(ROW); + jj_consume_token(EQUALS); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case STRING_LITERAL: + t = jj_consume_token(STRING_LITERAL); + break; + case QUOTED_IDENTIFIER: + t = jj_consume_token(QUOTED_IDENTIFIER); + break; + default: + jj_la1[20] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + deleteCommand.setRow(t.image.substring(1, t.image.length()-1)); break; default: - jj_la1[20] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + jj_la1[21] = jj_gen; + ; } - deleteCommand.setRow(t.image.substring(1, t.image.length()-1)); {if (true) return deleteCommand;} throw new Error("Missing return statement in function"); } @@ -720,7 +727,7 @@ jj_consume_token(FROM); break; default: - jj_la1[21] = jj_gen; + jj_la1[22] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -728,7 +735,7 @@ select.setRowKey(rowKey); break; default: - jj_la1[22] = jj_gen; + jj_la1[23] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -738,7 +745,7 @@ select.setTimestamp(timestamp); break; default: - jj_la1[23] = jj_gen; + jj_la1[24] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -749,7 +756,7 @@ select.setVersion(numVersion); break; default: - jj_la1[24] = jj_gen; + jj_la1[25] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -764,7 +771,7 @@ } break; default: - jj_la1[25] = jj_gen; + jj_la1[26] = jj_gen; ; } {if (true) return select;} @@ -845,7 +852,7 @@ } break; default: - jj_la1[26] = jj_gen; + jj_la1[27] = jj_gen; ; } break; @@ -871,7 +878,7 @@ substitute.setCondition(condition); break; default: - jj_la1[27] = jj_gen; + jj_la1[28] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -912,7 +919,7 @@ ; break; default: - jj_la1[28] = jj_gen; + jj_la1[29] = jj_gen; break label_7; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -935,14 +942,14 @@ jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[29] = jj_gen; + jj_la1[30] = jj_gen; jj_consume_token(-1); throw new ParseException(); } values.removeAll(values); break; default: - jj_la1[30] = jj_gen; + jj_la1[31] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -962,7 +969,7 @@ s = jj_consume_token(QUOTED_IDENTIFIER); break; default: - jj_la1[31] = jj_gen; + jj_la1[32] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -988,7 +995,7 @@ col = jj_consume_token(ASTERISK); break; default: - jj_la1[32] = jj_gen; + jj_la1[33] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1004,14 +1011,14 @@ col = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[33] = jj_gen; + jj_la1[34] = jj_gen; jj_consume_token(-1); throw new ParseException(); } {if (true) return col.image.substring(1,col.image.toString().length() - 1);} break; default: - jj_la1[34] = jj_gen; + jj_la1[35] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1031,7 +1038,7 @@ ; break; default: - jj_la1[35] = jj_gen; + jj_la1[36] = jj_gen; break label_8; } jj_consume_token(COMMA); @@ -1055,7 +1062,7 @@ ; break; default: - jj_la1[36] = jj_gen; + jj_la1[37] = jj_gen; break label_9; } jj_consume_token(COMMA); @@ -1082,7 +1089,7 @@ ; break; default: - jj_la1[37] = jj_gen; + jj_la1[38] = jj_gen; break label_10; } jj_consume_token(COMMA); @@ -1117,7 +1124,7 @@ t = jj_consume_token(ROOT_TABLE); break; default: - jj_la1[38] = jj_gen; + jj_la1[39] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1133,14 +1140,14 @@ t = jj_consume_token(STRING_LITERAL); break; default: - jj_la1[39] = jj_gen; + jj_la1[40] = jj_gen; jj_consume_token(-1); throw new ParseException(); } {if (true) return t.image.substring(1,t.image.toString().length() - 1);} break; default: - jj_la1[40] = jj_gen; + jj_la1[41] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1165,7 +1172,7 @@ ; break; default: - jj_la1[41] = jj_gen; + jj_la1[42] = jj_gen; break label_11; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -1178,7 +1185,7 @@ connector = " OR "; break; default: - jj_la1[42] = jj_gen; + jj_la1[43] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1222,13 +1229,13 @@ searchName += ".ROW"; break; default: - jj_la1[43] = jj_gen; + jj_la1[44] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[44] = jj_gen; + jj_la1[45] = jj_gen; ; } comparator = getComparator(); @@ -1258,13 +1265,13 @@ comparand += "." + joinColumn.image.toString(); break; default: - jj_la1[45] = jj_gen; + jj_la1[46] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[46] = jj_gen; + jj_la1[47] = jj_gen; ; } break; @@ -1284,7 +1291,7 @@ } break; default: - jj_la1[47] = jj_gen; + jj_la1[48] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1313,7 +1320,7 @@ comparator += "="; break; default: - jj_la1[48] = jj_gen; + jj_la1[49] = jj_gen; ; } break; @@ -1326,7 +1333,7 @@ comparator += "="; break; default: - jj_la1[49] = jj_gen; + jj_la1[50] = jj_gen; ; } break; @@ -1339,7 +1346,7 @@ comparator = ">" + comparator; break; default: - jj_la1[50] = jj_gen; + jj_la1[51] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -1348,7 +1355,7 @@ comparator = "<" + comparator; break; default: - jj_la1[51] = jj_gen; + jj_la1[52] = jj_gen; ; } break; @@ -1366,7 +1373,7 @@ comparator = "=="; break; default: - jj_la1[52] = jj_gen; + jj_la1[53] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -1388,12 +1395,6 @@ finally { jj_save(0, xla); } } - final private boolean jj_3_1() { - if (jj_scan_token(ADD)) return true; - if (jj_3R_12()) return true; - return false; - } - final private boolean jj_3R_12() { Token xsp; xsp = jj_scanpos; @@ -1404,6 +1405,12 @@ return false; } + final private boolean jj_3_1() { + if (jj_scan_token(ADD)) return true; + if (jj_3R_12()) return true; + return false; + } + final private boolean jj_3R_14() { Token xsp; xsp = jj_scanpos; @@ -1436,7 +1443,7 @@ public boolean lookingAhead = false; private boolean jj_semLA; private int jj_gen; - final private int[] jj_la1 = new int[53]; + final private int[] jj_la1 = new int[54]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -1446,13 +1453,13 @@ jj_la1_2(); } private static void jj_la1_0() { - jj_la1_0 = new int[] {0x79ffe0,0x79ffe1,0x79ffe0,0x0,0x0,0x0,0x0,0x0,0x19fbc0,0x19fbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x1800000,0x1800000,0x20000000,0x40000000,0x80000000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x79ffe0,0x79ffe1,0x79ffe0,0x0,0x0,0x0,0x0,0x0,0x19fbc0,0x19fbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x1000000,0x1800000,0x1800000,0x20000000,0x40000000,0x80000000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_1() { - jj_la1_1 = new int[] {0x40000000,0x40000000,0x40000000,0x0,0x8,0x8,0x0,0x0,0xc0000000,0xc0000000,0x30000000,0x0,0x398e000,0x70000,0x700000,0x398e000,0x4,0x4,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x80000000,0x4,0x0,0x4,0x0,0x1000,0x0,0x1000,0x4,0x4,0x4,0x30000000,0x0,0x30000000,0x3,0x3,0x0,0x8,0x0,0x8,0x10,0x40,0x40,0x80,0x100,0xfc0,}; + jj_la1_1 = new int[] {0x40000000,0x40000000,0x40000000,0x0,0x8,0x8,0x0,0x0,0xc0000000,0xc0000000,0x30000000,0x0,0x398e000,0x70000,0x700000,0x398e000,0x4,0x4,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x80000000,0x4,0x0,0x4,0x0,0x1000,0x0,0x1000,0x4,0x4,0x4,0x30000000,0x0,0x30000000,0x3,0x3,0x0,0x8,0x0,0x8,0x10,0x40,0x40,0x80,0x100,0xfc0,}; } private static void jj_la1_2() { - jj_la1_2 = new int[] {0x2,0x82,0x2,0x2,0xe,0xe,0xe,0xe,0x2,0x2,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x62,0x62,0x62,0x60,0x6,0x60,0x66,0x0,0x0,0x0,0x2,0x60,0x62,0x0,0x0,0x2,0x0,0x2,0x0,0x46,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_2 = new int[] {0x2,0x82,0x2,0x2,0xe,0xe,0xe,0xe,0x2,0x2,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x62,0x62,0x62,0x60,0x6,0x60,0x66,0x0,0x0,0x0,0x2,0x60,0x62,0x0,0x0,0x2,0x0,0x2,0x0,0x46,0x0,0x0,0x0,0x0,0x0,}; } final private JJCalls[] jj_2_rtns = new JJCalls[1]; private boolean jj_rescan = false; @@ -1467,7 +1474,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1480,7 +1487,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1490,7 +1497,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1500,7 +1507,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1509,7 +1516,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1518,7 +1525,7 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 53; i++) jj_la1[i] = -1; + for (int i = 0; i < 54; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -1637,7 +1644,7 @@ la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 53; i++) { + for (int i = 0; i < 54; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<<j)) != 0) {