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