You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2010/11/19 21:09:38 UTC
svn commit: r1036999 [2/2] - in /hive/trunk: ./ metastore/if/
metastore/src/gen-cpp/
metastore/src/gen-javabean/org/apache/hadoop/hive/metastore/api/
metastore/src/gen-php/ metastore/src/gen-py/hive_metastore/
metastore/src/java/org/apache/hadoop/hive/...
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java?rev=1036999&r1=1036998&r2=1036999&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java Fri Nov 19 20:09:37 2010
@@ -55,6 +55,8 @@ public final class SemanticAnalyzerFacto
commandType.put(HiveParser.TOK_ALTERTABLE_PROPERTIES, "ALTERTABLE_PROPERTIES");
commandType.put(HiveParser.TOK_ALTERTABLE_SERIALIZER, "ALTERTABLE_SERIALIZER");
commandType.put(HiveParser.TOK_ALTERTABLE_SERDEPROPERTIES, "ALTERTABLE_SERDEPROPERTIES");
+ commandType.put(HiveParser.TOK_ALTERINDEX_REBUILD, "ALTERINDEX_REBUILD");
+ commandType.put(HiveParser.TOK_ALTERINDEX_PROPERTIES, "ALTERINDEX_PROPS");
commandType.put(HiveParser.TOK_SHOWDATABASES, "SHOWDATABASES");
commandType.put(HiveParser.TOK_SHOWTABLES, "SHOWTABLES");
commandType.put(HiveParser.TOK_SHOW_TABLESTATUS, "SHOW_TABLESTATUS");
@@ -68,7 +70,6 @@ public final class SemanticAnalyzerFacto
commandType.put(HiveParser.TOK_DROPVIEW, "DROPVIEW");
commandType.put(HiveParser.TOK_CREATEINDEX, "CREATEINDEX");
commandType.put(HiveParser.TOK_DROPINDEX, "DROPINDEX");
- commandType.put(HiveParser.TOK_ALTERINDEX_REBUILD, "ALTERINDEX_REBUILD");
commandType.put(HiveParser.TOK_ALTERVIEW_PROPERTIES, "ALTERVIEW_PROPERTIES");
commandType.put(HiveParser.TOK_QUERY, "QUERY");
commandType.put(HiveParser.TOK_LOCKTABLE, "LOCKTABLE");
@@ -115,6 +116,7 @@ public final class SemanticAnalyzerFacto
case HiveParser.TOK_ALTERTABLE_SERIALIZER:
case HiveParser.TOK_ALTERTABLE_SERDEPROPERTIES:
case HiveParser.TOK_ALTERINDEX_REBUILD:
+ case HiveParser.TOK_ALTERINDEX_PROPERTIES:
case HiveParser.TOK_ALTERVIEW_PROPERTIES:
case HiveParser.TOK_SHOWDATABASES:
case HiveParser.TOK_SHOWTABLES:
Added: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java?rev=1036999&view=auto
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java (added)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java Fri Nov 19 20:09:37 2010
@@ -0,0 +1,135 @@
+/**
+ * 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.hive.ql.plan;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import org.apache.hadoop.hive.metastore.api.FieldSchema;
+import org.apache.hadoop.hive.metastore.api.Order;
+import org.apache.hadoop.hive.ql.exec.Utilities;
+
+/**
+ * AlterIndexDesc.
+ *
+ */
+@Explain(displayName = "Alter Index")
+public class AlterIndexDesc extends DDLDesc implements Serializable {
+ private static final long serialVersionUID = 1L;
+ private String indexName;
+ private String baseTable;
+ private String dbName;
+ private HashMap<String, String> props;
+
+ /**
+ * alterIndexTypes.
+ *
+ */
+ public static enum AlterIndexTypes {
+ ADDPROPS};
+
+ AlterIndexTypes op;
+
+ public AlterIndexDesc() {
+ }
+
+ public AlterIndexDesc(AlterIndexTypes type) {
+ this.op = type;
+ }
+
+ /**
+ * @return the name of the index
+ */
+ @Explain(displayName = "name")
+ public String getIndexName() {
+ return indexName;
+ }
+
+ /**
+ * @param indexName
+ * the indexName to set
+ */
+ public void setIndexName(String indexName) {
+ this.indexName = indexName;
+ }
+
+ /**
+ * @return the baseTable
+ */
+ @Explain(displayName = "new name")
+ public String getBaseTableName() {
+ return baseTable;
+ }
+
+ /**
+ * @param baseTable
+ * the baseTable to set
+ */
+ public void setBaseTableName(String baseTable) {
+ this.baseTable = baseTable;
+ }
+
+ /**
+ * @return the name of the database that the base table is in
+ */
+ public String getDbName() {
+ return dbName;
+ }
+
+ /**
+ * @param dbName
+ * the dbName to set
+ */
+ public void setDbName(String dbName) {
+ this.dbName = dbName;
+ }
+
+ /**
+ * @return the op
+ */
+ public AlterIndexTypes getOp() {
+ return op;
+ }
+
+ /**
+ * @param op
+ * the op to set
+ */
+ public void setOp(AlterIndexTypes op) {
+ this.op = op;
+ }
+
+ /**
+ * @return the props
+ */
+ @Explain(displayName = "properties")
+ public HashMap<String, String> getProps() {
+ return props;
+ }
+
+ /**
+ * @param props
+ * the props to set
+ */
+ public void setProps(HashMap<String, String> props) {
+ this.props = props;
+ }
+}
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java?rev=1036999&r1=1036998&r2=1036999&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java Fri Nov 19 20:09:37 2010
@@ -31,6 +31,7 @@ import org.apache.hadoop.hive.ql.hooks.W
public class DDLWork implements Serializable {
private static final long serialVersionUID = 1L;
private CreateIndexDesc createIndexDesc;
+ private AlterIndexDesc alterIndexDesc;
private DropIndexDesc dropIdxDesc;
private CreateDatabaseDesc createDatabaseDesc;
private SwitchDatabaseDesc switchDatabaseDesc;
@@ -40,6 +41,7 @@ public class DDLWork implements Serializ
private CreateViewDesc createVwDesc;
private DropTableDesc dropTblDesc;
private AlterTableDesc alterTblDesc;
+ private AlterIndexDesc alterIdxDesc;
private ShowDatabasesDesc showDatabasesDesc;
private ShowTablesDesc showTblsDesc;
private LockTableDesc lockTblDesc;
@@ -76,6 +78,10 @@ public class DDLWork implements Serializ
this.createIndexDesc = createIndex;
}
+ public DDLWork(AlterIndexDesc alterIndex) {
+ this.alterIndexDesc = alterIndex;
+ }
+
/**
* @param createDatabaseDesc
* Create Database descriptor
@@ -117,6 +123,16 @@ public class DDLWork implements Serializ
}
/**
+ * @param alterIdxDesc
+ * alter index descriptor
+ */
+ public DDLWork(HashSet<ReadEntity> inputs, HashSet<WriteEntity> outputs,
+ AlterIndexDesc alterIdxDesc) {
+ this(inputs, outputs);
+ this.alterIdxDesc = alterIdxDesc;
+ }
+
+ /**
* @param createTblDesc
* create table descriptor
*/
@@ -362,16 +378,38 @@ public class DDLWork implements Serializ
public void setCreateTblDesc(CreateTableDesc createTblDesc) {
this.createTblDesc = createTblDesc;
}
-
+
+ /**
+ * @return the createIndexDesc
+ */
public CreateIndexDesc getCreateIndexDesc() {
return createIndexDesc;
}
+ /**
+ * @param createIndexDesc
+ * the createIndexDesc to set
+ */
public void setCreateIndexDesc(CreateIndexDesc createIndexDesc) {
this.createIndexDesc = createIndexDesc;
}
/**
+ * @return the alterIndexDesc
+ */
+ public AlterIndexDesc getAlterIndexDesc() {
+ return alterIndexDesc;
+ }
+
+ /**
+ * @param alterTblDesc
+ * the alterTblDesc to set
+ */
+ public void setAlterIndexDesc(AlterIndexDesc alterIndexDesc) {
+ this.alterIndexDesc = alterIndexDesc;
+ }
+
+ /**
* @return the createTblDesc
*/
@Explain(displayName = "Create Table Operator")
Added: hive/trunk/ql/src/test/queries/clientpositive/alter_index.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/alter_index.q?rev=1036999&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/alter_index.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/alter_index.q Fri Nov 19 20:09:37 2010
@@ -0,0 +1,11 @@
+drop index src_index_8 on src;
+
+create index src_index_8 on table src(key) as 'compact' WITH DEFERRED REBUILD IDXPROPERTIES ("prop1"="val1", "prop2"="val2");
+desc extended default__src_src_index_8__;
+
+alter index src_index_8 on src set IDXPROPERTIES ("prop1"="val1_new", "prop3"="val3");
+desc extended default__src_src_index_8__;
+
+drop index src_index_8 on src;
+
+show tables;
Added: hive/trunk/ql/src/test/results/clientpositive/alter_index.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/alter_index.q.out?rev=1036999&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/alter_index.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/alter_index.q.out Fri Nov 19 20:09:37 2010
@@ -0,0 +1,46 @@
+PREHOOK: query: drop index src_index_8 on src
+PREHOOK: type: DROPINDEX
+POSTHOOK: query: drop index src_index_8 on src
+POSTHOOK: type: DROPINDEX
+PREHOOK: query: create index src_index_8 on table src(key) as 'compact' WITH DEFERRED REBUILD IDXPROPERTIES ("prop1"="val1", "prop2"="val2")
+PREHOOK: type: CREATEINDEX
+POSTHOOK: query: create index src_index_8 on table src(key) as 'compact' WITH DEFERRED REBUILD IDXPROPERTIES ("prop1"="val1", "prop2"="val2")
+POSTHOOK: type: CREATEINDEX
+PREHOOK: query: desc extended default__src_src_index_8__
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: desc extended default__src_src_index_8__
+POSTHOOK: type: DESCTABLE
+key string default
+_bucketname string
+_offsets array<bigint>
+
+Detailed Table Information Table(tableName:default__src_src_index_8__, dbName:default, owner:null, createTime:1288855262, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:key, type:string, comment:default), FieldSchema(name:_bucketname, type:string, comment:), FieldSchema(name:_offsets, type:array<bigint>, comment:)], location:pfile:/home/mwang/Projects/hive/build/ql/test/data/warehouse/default__src_src_index_8__, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[Order(col:key, order:1)], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1288855262}, viewOriginalText:null, viewExpandedText:null, tableType:INDEX_TABLE)
+PREHOOK: query: alter index src_index_8 on src set IDXPROPERTIES ("prop1"="val1_new", "prop3"="val3")
+PREHOOK: type: ALTERINDEX_PROPS
+POSTHOOK: query: alter index src_index_8 on src set IDXPROPERTIES ("prop1"="val1_new", "prop3"="val3")
+POSTHOOK: type: ALTERINDEX_PROPS
+PREHOOK: query: desc extended default__src_src_index_8__
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: desc extended default__src_src_index_8__
+POSTHOOK: type: DESCTABLE
+key string default
+_bucketname string
+_offsets array<bigint>
+
+Detailed Table Information Table(tableName:default__src_src_index_8__, dbName:default, owner:null, createTime:1288855262, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:key, type:string, comment:default), FieldSchema(name:_bucketname, type:string, comment:), FieldSchema(name:_offsets, type:array<bigint>, comment:)], location:pfile:/home/mwang/Projects/hive/build/ql/test/data/warehouse/default__src_src_index_8__, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[Order(col:key, order:1)], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1288855262}, viewOriginalText:null, viewExpandedText:null, tableType:INDEX_TABLE)
+PREHOOK: query: drop index src_index_8 on src
+PREHOOK: type: DROPINDEX
+POSTHOOK: query: drop index src_index_8 on src
+POSTHOOK: type: DROPINDEX
+PREHOOK: query: show tables
+PREHOOK: type: SHOWTABLES
+POSTHOOK: query: show tables
+POSTHOOK: type: SHOWTABLES
+src
+src1
+src_json
+src_sequencefile
+src_thrift
+srcbucket
+srcbucket2
+srcpart