flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fabian Hueske (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-5524) Support early out for code generated conjunctive conditions
Date Tue, 17 Jan 2017 11:28:26 GMT
Fabian Hueske created FLINK-5524:
------------------------------------

             Summary: Support early out for code generated conjunctive conditions
                 Key: FLINK-5524
                 URL: https://issues.apache.org/jira/browse/FLINK-5524
             Project: Flink
          Issue Type: Improvement
          Components: Table API & SQL
    Affects Versions: 1.1.4, 1.2.0, 1.3.0
            Reporter: Fabian Hueske


Currently, all nested conditions for a conjunctive predicate are evaluated before the conjunction
is checked.

A condition like {{(v1 == v2) && (v3 < 5)}} would be compiled into

{code}
boolean res1;
if (v1 == v2) {
  res1 = true;
} else {
  res1 = false;
}

boolean res2;
if (v3 < 5) {
  res2 = true;
} else {
  res2 = false;
}

boolean res3;
if (res1 && res2) {
  res3 = true;
} else {
  res3 = false;
}

if (res3) {
  // emit something
}
{code}

It would be better to leave the generated code as early as possible, e.g., with a {{return}}
instead of {{res1 = false}}. The code generator needs a bit of context information for that.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message