public static void validateProjectedSymbols(GroupSymbol virtualGroup, QueryMetadataInterface qmi, Command result) throws QueryMetadataException, TeiidComponentException, QueryValidatorException { //ensure that null types match the view List<ElementSymbol> symbols = ResolverUtil.resolveElementsInGroup(virtualGroup, qmi); List<Expression> projectedSymbols = result.getProjectedSymbols(); validateProjectedSymbols(virtualGroup, symbols, projectedSymbols); //setqueries store the projected types separately if (result instanceof SetQuery) { List<Class<?>> types = new ArrayList<Class<?>>(); for (ElementSymbol es : symbols) { types.add(es.getType()); } ((SetQuery)result).setProjectedTypes(types, qmi.getDesignTimeMetadata()); } }
public static void validateProjectedSymbols(GroupSymbol virtualGroup, QueryMetadataInterface qmi, Command result) throws QueryMetadataException, TeiidComponentException, QueryValidatorException { //ensure that null types match the view List<ElementSymbol> symbols = ResolverUtil.resolveElementsInGroup(virtualGroup, qmi); List<Expression> projectedSymbols = result.getProjectedSymbols(); validateProjectedSymbols(virtualGroup, symbols, projectedSymbols); //setqueries store the projected types separately if (result instanceof SetQuery) { List<Class<?>> types = new ArrayList<Class<?>>(); for (ElementSymbol es : symbols) { types.add(es.getType()); } ((SetQuery)result).setProjectedTypes(types, qmi.getDesignTimeMetadata()); } }
public static void validateProjectedSymbols(GroupSymbol virtualGroup, QueryMetadataInterface qmi, Command result) throws QueryMetadataException, TeiidComponentException, QueryValidatorException { //ensure that null types match the view List<ElementSymbol> symbols = ResolverUtil.resolveElementsInGroup(virtualGroup, qmi); List<Expression> projectedSymbols = result.getProjectedSymbols(); validateProjectedSymbols(virtualGroup, symbols, projectedSymbols); //setqueries store the projected types separately if (result instanceof SetQuery) { List<Class<?>> types = new ArrayList<Class<?>>(); for (ElementSymbol es : symbols) { types.add(es.getType()); } ((SetQuery)result).setProjectedTypes(types, qmi.getDesignTimeMetadata()); } }
public void visit(AlterView obj) { try { QueryResolver.validateProjectedSymbols(obj.getTarget(), getMetadata(), obj.getDefinition()); Validator.validate(obj.getDefinition(), getMetadata(), this); validateAlterTarget(obj); } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition()); } catch (TeiidComponentException e) { handleException(e); } }
public void visit(AlterView obj) { try { QueryResolver.validateProjectedSymbols(obj.getTarget(), getMetadata(), obj.getDefinition()); Validator.validate(obj.getDefinition(), getMetadata(), this); validateAlterTarget(obj); } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition()); } catch (TeiidComponentException e) { handleException(e); } }
public void visit(AlterView obj) { try { QueryResolver.validateProjectedSymbols(obj.getTarget(), getMetadata(), obj.getDefinition()); Validator.validate(obj.getDefinition(), getMetadata(), this); validateAlterTarget(obj); } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition()); } catch (TeiidComponentException e) { handleException(e); } }
@Override public void visit(CommandStatement obj) { if (this.createProc == null || this.createProc.getResultSetColumns().isEmpty() || !obj.isReturnable() || !obj.getCommand().returnsResultSet()) { return; } List<? extends Expression> symbols = obj.getCommand().getResultSetColumns(); if (symbols == null && obj.getCommand() instanceof DynamicCommand) { DynamicCommand cmd = (DynamicCommand)obj.getCommand(); cmd.setAsColumns(this.createProc.getResultSetColumns()); return; } try { QueryResolver.validateProjectedSymbols(createProc.getVirtualGroup(), createProc.getResultSetColumns(), symbols); } catch (QueryValidatorException e) { handleValidationError(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31121, createProc.getVirtualGroup(), obj, e.getMessage()), obj); } }
@Override public void visit(CommandStatement obj) { if (this.createProc == null || this.createProc.getResultSetColumns().isEmpty() || !obj.isReturnable() || !obj.getCommand().returnsResultSet()) { return; } List<? extends Expression> symbols = obj.getCommand().getResultSetColumns(); if (symbols == null && obj.getCommand() instanceof DynamicCommand) { DynamicCommand cmd = (DynamicCommand)obj.getCommand(); cmd.setAsColumns(this.createProc.getResultSetColumns()); return; } try { QueryResolver.validateProjectedSymbols(createProc.getVirtualGroup(), createProc.getResultSetColumns(), symbols); } catch (QueryValidatorException e) { handleValidationError(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31121, createProc.getVirtualGroup(), obj, e.getMessage()), obj); } }
@Override public void visit(CommandStatement obj) { if (this.createProc == null || this.createProc.getResultSetColumns().isEmpty() || !obj.isReturnable() || !obj.getCommand().returnsResultSet()) { return; } List<? extends Expression> symbols = obj.getCommand().getResultSetColumns(); if (symbols == null && obj.getCommand() instanceof DynamicCommand) { DynamicCommand cmd = (DynamicCommand)obj.getCommand(); cmd.setAsColumns(this.createProc.getResultSetColumns()); return; } try { QueryResolver.validateProjectedSymbols(createProc.getVirtualGroup(), createProc.getResultSetColumns(), symbols); } catch (QueryValidatorException e) { handleValidationError(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31121, createProc.getVirtualGroup(), obj, e.getMessage()), obj); } }
@Override public void visit(AlterProcedure obj) { GroupSymbol gs = obj.getTarget(); try { validateAlterTarget(obj); if (!gs.isProcedure() || !getMetadata().isVirtualModel(getMetadata().getModelID(gs.getMetadataID()))) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.not_a_procedure", gs), gs); //$NON-NLS-1$ return; } Validator.validate(obj.getDefinition(), getMetadata(), this); StoredProcedureInfo info = getMetadata().getStoredProcedureInfoForProcedure(gs.getName()); for (SPParameter param : info.getParameters()) { if (param.getParameterType() == SPParameter.RESULT_SET) { QueryResolver.validateProjectedSymbols(gs, param.getResultSetColumns(), obj.getDefinition().getProjectedSymbols()); break; } } } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition().getBlock()); } catch (TeiidComponentException e) { handleException(e); } }
@Override public void visit(AlterProcedure obj) { GroupSymbol gs = obj.getTarget(); try { validateAlterTarget(obj); if (!gs.isProcedure() || !getMetadata().isVirtualModel(getMetadata().getModelID(gs.getMetadataID()))) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.not_a_procedure", gs), gs); //$NON-NLS-1$ return; } Validator.validate(obj.getDefinition(), getMetadata(), this); StoredProcedureInfo info = getMetadata().getStoredProcedureInfoForProcedure(gs.getName()); for (SPParameter param : info.getParameters()) { if (param.getParameterType() == SPParameter.RESULT_SET) { QueryResolver.validateProjectedSymbols(gs, param.getResultSetColumns(), obj.getDefinition().getProjectedSymbols()); break; } } } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition().getBlock()); } catch (TeiidComponentException e) { handleException(e); } }
@Override public void visit(AlterProcedure obj) { GroupSymbol gs = obj.getTarget(); validateAlterTarget(obj); try { if (!gs.isProcedure() || !getMetadata().isVirtualModel(getMetadata().getModelID(gs.getMetadataID()))) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.not_a_procedure", gs), gs); //$NON-NLS-1$ return; } Validator.validate(obj.getDefinition(), getMetadata(), this); StoredProcedureInfo info = getMetadata().getStoredProcedureInfoForProcedure(gs.getName()); for (SPParameter param : info.getParameters()) { if (param.getParameterType() == SPParameter.RESULT_SET) { QueryResolver.validateProjectedSymbols(gs, param.getResultSetColumns(), obj.getDefinition().getProjectedSymbols()); break; } } } catch (QueryValidatorException e) { handleValidationError(e.getMessage(), obj.getDefinition().getBlock()); } catch (TeiidComponentException e) { handleException(e); } }
validateProjectedSymbols(virtualGroup, qmi, result); cachedNode = new QueryNode(qnode.getQuery()); cachedNode.setCommand(result);
Request.validateWithVisitor(new ValidationVisitor(), qmi, result); validateProjectedSymbols(virtualGroup, qmi, result); cachedNode = new QueryNode(qnode.getQuery()); cachedNode.setCommand(result);
Request.validateWithVisitor(new ValidationVisitor(), qmi, result); validateProjectedSymbols(virtualGroup, qmi, result); cachedNode = new QueryNode(qnode.getQuery()); cachedNode.setCommand(result);