private Command helpResolve(String sql) { return helpResolve(helpParse(sql)); }
public static Command helpResolve(String sql, QueryMetadataInterface queryMetadata){ return helpResolve(helpParse(sql), queryMetadata); }
@Test public void test11716() throws Exception { String sql = "SELECT e1 FROM pm1.g1 where e1='1'"; //$NON-NLS-1$ Map externalMetadata = new HashMap(); GroupSymbol inputSet = new GroupSymbol("INPUT"); //$NON-NLS-1$ List inputSetElements = new ArrayList(); ElementSymbol inputSetElement = new ElementSymbol("INPUT.e1"); //$NON-NLS-1$ inputSetElements.add(inputSetElement); externalMetadata.put(inputSet, inputSetElements); Query command = (Query)helpParse(sql); QueryResolver.resolveCommand(command, metadata); Collection groups = GroupCollectorVisitor.getGroups(command, false); assertFalse(groups.contains(inputSet)); }
@Test public void testDefect12968_union() { helpResolve( helpParse("SELECT myModel.myTable.myColumn AS myColumn from myModel.myTable UNION " + //$NON-NLS-1$ "SELECT convert(null, string) AS myColumn From myModel2.mySchema.myTable2"), //$NON-NLS-1$ example_12968()); }
@Test public void testCase6319() throws QueryResolverException, TeiidComponentException { String sql = "select floatnum from bqt1.smalla group by floatnum having sum(floatnum) between 51.0 and 100.0 "; //$NON-NLS-1$ Query query = (Query)helpParse(sql); QueryResolver.resolveCommand(query, RealMetadataFactory.exampleBQTCached()); }
@Test public void testLookupFunctionVirtualGroup() throws Exception { String sql = "SELECT lookup('vm1.g1', 'e1', 'e2', e2) FROM vm1.g1 "; //$NON-NLS-1$ Query command = (Query) helpParse(sql); QueryResolver.resolveCommand(command, RealMetadataFactory.example1Cached()); }
@Test public void testLookupFunctionPhysicalGroup() throws Exception { String sql = "SELECT lookup('pm1.g1', 'e1', 'e2', e2) FROM pm1.g1 "; //$NON-NLS-1$ Query command = (Query) helpParse(sql); QueryResolver.resolveCommand(command, RealMetadataFactory.example1Cached()); }
@Test public void testDefect10809(){ String sql = "select * from LOB_TESTING_ONE where CLOB_COLUMN LIKE '%fff%'"; //$NON-NLS-1$ helpResolve(helpParse(sql), RealMetadataFactory.exampleBQTCached()); }
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); } }
@Test public void testNamespacedFunction() throws Exception { String sql = "SELECT namespace.func('e1') FROM vm1.g1 "; //$NON-NLS-1$ QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(RealMetadataFactory.example1Cached().getMetadataStore(), "example1", new FunctionTree("foo", new FakeFunctionMetadataSource())); Query command = (Query) helpParse(sql); QueryResolver.resolveCommand(command, metadata); command = (Query) helpParse("SELECT func('e1') FROM vm1.g1 "); QueryResolver.resolveCommand(command, metadata); }
@Test public void testNullConstantInSelect() throws Exception { String userSql = "SELECT null as x"; //$NON-NLS-1$ Query query = (Query)helpParse(userSql); QueryResolver.resolveCommand(query, RealMetadataFactory.exampleBQTCached()); // Check type of resolved null constant Expression symbol = query.getSelect().getSymbols().get(0); assertNotNull(symbol.getType()); assertEquals(DataTypeManager.DefaultDataClasses.STRING, symbol.getType()); }