private void analyzeSwitchDatabase(ASTNode ast) throws SemanticException { String dbName = unescapeIdentifier(ast.getChild(0).getText()); Database database = getDatabase(dbName, true); ReadEntity dbReadEntity = new ReadEntity(database); dbReadEntity.noLockNeeded(); inputs.add(dbReadEntity); SwitchDatabaseDesc switchDatabaseDesc = new SwitchDatabaseDesc(dbName); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), switchDatabaseDesc))); }
private void analyzeAlterTableRenamePart(ASTNode ast, String tblName, HashMap<String, String> oldPartSpec) throws SemanticException { Table tab = getTable(tblName, true); validateAlterTableType(tab, AlterTableTypes.RENAMEPARTITION); Map<String, String> newPartSpec = getValidatedPartSpec(tab, (ASTNode)ast.getChild(0), conf, false); if (newPartSpec == null) { throw new SemanticException("RENAME PARTITION Missing Destination" + ast); } ReadEntity re = new ReadEntity(tab); re.noLockNeeded(); inputs.add(re); List<Map<String, String>> partSpecs = new ArrayList<Map<String, String>>(); partSpecs.add(oldPartSpec); partSpecs.add(newPartSpec); addTablePartsOutputs(tab, partSpecs, WriteEntity.WriteType.DDL_EXCLUSIVE); RenamePartitionDesc renamePartitionDesc = new RenamePartitionDesc(tblName, oldPartSpec, newPartSpec); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), renamePartitionDesc), conf)); }
private void analyzeSwitchDatabase(ASTNode ast) throws SemanticException { String dbName = unescapeIdentifier(ast.getChild(0).getText()); Database database = getDatabase(dbName, true); ReadEntity dbReadEntity = new ReadEntity(database); dbReadEntity.noLockNeeded(); inputs.add(dbReadEntity); SwitchDatabaseDesc switchDatabaseDesc = new SwitchDatabaseDesc(dbName); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), switchDatabaseDesc), conf)); }
private void analyzeAlterTableRenamePart(ASTNode ast, String tblName, HashMap<String, String> oldPartSpec) throws SemanticException { Table tab = getTable(tblName, true); validateAlterTableType(tab, AlterTableTypes.RENAMEPARTITION); Map<String, String> newPartSpec = getValidatedPartSpec(tab, (ASTNode)ast.getChild(0), conf, false); if (newPartSpec == null) { throw new SemanticException("RENAME PARTITION Missing Destination" + ast); } ReadEntity re = new ReadEntity(tab); re.noLockNeeded(); inputs.add(re); List<Map<String, String>> partSpecs = new ArrayList<Map<String, String>>(); partSpecs.add(oldPartSpec); partSpecs.add(newPartSpec); addTablePartsOutputs(tab, partSpecs, WriteEntity.WriteType.DDL_EXCLUSIVE); RenamePartitionDesc renamePartitionDesc = new RenamePartitionDesc( tblName, oldPartSpec, newPartSpec, null, tab); if (AcidUtils.isTransactionalTable(tab)) { setAcidDdlDesc(renamePartitionDesc); } rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), renamePartitionDesc))); }
re.noLockNeeded(); inputs.add(re);
re.noLockNeeded(); inputs.add(re);
re.noLockNeeded(); inputs.add(re);
re.noLockNeeded(); inputs.add(re);
private void analyzeAlterTableRenamePart(ASTNode ast, String tblName, HashMap<String, String> oldPartSpec) throws SemanticException { Table tab = getTable(tblName, true); validateAlterTableType(tab, AlterTableTypes.RENAMEPARTITION); Map<String, String> newPartSpec = getValidatedPartSpec(tab, (ASTNode)ast.getChild(0), conf, false); if (newPartSpec == null) { throw new SemanticException("RENAME PARTITION Missing Destination" + ast); } ReadEntity re = new ReadEntity(tab); re.noLockNeeded(); inputs.add(re); List<Map<String, String>> partSpecs = new ArrayList<Map<String, String>>(); partSpecs.add(oldPartSpec); partSpecs.add(newPartSpec); addTablePartsOutputs(tab, partSpecs, WriteEntity.WriteType.DDL_EXCLUSIVE); RenamePartitionDesc renamePartitionDesc = new RenamePartitionDesc(tblName, oldPartSpec, newPartSpec); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), renamePartitionDesc), conf)); }
private void analyzeSwitchDatabase(ASTNode ast) throws SemanticException { String dbName = unescapeIdentifier(ast.getChild(0).getText()); Database database = getDatabase(dbName, true); ReadEntity dbReadEntity = new ReadEntity(database); dbReadEntity.noLockNeeded(); inputs.add(dbReadEntity); SwitchDatabaseDesc switchDatabaseDesc = new SwitchDatabaseDesc(dbName); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), switchDatabaseDesc), conf)); }
re.noLockNeeded(); inputs.add(re);
re.noLockNeeded(); inputs.add(re);