@Test public void testFilterFunctionOnSubQuery() throws Exception { TestMatchFunctionFactory.clear(); final String expected = "a\tb\tk\n" + "93.4460485739401\tPEHN\t1970-01-02T03:46:40.000000Z\n" + "88.2822836669774\t\t1970-01-17T04:53:20.000000Z\n"; assertQuery(expected, "select * from x where cast(b as symbol) in (select rnd_str('PEHN', 'HYRX', null) a from long_sequence(10)) and test_match()", "create table x as " + "(" + "select" + " rnd_double(0)*100 a," + " rnd_str(4,4,1) b," + " timestamp_sequence(0, 100000000000) k" + " from" + " long_sequence(20)" + ") timestamp(k) partition by DAY", "k", "insert into x select * from (" + "select" + " rnd_double(0)*100," + " 'HYRX'," + " to_timestamp('1971', 'yyyy') t" + " from long_sequence(1)" + ") timestamp(t)", expected + "33.74610457937482\tHYRX\t1971-01-01T00:00:00.000000Z\n"); Assert.assertTrue(TestMatchFunctionFactory.assertAPI()); }
@Override public void clear() { whereClauseParser.clear(); }
SqlCodeGenerator implements Mutable { @Override public void clear() { whereClauseParser.clear(); } }
SqlCodeGenerator implements Mutable { @Override public void clear() { whereClauseParser.clear(); } SqlCodeGenerator(
            CairoEngine engine,
            CairoConfiguration configuration,
            FunctionParser functionParser
    ); }
SqlCodeGenerator implements Mutable { @Override public void clear() { whereClauseParser.clear(); } SqlCodeGenerator(
            CairoEngine engine,
            CairoConfiguration configuration,
            FunctionParser functionParser
    ); @Override void clear(); @NotNull Function compileFilter(ExpressionNode expr, RecordMetadata metadata, SqlExecutionContext executionContext); }
SqlCodeGenerator implements Mutable { @Override public void clear() { whereClauseParser.clear(); } SqlCodeGenerator(
            CairoEngine engine,
            CairoConfiguration configuration,
            FunctionParser functionParser
    ); @Override void clear(); @NotNull Function compileFilter(ExpressionNode expr, RecordMetadata metadata, SqlExecutionContext executionContext); static final int GKK_VANILLA_INT; static final int GKK_HOUR_INT; }