Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Status

...

Page properties


Discussion thread

...

...

JIRA: here (<- link to https://issues.apache.org/jira/browse/FLINK-XXXX)

...

/t4or2q5z9g0vkpppp454llnybhnz3nzh
Vote thread
JIRA

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-11890

Release1.11


Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

Code Block
languagejava
public abstract class org.apache.flink.table.api.internal.BaseExpressions<InT, OutT> {
  public OutT as(java.lang.String, java.lang.String...);
  public OutT and(InT);
  public OutT or(InT);
  public OutT isGreaterThanisGreater(InT);
  public OutT isGreaterThanOrEqualToisGreaterOrEqual(InT);
  public OutT isLessThanisLess(InT);
  public OutT isLessThanOrEqualToisLessOrEqual(InT);
  public OutT isEqualToisEqual(InT);
  public OutT isNotEqualToisNotEqual(InT);
  public OutT plus(InT);
  public OutT minus(InT);
  public OutT dividedBy(InT);
  public OutT multipliedBy(InT);
  public OutT between(InT, InT);
  public OutT notBetween(InT, InT);
  public OutT isNull();
  public OutT isNotNull();
  public OutT isTrue();
  public OutT isFalse();
  public OutT isNotTrue();
  public OutT isNotFalse();
  public OutT distinct();
  public OutT sum();
  public OutT sum0();
  public OutT min();
  public OutT max();
  public OutT count();
  public OutT avg();
  public OutT stddevPop();
  public OutT stddevSamp();
  public OutT varPop();
  public OutT varSamp();
  public OutT collect();
  public OutT cast(org.apache.flink.table.types.DataType);
  public OutT cast(org.apache.flink.api.common.typeinfo.TypeInformation<?>);
  public OutT asc();
  public OutT desc();
  public final OutT in(InT...);
  public OutT in(org.apache.flink.table.api.Table);
  public OutT start();
  public OutT end();
  public OutT mod(InT);
  public OutT exp();
  public OutT log10();
  public OutT log2();
  public OutT ln();
  public OutT log();
  public OutT log(InT);
  public OutT power(InT);
  public OutT cosh();
  public OutT sqrt();
  public OutT abs();
  public OutT floor();
  public OutT sinh();
  public OutT ceil();
  public OutT sin();
  public OutT cos();
  public OutT tan();
  public OutT cot();
  public OutT asin();
  public OutT acos();
  public OutT atan();
  public OutT tanh();
  public OutT degrees();
  public OutT radians();
  public OutT sign();
  public OutT round(InT);
  public OutT bin();
  public OutT hex();
  public OutT truncate(InT);
  public OutT truncate();
  public OutT substring(InT, InT);
  public OutT substring(InT);
  public OutT trimLeading();
  public OutT trimLeading(InT);
  public OutT trimTrailing();
  public OutT trimTrailing(InT);
  public OutT trim();
  public OutT trim(InT);
  public OutT replace(InT, InT);
  public OutT charLength();
  public OutT upperCase();
  public OutT lowerCase();
  public OutT initCap();
  public OutT like(InT);
  public OutT similar(InT);
  public OutT position(InT);
  public OutT lpad(InT, InT);
  public OutT rpad(InT, InT);
  public OutT over(InT);
  public OutT overlay(InT, InT);
  public OutT overlay(InT, InT, InT);
  public OutT regexpReplace(InT, InT);
  public OutT regexpExtract(InT, InT);
  public OutT regexpExtract(InT);
  public OutT fromBase64();
  public OutT toBase64();
  public OutT ltrim();
  public OutT rtrim();
  public OutT repeat(InT);
  public OutT toDate();
  public OutT toTime();
  public OutT toTimestamp();
  public OutT extract(org.apache.flink.table.expressions.TimeIntervalUnit);
  public OutT floor(org.apache.flink.table.expressions.TimeIntervalUnit);
  public OutT ceil(org.apache.flink.table.expressions.TimeIntervalUnit);
  public OutT get(java.lang.String);
  public OutT get(int);
  public OutT flatten();
  public OutT at(InT);
  public OutT cardinality();
  public OutT element();
  public OutT rowtime();
  public OutT proctime();
  public OutT md5();
  public OutT sha1();
  public OutT sha224();
  public OutT sha256();
  public OutT sha384();
  public OutT sha512();
  public OutT sha2(InT);
}

...

As explained in the motivation, scala's syntax of using ' to create symbol will become deprecated in scala 2.13. Moreover it is not possible to use spaces with that syntax. We should introduce an alternative way of creating a column reference. Using a '$' will make it consistent with java api

Code Block
  implicit class ColumnExpressionFieldExpression(val sc: StringContext) extends AnyVal {
    def $(args: Any*): Expression = unresolvedRef(sc.s(args: _*))
  }

...