Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-1998

Equality filter predicate not correctly evaluated by Table API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9
    • None
    • Table SQL / API
    • None

    Description

      Equality filter predicates do not work on Tables that are created from Pojo data sets (couldn't reproduce it with a table data set).
      Inequality predicates seem to work.

      The following program will not produce a result. If the predicate is changed to "a > 100" it will return the row.

      public static void main(String[] args) throws Exception {
      
      	ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
      	env.setParallelism(1);
      	TableEnvironment tEnv = new TableEnvironment();
      
      	DataSet<Pojo> pojos = env.fromElements(new Pojo(200, 400));
      	Table t = tEnv
      			.toTable(pojos)
      			.filter("a = 200");
      
      	DataSet<Row> result = tEnv.toSet(t, Row.class);
      	result.print();
      	env.execute();
      }
      
      public static class Pojo {
      	public int a;
      	public int b;
      
      	public Pojo() { }
      
      	public Pojo(int a, int b) {
      		this.a = a;
      		this.b = b;
      	}
      }
      

      Attachments

        Activity

          People

            aljoscha Aljoscha Krettek
            fhueske Fabian Hueske
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: