private void isValidGroup(TempMetadataAdapter metadata, String groupName) throws QueryResolverException { if (metadata.getMetadataStore().getTempGroupID(groupName) != null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30124, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30124, groupName)); } //check - cursor name should not start with # if(GroupSymbol.isTempGroupName(groupName)){ throw new QueryResolverException(QueryPlugin.Event.TEIID30125, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30125, groupName)); } }
private void isValidGroup(TempMetadataAdapter metadata, String groupName) throws QueryResolverException { if (metadata.getMetadataStore().getTempGroupID(groupName) != null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30124, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30124, groupName)); } //check - cursor name should not start with # if(GroupSymbol.isTempGroupName(groupName)){ throw new QueryResolverException(QueryPlugin.Event.TEIID30125, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30125, groupName)); } }
private void handleUnresolvableDeclaration(ElementSymbol variable, String description) throws QueryResolverException { UnresolvedSymbolDescription symbol = new UnresolvedSymbolDescription(variable.toString(), description); QueryResolverException e = new QueryResolverException(symbol.getDescription()); e.setUnresolvedSymbols(Arrays.asList(new Object[] {symbol})); throw e; }
private void handleUnresolvableDeclaration(ElementSymbol variable, String description) throws QueryResolverException { UnresolvedSymbolDescription symbol = new UnresolvedSymbolDescription(variable.toString(), description); QueryResolverException e = new QueryResolverException(symbol.getDescription()); e.setUnresolvedSymbols(Arrays.asList(symbol)); throw e; }
private void handleUnresolvableDeclaration(ElementSymbol variable, String description) throws QueryResolverException { UnresolvedSymbolDescription symbol = new UnresolvedSymbolDescription(variable.toString(), description); QueryResolverException e = new QueryResolverException(symbol.getDescription()); e.setUnresolvedSymbols(Arrays.asList(symbol)); throw e; }
private static GroupSymbol resolveAllInGroup(MultipleElementSymbol allInGroupSymbol, Set<GroupSymbol> groups, QueryMetadataInterface metadata) throws QueryResolverException, QueryMetadataException, TeiidComponentException { String groupAlias = allInGroupSymbol.getGroup().getName(); List<GroupSymbol> groupSymbols = ResolverUtil.findMatchingGroups(groupAlias, groups, metadata); if(groupSymbols.isEmpty() || groupSymbols.size() > 1) { String msg = QueryPlugin.Util.getString(groupSymbols.isEmpty()?"ERR.015.008.0047":"SimpleQueryResolver.ambiguous_all_in_group", allInGroupSymbol); //$NON-NLS-1$ //$NON-NLS-2$ QueryResolverException qre = new QueryResolverException(msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(allInGroupSymbol.toString(), msg)); throw qre; } allInGroupSymbol.setGroup(groupSymbols.get(0).clone()); return groupSymbols.get(0); }
private static GroupSymbol resolveAllInGroup(MultipleElementSymbol allInGroupSymbol, Set<GroupSymbol> groups, QueryMetadataInterface metadata) throws QueryResolverException, QueryMetadataException, TeiidComponentException { String groupAlias = allInGroupSymbol.getGroup().getName(); List<GroupSymbol> groupSymbols = ResolverUtil.findMatchingGroups(groupAlias, groups, metadata); if(groupSymbols.isEmpty() || groupSymbols.size() > 1) { String msg = QueryPlugin.Util.getString(groupSymbols.isEmpty()?"ERR.015.008.0047":"SimpleQueryResolver.ambiguous_all_in_group", allInGroupSymbol); //$NON-NLS-1$ //$NON-NLS-2$ QueryResolverException qre = new QueryResolverException(msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(allInGroupSymbol.toString(), msg)); throw qre; } allInGroupSymbol.setGroup(groupSymbols.get(0).clone()); return groupSymbols.get(0); }
private static GroupSymbol resolveAllInGroup(MultipleElementSymbol allInGroupSymbol, Set<GroupSymbol> groups, QueryMetadataInterface metadata) throws QueryResolverException, QueryMetadataException, TeiidComponentException { String groupAlias = allInGroupSymbol.getGroup().getName(); List<GroupSymbol> groupSymbols = ResolverUtil.findMatchingGroups(groupAlias, groups, metadata); if(groupSymbols.isEmpty() || groupSymbols.size() > 1) { String msg = QueryPlugin.Util.getString(groupSymbols.isEmpty()?"ERR.015.008.0047":"SimpleQueryResolver.ambiguous_all_in_group", allInGroupSymbol); //$NON-NLS-1$ //$NON-NLS-2$ QueryResolverException qre = new QueryResolverException(msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(allInGroupSymbol.toString(), msg)); throw qre; } allInGroupSymbol.setGroup(groupSymbols.get(0).clone()); return groupSymbols.get(0); }
private void addDiscoveredGroups() { for (GroupSymbol group : discoveredGroups) { if (!this.currentGroups.add(group)) { String msg = QueryPlugin.Util.getString("ERR.015.008.0046", group.getName()); //$NON-NLS-1$ QueryResolverException qre = new QueryResolverException(QueryPlugin.Event.TEIID30115, msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(group.toString(), msg)); throw new TeiidRuntimeException(qre); } } discoveredGroups.clear(); }
private static QueryResolverException handleUnresolvedGroup(GroupSymbol symbol, String description) { UnresolvedSymbolDescription usd = new UnresolvedSymbolDescription(symbol.toString(), description); QueryResolverException e = new QueryResolverException(usd.getDescription()+": "+usd.getSymbol()); //$NON-NLS-1$ e.setUnresolvedSymbols(Arrays.asList(usd)); return e; }
private void addDiscoveredGroups() { for (GroupSymbol group : discoveredGroups) { if (!this.currentGroups.add(group)) { String msg = QueryPlugin.Util.getString("ERR.015.008.0046", group.getName()); //$NON-NLS-1$ QueryResolverException qre = new QueryResolverException(QueryPlugin.Event.TEIID30115, msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(group.toString(), msg)); throw new TeiidRuntimeException(qre); } } discoveredGroups.clear(); }
private void addDiscoveredGroups() { for (GroupSymbol group : discoveredGroups) { if (!this.currentGroups.add(group)) { String msg = QueryPlugin.Util.getString("ERR.015.008.0046", group.getName()); //$NON-NLS-1$ QueryResolverException qre = new QueryResolverException(QueryPlugin.Event.TEIID30115, msg); qre.addUnresolvedSymbol(new UnresolvedSymbolDescription(group.toString(), msg)); throw new TeiidRuntimeException(qre); } } discoveredGroups.clear(); }
private static QueryResolverException handleUnresolvedGroup(GroupSymbol symbol, String description) { UnresolvedSymbolDescription usd = new UnresolvedSymbolDescription(symbol.toString(), description); QueryResolverException e = new QueryResolverException(usd.getDescription()+": "+usd.getSymbol()); //$NON-NLS-1$ e.setUnresolvedSymbols(Arrays.asList(usd)); return e; }
@Override public void visit(XMLSerialize obj) { try { obj.setExpression(ResolverUtil.convertExpression(obj.getExpression(), DataTypeManager.DefaultDataTypes.XML, metadata)); } catch (QueryResolverException e) { handleException(new QueryResolverException(e, QueryPlugin.Util.getString("XMLSerialize.resolvingError", obj))); //$NON-NLS-1$ } }
public static UpdateInfo getUpdateInfo(GroupSymbol group, QueryMetadataInterface metadata) throws TeiidComponentException, QueryMetadataException, QueryResolverException { if (!QueryResolver.isView(group, metadata)) { return null; } try { return QueryResolver.resolveView(group, metadata.getVirtualPlan(group.getMetadataID()), SQLConstants.Reserved.SELECT, metadata, false).getUpdateInfo(); } catch (QueryValidatorException e) { throw new QueryResolverException(e); } }
public static UpdateInfo getUpdateInfo(GroupSymbol group, QueryMetadataInterface metadata) throws TeiidComponentException, QueryMetadataException, QueryResolverException { if (!QueryResolver.isView(group, metadata)) { return null; } try { return QueryResolver.resolveView(group, metadata.getVirtualPlan(group.getMetadataID()), SQLConstants.Reserved.SELECT, metadata, false).getUpdateInfo(); } catch (QueryValidatorException e) { throw new QueryResolverException(e); } }
private void resolveVariables(TempMetadataAdapter metadata, Insert insert, Set<GroupSymbol> groups) throws TeiidComponentException, QueryResolverException { try { resolveList(insert.getVariables(), metadata, null, groups); } catch (QueryResolverException e) { throw new QueryResolverException(QueryPlugin.Event.TEIID30126, e, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30126, insert.getGroup(), e.getUnresolvedSymbols())); } }
private void resolveVariables(TempMetadataAdapter metadata, Insert insert, Set<GroupSymbol> groups) throws TeiidComponentException, QueryResolverException { try { resolveList(insert.getVariables(), metadata, null, groups); } catch (QueryResolverException e) { throw new QueryResolverException(QueryPlugin.Event.TEIID30126, e, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30126, insert.getGroup(), e.getUnresolvedSymbols())); } }
@Override public void visit(QueryString obj) { try { obj.setPath(ResolverUtil.convertExpression(obj.getPath(), DataTypeManager.DefaultDataTypes.STRING, metadata)); for (DerivedColumn col : obj.getArgs()) { col.setExpression(ResolverUtil.convertExpression(col.getExpression(), DataTypeManager.DefaultDataTypes.STRING, metadata)); } } catch (QueryResolverException e) { handleException(new QueryResolverException(e, QueryPlugin.Util.getString("XMLQuery.resolvingError", obj))); //$NON-NLS-1$ } }
public void visit(SetClause obj) { String type = DataTypeManager.getDataTypeName(obj.getSymbol().getType()); try { setDesiredType(obj.getValue(), obj.getSymbol().getType(), obj); obj.setValue(ResolverUtil.convertExpression(obj.getValue(), type, metadata)); } catch(QueryResolverException e) { handleException(new QueryResolverException(e, QueryPlugin.Util.getString("SetClause.resolvingError", new Object[] {obj.getValue(), obj.getSymbol(), type}))); //$NON-NLS-1$ } }