Search in sources :

Example 1 with CreateResourcePlanDesc

use of org.apache.hadoop.hive.ql.plan.CreateResourcePlanDesc in project hive by apache.

the class DDLSemanticAnalyzer method analyzeCreateResourcePlan.

private void analyzeCreateResourcePlan(ASTNode ast) throws SemanticException {
    if (ast.getChildCount() == 0) {
        throw new SemanticException("Expected name in CREATE RESOURCE PLAN statement");
    }
    String resourcePlanName = unescapeIdentifier(ast.getChild(0).getText());
    Integer queryParallelism = null;
    String likeName = null;
    for (int i = 1; i < ast.getChildCount(); ++i) {
        Tree child = ast.getChild(i);
        switch(child.getType()) {
            case HiveParser.TOK_QUERY_PARALLELISM:
                // Note: later we may be able to set multiple things together (except LIKE).
                if (queryParallelism == null && likeName == null) {
                    queryParallelism = Integer.parseInt(child.getChild(0).getText());
                } else {
                    throw new SemanticException("Conflicting create arguments " + ast.toStringTree());
                }
                break;
            case HiveParser.TOK_LIKERP:
                if (queryParallelism == null && likeName == null) {
                    likeName = unescapeIdentifier(child.getChild(0).getText());
                } else {
                    throw new SemanticException("Conflicting create arguments " + ast.toStringTree());
                }
                break;
            default:
                throw new SemanticException("Invalid create arguments " + ast.toStringTree());
        }
    }
    CreateResourcePlanDesc desc = new CreateResourcePlanDesc(resourcePlanName, queryParallelism, likeName);
    addServiceOutput();
    rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), desc)));
}
Also used : DDLWork(org.apache.hadoop.hive.ql.plan.DDLWork) CreateResourcePlanDesc(org.apache.hadoop.hive.ql.plan.CreateResourcePlanDesc) CommonTree(org.antlr.runtime.tree.CommonTree) Tree(org.antlr.runtime.tree.Tree) SQLUniqueConstraint(org.apache.hadoop.hive.metastore.api.SQLUniqueConstraint) NotNullConstraint(org.apache.hadoop.hive.ql.metadata.NotNullConstraint) DefaultConstraint(org.apache.hadoop.hive.ql.metadata.DefaultConstraint) SQLCheckConstraint(org.apache.hadoop.hive.metastore.api.SQLCheckConstraint) SQLNotNullConstraint(org.apache.hadoop.hive.metastore.api.SQLNotNullConstraint) SQLDefaultConstraint(org.apache.hadoop.hive.metastore.api.SQLDefaultConstraint)

Aggregations

CommonTree (org.antlr.runtime.tree.CommonTree)1 Tree (org.antlr.runtime.tree.Tree)1 SQLCheckConstraint (org.apache.hadoop.hive.metastore.api.SQLCheckConstraint)1 SQLDefaultConstraint (org.apache.hadoop.hive.metastore.api.SQLDefaultConstraint)1 SQLNotNullConstraint (org.apache.hadoop.hive.metastore.api.SQLNotNullConstraint)1 SQLUniqueConstraint (org.apache.hadoop.hive.metastore.api.SQLUniqueConstraint)1 DefaultConstraint (org.apache.hadoop.hive.ql.metadata.DefaultConstraint)1 NotNullConstraint (org.apache.hadoop.hive.ql.metadata.NotNullConstraint)1 CreateResourcePlanDesc (org.apache.hadoop.hive.ql.plan.CreateResourcePlanDesc)1 DDLWork (org.apache.hadoop.hive.ql.plan.DDLWork)1