Clone Tools
  • last updated 10 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2488][COMP] Support aggregate window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement aggregate window functions:

agg_func() OVER (frame_var AS)? (PARTITION BY ... ORDER BY ... frame_spec)

- Where agg_func is a SQL/SQL++ aggregate function

- Fix percent_rank() to always return 0 for the first tuple

- Fix ntile() to handle NULL argument

- Log query after each rewrite rule in SqlppQueryRewriter

- Implement toString() for ADayTimeDuration, fix it for AYearMonthDuration

- Add seek() method to RunFileReader

Change-Id: If0f71118a04c2dbd3462070673d52e67f076b7e1

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3049

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>

  1. … 854 more files in changeset.
[ASTERIXDB-2441][COMP] Improve column alias handling in ORDERBY/LIMIT

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Introduce LET clauses for column alias expressions

instead of inlining them into ORDER BY/LIMIT clauses

- Fix incorrect visitor used in SubstituteGroupbyExpressionWithVariableVisitor

for rewriting LET clauses after GROUP BY

Change-Id: If925cbb803f2ad5fe955ba343ddc62585589b894

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2905

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

Contrib: Till Westmann <tillw@apache.org>

  1. … 43 more files in changeset.
[ASTERIXDB-2394][COMP] Align VarCounter in query rewritting

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Currently, before we do certain language rewritings, we take a snapshot

of the var counter in the context and pass it to the rewriter. This

works fine in most of the cases, but it can fail when the rewriter

introduces new variables. This will cause different variables map to the

same variable id. Although this error may be fixed by another

ScopingVisitor, the compiler could fail if there is no more visitor down

in the rewriting workflow.

Change-Id: I8ea1ee7de140d6556af03f07a5ec7bc278b011ba

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2673

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

  1. … 30 more files in changeset.
[ASTERIXDB-2170][SQL] Fix resolution order of implicit field access

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Improved name resolution rules

- Resolve field access to the nearest variable in scope

instead of raising compile-time error

- Do not rely on type information when resolving names

- Cleanup group variable handling in GroupBy clause,

no longer use ‘with’ map for it

- Fix ByNameToByIndexFieldAccessRule to use type environment

of its input operator when analyzing its expression

- Fix ExternalGroupByPOperator to use input schema of its

aggregate function when generating runtime for that function

- Fix invalid free variable computation for GroupBy clause

Change-Id: I50bc823ff53da06507a5454b30f4f500b862d4bf

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2207

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

  1. … 314 more files in changeset.
[ASTERIXDB-1753][SQL] Disable auto-plural for group-by.

- user model changes: do not perform auto-scalar-to-plural

transition for variables that are defined prior to a group-by

group clause after the group-by clause.

- storage format changes: no

- interface changes: no

details:

- migrated existing test queries that use auto-plural;

- added a negative test query.

Change-Id: I5d6383fc7453fe7537fc291c3483708b59df3871

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1860

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

  1. … 261 more files in changeset.
Fix ASTERIXDB-1875 UDF in SQL++

1. Fix the bug that if a function created with SQLPP, the callExpr in

the function body is not normalzied to list input functions.

2. Fix the bug that in SQL++ Query Rewritter, the variables are not

expanded before the inline the functions.

3. Add test case for this issue.

4. Make SQL++ visitor visits decorVariableExpression.

5. Optimizer test cases update.

Change-Id: I7cf72c690b452dd141efe56f5d7098a6f00cab0f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1666

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

  1. … 23 more files in changeset.
Disable hash merge exchange.

- Hash merge exchange does not work very well on large clusters.

- Hash merge exchange is used only when a user explicitly enable it.

Change-Id: If82c4e4db1d4340cdd53d17e48a193ab2b7a05e0

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1345

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

  1. … 42 more files in changeset.
Clean up GROUP BY and WITH clause.

- fix ASTERIXDB-971, i.e., the expression to plan translator for FLWOGR without a "for";

- fix the scoping for nested WITH clause;

- fix the scoping for nested GROUP BY clause;

- fix default fields in group variables;

- fix/unify the expression substition AST visitor;

- enhance RemoveUnusedAssignAndAggregateRule to be able to remove unused GROUP BY

decoration varaibles;

- clearly sperate SQL++ aggregate functions and SQL-92 aggregate functions, i.e.,

SQL-92 aggregate sugars cannot apply to SQL++ aggregate functions;

- fix PushAggregateIntoGroupbyRule for nested plan deletions;

- enhance RemoveCartesianProductWithEmptyBranchRule;

- add ExtractGroupByDecorVariablesRule;

- add an aggregate function first-element;

- fix ASTERIXDB-1560, an error message issue.

Change-Id: I62fca7f937aa007d97ed87c75cef19f6aa3e5ade

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1050

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

  1. … 235 more files in changeset.
Support LIKE, NOT LIKE, IN, NOT IN.

Change-Id: I497c4420431460bc461937dd5fc58956e1fad6ea

Reviewed-on: https://asterix-gerrit.ics.uci.edu/974

Reviewed-by: Till Westmann <tillw@apache.org>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

  1. … 58 more files in changeset.
Support implicit variable name and column name.

1. Support WITH clause for general cases;

2. Fixed open/closed type optimization;

3. Fixed scoping for nested aggregations;

4. Fixed side effects during partition property analysis;

5. Fixed type propagation policy for Subplan operator.

Change-Id: I409b9ba139c9f000a6b9b84d519d172d0069e4bb

Reviewed-on: https://asterix-gerrit.ics.uci.edu/950

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

  1. … 231 more files in changeset.
Fix query plans for constant aggregates.

- Fixes for both global aggregates and group-by aggregates.

- Allow optimizer tests to test sql++ queries.

Change-Id: I8c2b9f4d566e62d56efe155554a317ea333420a6

Reviewed-on: https://asterix-gerrit.ics.uci.edu/876

Reviewed-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

    • -0
    • +24
    ./constant-gby-agg.plan
  1. … 6 more files in changeset.