-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/949/
-----------------------------------------------------------

Review request for hive, Ning Zhang and Amareshwari Sriramadasu.


Summary
-------

Usage:

create database location 'path1';
alter database location 'path2';

After 'alter', only newly created tables will be located under the new 
location. Tables created before 'alter' will be under 'path1'.

Notes:
------
1. I have moved getDefaultDatabasePath() to HiveMetaStore and made it private. 
There should only be one API to obtain the location of a database and it has to 
accept 'Database' as an arg and hence the new method in Warehouse 
'getDatabasePath()' and similarly 'getTablePath()'. The usages of older API 
also has been changed. Hope that should be fine.
2. One could argue why have getDatabasePath() as location can be obtained by 
db.getLocationUri(). I wanted to retain this method to do any additional 
processing if necessary (getDns or whatever).


This addresses bug HIVE-1537.
    https://issues.apache.org/jira/browse/HIVE-1537


Diffs
-----

  
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java 
1138011 
  trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 
1138011 
  trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java 
1138011 
  trunk/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java 
1138011 
  
trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
 1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/StatsTask.java 1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 
1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g 1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java 
1138011 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 
1138011 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java 
1138011 
  trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java 1138011 
  trunk/ql/src/test/queries/clientpositive/database_location.q PRE-CREATION 
  trunk/ql/src/test/results/clientpositive/database_location.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/949/diff


Testing
-------

1. Updated TestHiveMetaStore.java for testing the functionality - database 
creation, alteration and table's locations as TestCliDriver outputs ignore 
locations.
2. Added database_location.q for testing the grammar primarily.

Thanks,
Thiruvel


Thanks,

Thiruvel

Reply via email to