@Override public LogicalNode visitAlterTablespace(SerializeContext context, LogicalPlan plan, LogicalPlan.QueryBlock block, AlterTablespaceNode node, Stack<LogicalNode> stack) throws TajoException { PlanProto.AlterTablespaceNode.Builder alterTablespaceBuilder = PlanProto.AlterTablespaceNode.newBuilder(); alterTablespaceBuilder.setTableSpaceName(node.getTablespaceName()); switch (node.getSetType()) { case LOCATION: alterTablespaceBuilder.setSetType(PlanProto.AlterTablespaceNode.Type.LOCATION); alterTablespaceBuilder.setSetLocation(SetLocation.newBuilder().setLocation(node.getLocation())); break; default: throw new NotImplementedException("Unknown SET type in ALTER TABLESPACE: " + node.getSetType().name()); } PlanProto.LogicalNode.Builder nodeBuilder = createNodeBuilder(context, node); nodeBuilder.setAlterTablespace(alterTablespaceBuilder); context.treeBuilder.addNodes(nodeBuilder); return node; }
@Override public LogicalNode visitAlterTablespace(SerializeContext context, LogicalPlan plan, LogicalPlan.QueryBlock block, AlterTablespaceNode node, Stack<LogicalNode> stack) throws TajoException { PlanProto.AlterTablespaceNode.Builder alterTablespaceBuilder = PlanProto.AlterTablespaceNode.newBuilder(); alterTablespaceBuilder.setTableSpaceName(node.getTablespaceName()); switch (node.getSetType()) { case LOCATION: alterTablespaceBuilder.setSetType(PlanProto.AlterTablespaceNode.Type.LOCATION); alterTablespaceBuilder.setSetLocation(SetLocation.newBuilder().setLocation(node.getLocation())); break; default: throw new NotImplementedException("Unknown SET type in ALTER TABLESPACE: " + node.getSetType().name()); } PlanProto.LogicalNode.Builder nodeBuilder = createNodeBuilder(context, node); nodeBuilder.setAlterTablespace(alterTablespaceBuilder); context.treeBuilder.addNodes(nodeBuilder); return node; }
/** * Alter a given table */ public static void alterTablespace(final TajoMaster.MasterContext context, final QueryContext queryContext, final AlterTablespaceNode alterTablespace) throws UndefinedTablespaceException, InsufficientPrivilegeException { final CatalogService catalog = context.getCatalog(); final String spaceName = alterTablespace.getTablespaceName(); AlterTablespaceProto.Builder builder = AlterTablespaceProto.newBuilder(); builder.setSpaceName(spaceName); if (alterTablespace.getSetType() == AlterTablespaceSetType.LOCATION) { AlterTablespaceProto.AlterTablespaceCommand.Builder commandBuilder = AlterTablespaceProto.AlterTablespaceCommand.newBuilder(); commandBuilder.setType(AlterTablespaceProto.AlterTablespaceType.LOCATION); commandBuilder.setLocation(alterTablespace.getLocation()); commandBuilder.build(); builder.addCommand(commandBuilder); } else { throw new RuntimeException("This 'ALTER TABLESPACE' is not supported yet."); } catalog.alterTablespace(builder.build()); }
/** * Alter a given table */ public static void alterTablespace(final TajoMaster.MasterContext context, final QueryContext queryContext, final AlterTablespaceNode alterTablespace) throws UndefinedTablespaceException, InsufficientPrivilegeException { final CatalogService catalog = context.getCatalog(); final String spaceName = alterTablespace.getTablespaceName(); AlterTablespaceProto.Builder builder = AlterTablespaceProto.newBuilder(); builder.setSpaceName(spaceName); if (alterTablespace.getSetType() == AlterTablespaceSetType.LOCATION) { AlterTablespaceProto.AlterTablespaceCommand.Builder commandBuilder = AlterTablespaceProto.AlterTablespaceCommand.newBuilder(); commandBuilder.setType(AlterTablespaceProto.AlterTablespaceType.LOCATION); commandBuilder.setLocation(alterTablespace.getLocation()); commandBuilder.build(); builder.addCommand(commandBuilder); } else { throw new RuntimeException("This 'ALTER TABLESPACE' is not supported yet."); } catalog.alterTablespace(builder.build()); }