public void visit(Function obj) { try { resolveFunction(obj, this.metadata.getFunctionLibrary()); if (obj.isAggregate()) { hasUserDefinedAggregate = true; } } catch(QueryResolverException e) { if (QueryPlugin.Event.TEIID30069.name().equals(e.getCode()) || QueryPlugin.Event.TEIID30067.name().equals(e.getCode())) { if (unresolvedFunctions == null) { unresolvedFunctions = new LinkedHashMap<Function, QueryResolverException>(); } unresolvedFunctions.put(obj, e); } else { handleException(e); } } catch(TeiidComponentException e) { handleException(e); } }
public static UpdateInfo getUpdateInfo(GroupSymbol group, QueryMetadataInterface metadata, int type, boolean validate) throws QueryMetadataException, TeiidComponentException, QueryResolverException { UpdateInfo info = getUpdateInfo(group, metadata); if (info == null) { return null; } if (validate) { String error = validateUpdateInfo(group, type, info); if (error != null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30061, error); } } return info; }
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 QueryResolverException handleUnresolvedElement(ElementSymbol symbol, String description) { UnresolvedSymbolDescription usd = new UnresolvedSymbolDescription(symbol, description); QueryResolverException e = new QueryResolverException(usd.getDescription()); e.setUnresolvedSymbols(Arrays.asList(usd)); return 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 helpFailUpdateProcedure(String procedure, String userUpdateStr, Table.TriggerEvent procedureType, String msg) { // resolve try { helpResolveUpdateProcedure(procedure, userUpdateStr, procedureType); fail("Expected a QueryResolverException but got none."); //$NON-NLS-1$ } catch(QueryResolverException ex) { if (msg != null) { assertEquals(msg, ex.getMessage()); } } catch (TeiidComponentException e) { throw new RuntimeException(e); } catch (QueryParserException e) { throw new RuntimeException(e); } }
private QueryResolverException handleUnresolvedElement(ElementSymbol symbol, String description) { UnresolvedSymbolDescription usd = new UnresolvedSymbolDescription(symbol, description); QueryResolverException e = new QueryResolverException(usd.getDescription()); e.setUnresolvedSymbols(Arrays.asList(usd)); return e; }
private void helpResolveException(String userUpdateStr, QueryMetadataInterface metadata, String msg) throws QueryParserException, TeiidComponentException { try { helpResolve(userUpdateStr, metadata); fail(); } catch (QueryResolverException e) { assertEquals(msg, e.getMessage()); } }
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())); } }
public static UpdateInfo getUpdateInfo(GroupSymbol group, QueryMetadataInterface metadata, int type, boolean validate) throws QueryMetadataException, TeiidComponentException, QueryResolverException { UpdateInfo info = getUpdateInfo(group, metadata); if (info == null) { return null; } if (validate) { String error = validateUpdateInfo(group, type, info); if (error != null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30061, error); } } return info; }
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; }
static void helpResolveException(String sql, QueryMetadataInterface queryMetadata, String expectedExceptionMessage){ // parse Command command = helpParse(sql); // resolve try { QueryResolver.resolveCommand(command, queryMetadata); fail("Expected exception for resolving " + sql); //$NON-NLS-1$ } catch(QueryResolverException e) { if(expectedExceptionMessage != null){ assertEquals(expectedExceptionMessage, e.getMessage()); } } catch(TeiidComponentException e) { throw new RuntimeException(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 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())); } }
public void visit(Function obj) { try { resolveFunction(obj, this.metadata.getFunctionLibrary()); if (obj.isAggregate()) { hasUserDefinedAggregate = true; } } catch(QueryResolverException e) { if (QueryPlugin.Event.TEIID30069.name().equals(e.getCode()) || QueryPlugin.Event.TEIID30067.name().equals(e.getCode())) { if (unresolvedFunctions == null) { unresolvedFunctions = new LinkedHashMap<Function, QueryResolverException>(); } unresolvedFunctions.put(obj, e); } else { handleException(e); } } catch(TeiidComponentException e) { handleException(e); } }
public static UpdateInfo getUpdateInfo(GroupSymbol group, QueryMetadataInterface metadata, int type, boolean validate) throws QueryMetadataException, TeiidComponentException, QueryResolverException { UpdateInfo info = getUpdateInfo(group, metadata); if (info == null) { return null; } if (validate) { String error = validateUpdateInfo(group, type, info); if (error != null) { throw new QueryResolverException(QueryPlugin.Event.TEIID30061, error); } } return info; }
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; }
@Test public void testStoredQueryTransformationWithVariable4() throws Exception { Command command = QueryParser.getQueryParser().parseCommand("EXEC pm1.sq2(pm1.sq2.in)"); //$NON-NLS-1$ // resolve try { // Construct command metadata GroupSymbol sqGroup = new GroupSymbol("pm1.sq5"); //$NON-NLS-1$ ArrayList sqParams = new ArrayList(); ElementSymbol in = new ElementSymbol("pm1.sq5.in1"); //$NON-NLS-1$ in.setType(DataTypeManager.DefaultDataClasses.STRING); sqParams.add(in); Map externalMetadata = new HashMap(); externalMetadata.put(sqGroup, sqParams); QueryResolver.resolveCommand(command, metadata); fail("Expected exception on invalid variable pm1.sq2.in"); //$NON-NLS-1$ } catch(QueryResolverException e) { assertEquals("TEIID31119 Symbol pm1.sq2.\"in\" is specified with an unknown group context", e.getMessage()); //$NON-NLS-1$ } }
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(); }
for (UnresolvedSymbolDescription usd : qre.getUnresolvedSymbols()) { if (usd.getObject() instanceof ElementSymbol) { try { ResolverVisitor.resolveLanguageObject(((ElementSymbol)usd.getObject()).getGroupSymbol(), leftGroups, metadata); throw new TeiidRuntimeException( new QueryResolverException(QueryPlugin.Event.TEIID31268, qre, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31268, usd.getObject()))); } catch (QueryResolverException e1) { } catch (TeiidComponentException e1) {