1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.hadoop.hbase.hbql.statement;
22
23 import org.apache.hadoop.hbase.client.HBaseAdmin;
24 import org.apache.hadoop.hbase.hbql.client.HBqlException;
25 import org.apache.hadoop.hbase.hbql.impl.HConnectionImpl;
26
27 import java.io.IOException;
28
29 public class DropFamilyAction implements AlterTableAction {
30
31 private final String familyName;
32
33 public DropFamilyAction(final String familyName) {
34 this.familyName = familyName;
35 }
36
37 private String getFamilyName() {
38 return this.familyName;
39 }
40
41 public void execute(final HConnectionImpl conn,
42 final HBaseAdmin admin,
43 final String tableName) throws HBqlException {
44 try {
45 conn.validateFamilyExistsForTable(this.getFamilyName(), tableName);
46 admin.deleteColumn(tableName, this.getFamilyName());
47 }
48 catch (IOException e) {
49 throw new HBqlException(e);
50 }
51 }
52 }