[ 
https://issues.apache.org/jira/browse/HIVE-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13059175#comment-13059175
 ] 

jirapos...@reviews.apache.org commented on HIVE-1537:
-----------------------------------------------------


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



trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
<https://reviews.apache.org/r/949/#comment2036>

    If location already exists then create db will fail. This differs from 
create table semantics, where if location already exists then create table 
succeeds. I think we should follow create table in both semantics as well as 
code-wise, which does as follows:
     if (!wh.isDir(tblPath)) {
                if (!wh.mkdirs(tblPath)) {
                  throw new MetaException(tblPath
                      + " is not a directory or unable to create one");
                }
                madeDir = true;
              }
    
    Also note that fs operations are done within transaction. 


w.r.t deprecation Vs deletion of path api, I agree with Thiruvel's analysis, 
that its best to delete the api, since the old one will be buggy with these 
changes and also then there will be multiple ways to get path which will be 
confusing.

- Ashutosh


On 2011-06-29 11:17:50, Thiruvel Thirumoolan wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/949/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-06-29 11:17:50)
bq.  
bq.  
bq.  Review request for hive, Ning Zhang and Amareshwari Sriramadasu.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Usage:
bq.  
bq.  create database location 'path1';
bq.  alter database location 'path2';
bq.  
bq.  After 'alter', only newly created tables will be located under the new 
location. Tables created before 'alter' will be under 'path1'.
bq.  
bq.  Notes:
bq.  ------
bq.  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.
bq.  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).
bq.  
bq.  
bq.  This addresses bug HIVE-1537.
bq.      https://issues.apache.org/jira/browse/HIVE-1537
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java 
1140495 
bq.    
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 
1140495 
bq.    trunk/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java 
1140495 
bq.    
trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
 1140495 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/StatsTask.java 1140495 
bq.    
trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 
1140495 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g 1140495 
bq.    
trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java 
1140495 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 
1140495 
bq.    trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java 
1140495 
bq.    trunk/ql/src/test/queries/clientpositive/database_location.q 
PRE-CREATION 
bq.    trunk/ql/src/test/results/clientpositive/database_location.q.out 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/949/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  1. Updated TestHiveMetaStore.java for testing the functionality - database 
creation, alteration and table's locations as TestCliDriver outputs ignore 
locations.
bq.  2. Added database_location.q for testing the grammar primarily.
bq.  
bq.  Thanks,
bq.  Thiruvel
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Thiruvel
bq.  
bq.



> Allow users to specify LOCATION in CREATE DATABASE statement
> ------------------------------------------------------------
>
>                 Key: HIVE-1537
>                 URL: https://issues.apache.org/jira/browse/HIVE-1537
>             Project: Hive
>          Issue Type: New Feature
>          Components: Metastore
>            Reporter: Carl Steinbach
>            Assignee: Thiruvel Thirumoolan
>         Attachments: HIVE-1537.patch, hive-1537.metastore.part.patch
>
>


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to