tsreaper commented on a change in pull request #16650:
URL: https://github.com/apache/flink/pull/16650#discussion_r682525178
##########
File path:
flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/sql/agg/AggregateITCaseBase.scala
##########
@@ -865,6 +865,59 @@ abstract class AggregateITCaseBase(testName: String)
extends BatchTestBase {
// that doesn't make sense, and we do not support it.
}
+ @Test
+ def testLeadLag(): Unit = {
+
+ val testAllDataTypeCardinality = tEnv.fromValues(
+ DataTypes.ROW(
+ DataTypes.FIELD("a", DataTypes.STRING()),
+ DataTypes.FIELD("b", DataTypes.TINYINT()),
+ DataTypes.FIELD("c", DataTypes.SMALLINT()),
+ DataTypes.FIELD("d", DataTypes.INT),
+ DataTypes.FIELD("e", DataTypes.BIGINT()),
+ DataTypes.FIELD("f", DataTypes.FLOAT()),
+ DataTypes.FIELD("g", DataTypes.DOUBLE()),
+ DataTypes.FIELD("h", DataTypes.BOOLEAN()),
+ DataTypes.FIELD("i", DataTypes.VARCHAR(20)),
+ DataTypes.FIELD("j", DataTypes.CHAR(20)),
+ DataTypes.FIELD("k", DataTypes.DATE()),
+ DataTypes.FIELD("l", DataTypes.TIME()),
+ DataTypes.FIELD("m", DataTypes.TIMESTAMP()),
+ DataTypes.FIELD("n", DataTypes.DECIMAL(3, 2))
+ ),
+ row("Alice", 1, 1, 2, 9223, -2.3F, 9.9D, "true", "varchar", "char",
"2021-8-3", "20:8:17", "2021-8-3 20:8:29", 9.99),
+ row("Alice", null, null, null, null, null, null, null, null, null, null,
null, null, null),
+ row("Alice", 1, 1, 2, 9223, -2.3F, 9.9D, "true", "varchar", "char",
"2021-8-3", "20:8:17", "2021-8-3 20:8:29", 9.99)
+ )
+
+ checkResult(
+ s"""
+ |SELECT
+ | a,
+ | b, LEAD(b, 1) over (order by a) AS bLead, LAG(b, 1) over (order
by a) AS bLag,
+ | c, LEAD(c, 1) over (order by a) AS cLead, LAG(c, 1) over (order
by a) AS cLag,
+ | d, LEAD(d, 1) over (order by a) AS dLead, LAG(d, 1) over (order
by a) AS dLag,
+ | e, LEAD(e, 1) over (order by a) AS eLead, LAG(e, 1) over (order
by a) AS eLag,
+ | f, LEAD(f, 1) over (order by a) AS fLead, LAG(f, 1) over (order
by a) AS fLag,
+ | g, LEAD(g, 1) over (order by a) AS gLead, LAG(g, 1) over (order
by a) AS gLag,
+ | h, LEAD(h, 1) over (order by a) AS hLead, LAG(h, 1) over (order
by a) AS hLag,
+ | i, LEAD(i, 1) over (order by a) AS iLead, LAG(i, 1) over (order
by a) AS iLag,
+ | j, LEAD(j, 1) over (order by a) AS jLead, LAG(j, 1) over (order
by a) AS jLag,
+ | k, LEAD(k, 1) over (order by a) AS kLead, LAG(k, 1) over (order
by a) AS kLag,
+ | l, LEAD(l, 1) over (order by a) AS lLead, LAG(l, 1) over (order
by a) AS lLag,
+ | m, LEAD(m, 1) over (order by a) AS mLead, LAG(m, 1) over (order
by a) AS mLag,
+ | n, LEAD(n, 1) over (order by a) AS nLead, LAG(n, 1) over (order
by a) AS nLag
+ |
+ |FROM ${testAllDataTypeCardinality}
+ |order by a
+ |""".stripMargin,
+ Seq(
+ row("Alice", 1, 1, null, 1, 1, null, 2, 2, null, 9223, 9223, null,
-2.3, -2.3, null, 9.9, 9.9, null, true, true, null, "varchar", "varchar", null,
"char ", "char ", null, "2021-08-03",
"2021-08-03", null, "20:08:17", "20:08:17", null, "2021-08-03T20:08:29",
"2021-08-03T20:08:29", null, 9.99, 9.99, null),
Review comment:
There are some scala style violations in CI. Mostly because these lines
are too long (each line should not exceed 100 characters). See the comment of
@flinkbot for CI results.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]