Clone Tools
  • last updated 18 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-2460][FUN] Fix sum() overflow bug

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Fixed the sum() overflow problem. Now the sum() function will

return either bigint or double based on the input types.

- Added sum() aggregate local, intermediate and global classes.

Currently, it is using the same class for the three steps and

checking the type using an if statement. Although the three

steps all have a very similar behavior, having them in split

classes makes it cleaner and easier to read and maintain in the

future.

- Added sum() aggregate local, intermediate and global for serialized

classes.

- Added sum() and serial sum() test cases and modified test cases

to cause the reported overflow issue.

- Added sum() and serial sum() test cases that cause a

Long.MAX_VALUE type overflow.

- Valid data type check is now part of the sum calculation to

avoid redundant steps.

Change-Id: I987417770b3bfbda6af29a27acc8c96dc8a99eb8

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

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: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

  1. … 172 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-2272][FUN] Count character positions from 0

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Count character positions in strings, binary from 0 instead of 1

- Affects following built-in functions:

position(), regexp_position(), substr()/subtring(),

sub_binary(), find-binary()

- Introduce new configuration property “compiler.stringoffset”

for backward compatibility

compiler.stringoffset = 0 - count from 0 (new default)

compiler.stringoffset = 1 - count from 1 (backwards-compatible setting)

Change-Id: Icdb2c241983d5f592b2695ef16eae9951518d7fd

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

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

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

  1. … 108 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-2119][COMP] Fix variable ordering of project pushdown

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Fix variable ordering of PushProjectDownRule by using LinkedHashSet.

Related to previous patch https://asterix-gerrit.ics.uci.edu/#/c/2043/

Change-Id: I21d0a2764e22482a9361b709e566d78acd33cf4d

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

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: Jianfeng Jia <jianfeng.jia@gmail.com>

  1. … 4 more files in changeset.
[ASTERIXDB-2119][COMP] Fix variable ordering of projects

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

The current IntroduceProjectsRule implementation uses HashSet to

calculate projected variables, which makes the ordering of output

variables unpreditable. This patch fixes this undesired behavior by

using LinkedHashSet to ensure the project variables have the same

ordering from the original variables.

Change-Id: Id96a5fe048dd11b7f2e97f4d4a802736ba5ba003

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

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

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

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

Reviewed-by: Taewoo Kim <wangsaeu@gmail.com>

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

  1. … 9 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.
Make query plans more user-friendly.

Change-Id: I91c15913009295352cf7cccf4a4028f1ff271e3f

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

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: Steven Jacobs <sjaco002@ucr.edu>

    • -0
    • +46
    ./explain_field_access.1.adm
  1. … 97 more files in changeset.