You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hcatalog-commits@incubator.apache.org by ha...@apache.org on 2011/11/19 20:28:11 UTC
svn commit: r1204069 - in /incubator/hcatalog/trunk: CHANGES.txt
src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java
src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java
Author: hashutosh
Date: Sat Nov 19 20:28:11 2011
New Revision: 1204069
URL: http://svn.apache.org/viewvc?rev=1204069&view=rev
Log:
HCATALOG-125: HCat doesn't support hive's describe database DDL
Modified:
incubator/hcatalog/trunk/CHANGES.txt
incubator/hcatalog/trunk/src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java
incubator/hcatalog/trunk/src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java
Modified: incubator/hcatalog/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/CHANGES.txt?rev=1204069&r1=1204068&r2=1204069&view=diff
==============================================================================
--- incubator/hcatalog/trunk/CHANGES.txt (original)
+++ incubator/hcatalog/trunk/CHANGES.txt Sat Nov 19 20:28:11 2011
@@ -79,6 +79,8 @@ Trunk (unreleased changes)
OPTIMIZATIONS
BUG FIXES
+ HCAT-125. HCat doesn't support hive's describe database DDL (hashutosh)
+
HCAT-159. Build broken by recent Hive changes that move around jar files part-2 (thw via hashutosh)
HCAT-159. Build broken by recent Hive changes that move around jar files (gates)
Modified: incubator/hcatalog/trunk/src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java?rev=1204069&r1=1204068&r2=1204069&view=diff
==============================================================================
--- incubator/hcatalog/trunk/src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java (original)
+++ incubator/hcatalog/trunk/src/java/org/apache/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java Sat Nov 19 20:28:11 2011
@@ -63,13 +63,12 @@ public class HCatSemanticAnalyzer extend
hook = new CreateDatabaseHook();
return hook.preAnalyze(context, ast);
- // DML commands used in HCat where we use the same implementation as default Hive.
+ // HCat will allow these operations to be performed since they are DDL statements.
case HiveParser.TOK_SHOWDATABASES:
case HiveParser.TOK_DROPDATABASE:
case HiveParser.TOK_SWITCHDATABASE:
- return ast;
+ case HiveParser.TOK_DESCDATABASE:
- // HCat will allow these operations to be performed since they are DDL statements.
case HiveParser.TOK_DROPTABLE:
case HiveParser.TOK_DESCTABLE:
case HiveParser.TOK_ALTERTABLE_ADDCOLS:
@@ -138,6 +137,7 @@ public class HCatSemanticAnalyzer extend
authorize(BaseSemanticAnalyzer.unescapeIdentifier(((ASTNode)ast.getChild(0)).getChild(0).getText()), context, FsAction.WRITE, false);
break;
+ case HiveParser.TOK_DESCDATABASE:
case HiveParser.TOK_SWITCHDATABASE:
authorize(BaseSemanticAnalyzer.getUnescapedName((ASTNode)ast.getChild(0)), context, FsAction.READ, true);
break;
Modified: incubator/hcatalog/trunk/src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java?rev=1204069&r1=1204068&r2=1204069&view=diff
==============================================================================
--- incubator/hcatalog/trunk/src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java (original)
+++ incubator/hcatalog/trunk/src/test/org/apache/hcatalog/cli/TestSemanticAnalysis.java Sat Nov 19 20:28:11 2011
@@ -77,6 +77,17 @@ public class TestSemanticAnalysis extend
String query;
private final String tblName = "junit_sem_analysis";
+ public void testDescDB() throws CommandNeedRetryException, IOException {
+ hcatDriver.run("drop database mydb cascade");
+ assertEquals(0, hcatDriver.run("create database mydb").getResponseCode());
+ CommandProcessorResponse resp = hcatDriver.run("describe database mydb");
+ assertEquals(0, resp.getResponseCode());
+ ArrayList<String> result = new ArrayList<String>();
+ hcatDriver.getResults(result);
+ assertTrue(result.get(0).contains("mydb.db"));
+ hcatDriver.run("drop database mydb cascade");
+ }
+
public void testCreateTblWithLowerCasePartNames() throws CommandNeedRetryException, MetaException, TException, NoSuchObjectException{
hiveDriver.run("drop table junit_sem_analysis");
CommandProcessorResponse resp = hiveDriver.run("create table junit_sem_analysis (a int) partitioned by (B string) stored as TEXTFILE");