fdb-record-layer icon indicating copy to clipboard operation
fdb-record-layer copied to clipboard

Resolve #1791: Support planning logical group by expression

Open hatyo opened this issue 2 years ago • 28 comments

This allows Cascades to plan QGM plans involving a group by, for such a plan Cascades explores part of the search space limited to access path that are compatibly-ordered with the grouping columns. If one is found, it will implement it by instantiating and setting up the physical operator RecordQueryStreamingAggregationPlan.

Here are some details:

  • A new logical operator GroupByExpression is introduced to encapsulate information about the grouping: it consists of two expressions: the grouping expression, and the aggregation expression, the constituents of these expressions are to be used by the upper (select) expressions. It also includes aliases for both of these expressions, the aliases are basically placeholders glueing together the values produced RecordQueryStreamingAggregationPlan at runtime together with operators referencing (parts of) these values on top.
  • Two rules are added to Cascades: PushRequestedOrderingThroughGroupByRule which takes care of pushing ordering requirements down the plan to limit the search space exploration, and ImplementGroupByRule which takes care of implementing the RecordQueryStreamingAggregationPlan on top of a compatibly ordered plan partition.
  • Added a test that creates a logical group by plan and examines what Cascades will generate, this required implementing extra binding matchers and extractors to enable checking the physical plan output.
  • Removed Scopes and ParserContext since they are not very relevant to RecordLayer.

hatyo avatar Jul 20 '22 11:07 hatyo

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 66b306144020f58da1bc4d02fd1e6f28142e1186
  • Duration 0:15:52
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Jul 20 '22 12:07 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 66b306144020f58da1bc4d02fd1e6f28142e1186
  • Duration 0:15:56
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Jul 20 '22 12:07 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 06d813b501600f627f6fac72ab655e9963aaf7dc
  • Duration 0:12:35
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Jul 20 '22 14:07 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 06d813b501600f627f6fac72ab655e9963aaf7dc
  • Duration 0:15:49
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Jul 20 '22 14:07 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 8e4abe399668226e647273c8d0d482679205a845
  • Duration 0:07:01
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 8e4abe399668226e647273c8d0d482679205a845
  • Duration 0:07:07
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 63454598c1098ec61bd7b3aa19431fdf6942a5f1
  • Duration 0:02:19
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 15:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 63454598c1098ec61bd7b3aa19431fdf6942a5f1
  • Duration 0:02:41
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 15:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: d38fe07398b43f0043364989c86c9d250b9ed102
  • Duration 0:07:16
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 15:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: d38fe07398b43f0043364989c86c9d250b9ed102
  • Duration 0:07:37
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 15:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: cc8cd8b74ea34ab1b9f6fe5d12acd32dea9c6557
  • Duration 0:08:05
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 16:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: cc8cd8b74ea34ab1b9f6fe5d12acd32dea9c6557
  • Duration 0:08:34
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 03 '22 16:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 7b86526860e58421344f6a78186331b8a67dd630
  • Duration 0:07:07
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 04 '22 19:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 7b86526860e58421344f6a78186331b8a67dd630
  • Duration 0:07:28
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 04 '22 19:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: c1defc82f1f8ff2f91c6f1216f2373b782bb5106
  • Duration 0:15:37
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 05 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: c1defc82f1f8ff2f91c6f1216f2373b782bb5106
  • Duration 0:16:30
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 05 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 2e94c28dab572dfe7f430b61365b2c4344a3b2fe
  • Duration 0:16:50
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 05 '22 13:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 2e94c28dab572dfe7f430b61365b2c4344a3b2fe
  • Duration 0:17:19
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 05 '22 13:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: fe4a6deaf64cb043867068307d8a3df859e23e42
  • Duration 0:14:59
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 10 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: fe4a6deaf64cb043867068307d8a3df859e23e42
  • Duration 0:15:56
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 10 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 0f791a090990e003a0056cc0c6d128b5f6584192
  • Duration 0:15:26
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 11 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 0f791a090990e003a0056cc0c6d128b5f6584192
  • Duration 0:15:46
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 11 '22 12:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 7bc609f55124fbdf93103368b8826458fd3c6caf
  • Duration 0:07:23
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 11 '22 21:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 7bc609f55124fbdf93103368b8826458fd3c6caf
  • Duration 0:07:26
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 11 '22 21:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: d6c8c298a3545d99f4810569bbfc4a6e6cd2884b
  • Duration 0:15:34
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 12 '22 17:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: d6c8c298a3545d99f4810569bbfc4a6e6cd2884b
  • Duration 0:15:52
  • Result: :white_check_mark: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

foundationdb-ci avatar Aug 12 '22 17:08 foundationdb-ci

Result of fdb-record-layer-pr-proto3 on Linux CentOS 7

  • Commit ID: 48c461314200d9df6c4c34190456712cf86fd81b
  • Duration 0:07:20
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)
  • Build Artifact (available for 30 days)

foundationdb-ci avatar Aug 18 '22 14:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 48c461314200d9df6c4c34190456712cf86fd81b
  • Duration 0:07:36
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)
  • Build Artifact (available for 30 days)

foundationdb-ci avatar Aug 18 '22 14:08 foundationdb-ci

Result of fdb-record-layer-pr-proto2 on Linux CentOS 7

  • Commit ID: 2af88d78bf4458eead22746399b4061b8114881e
  • Duration 0:07:15
  • Result: :x: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)
  • Build Artifact (available for 30 days)

foundationdb-ci avatar Aug 18 '22 14:08 foundationdb-ci