Clone Tools
  • last updated 21 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2760][COMP] Improve function call resolution

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor function call resolution and perform it earlier,

before GROUP BY expressions are substituted

- Consolidate gby-expr testcases into a single one

- Introduce QueryTranslator.handleDeclareFunctionStatement()

- Rename existing SqlppCaseExpressionVisitor to

SqlppCaseAggregateExtractionVisitor

- Move CASE expression rewriting code from

SqlppBuiltinFunctionRewriteVisitor into a separate visitor:

SqlppCaseExpressionVisitor

- Remove function name normalization code from SqlppAstPrintVisitor

and updated existing reference results

Change-Id: I527ffbff487b8534f66ca27d48788e96c65aec9b

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/7264

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

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

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

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

    • -8
    • +8
    ./invoke-private-function/invoke-private-function.3.ast
  1. … 1158 more files in changeset.
[ASTERIXDB-2181][FUN] Check whether a function is usable at creation

Verify rewrite step on a function before allowing creation

Add negative tests for bad function declarations

Change-Id: I262b8cfd29117c18f452973fed147696b83f1249

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

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

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. … 45 more files in changeset.
[ASTERIXDB-2193][SQLPP] Fix dataverse resolution in functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- When compiling user-defined function set default dataverse

to be the function's dataverse to correclty resolve dataset

accesses within that function

- Fix incorrect interpretation of quoted dataset names

FROM `a.b` now means FROM default_dataverse.`a.b`

(previously it meant FROM `a`.`b`)

Change-Id: I699b35fb46a739e9fdfcaf5cbfd6a4a00ce4da38

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

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

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

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

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

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

  1. … 1516 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.
[NO ISSUE][COMP] Function references cleanup

- user model changes: no

- storage format changes: no

- interface change: no

Details: cleanup function references

- Use function identifiers when referring to built-in functions

- Use OperatorType enum when referring to operators

- Add FunctionSignature constructor that takes FunctionIdentifier

- Use asterix/algebricks namespace when referring to built-in functions

Change-Id: Ibad290182ed0f248f65987df97e6c61aac95b232

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

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

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: Ian Maxon <imaxon@apache.org>

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

  1. … 1576 more files in changeset.
[ASTERIXDB-1983] Feed pipeline refactoring for SQL++

- user model changes: no

- storage format changes: no

- interface changes: no

Current implementation of feed uses handcraft AQL queries for creating

feed pipeline. This causes a lot of issues and does not support SQL++

very well. Also, there is an overhead for parsing the query everytime.

In this patch, it's replaced with compiled statement in SQL++ which

provides support for attaching UDF to feed as well.

Details:

1. Remove SubscribeFeedStatement.

2. Remove SubscribeFeed related query compilation code, and reuse the

upsert dataflow.

3. Added SQL++ User Defined Function support for feed, including adding

multiple functions to one feed.

4. Related test cases added.

5. Change the default behavior of feed to be upsert instead of upsert.

'insert-feed' option is provided for experiment uses.

6. This patch also fixes several feed related bugs: [ASTERIXDB-2085]

[ASTERIXDB-2124].

Change-Id: I0ae5a837613780a4d2c90c98139fdc6d5e040cc9

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

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: abdullah alamoudi <bamousaa@gmail.com>

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

  1. … 93 more files in changeset.
[ASTERIXDB-2078][SQL] DISTINCT modifier for aggregate functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Adds support for DISTINCT modifier in aggregate functions:

AGG(DISTINCT expr), ARRAY_AGG(DISTINCT expr), COLL_AGG(DISTINCT expr)

where AGG = COUNT | SUM | AVG | MIN | MAX

Change-Id: I52772349cbcbfc68a3a1ff261d610871ca38748d

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

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

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>

  1. … 360 more files in changeset.
ASTERIXDB-1650: fix undefined variable reference resolution.

The order of resolving a reference to an undefined variable is:

-- If the reference to an undefined variable is the binding expression for FROM/JOIN/UNNEST/Quantifier,

then it can only be resolved to a dataset;

-- Otherwise, it is firstly resolved as a field-access. If the system couldn't find a candidate

field access, it is then resolved to a dataset.

Change-Id: I24e4c1b38e53c97380cfb3e2e9b61cdd05fe7002

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

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: Till Westmann <tillw@apache.org>

  1. … 86 more files in changeset.
ASTERIXDB-1539: add aliases for several builtin types and builtin functions.

- tinyint for int8;

- smallint for int16;

- integer(or, int) for int32;

- bigint for int64;

- year_month_duration for year-month-duration;

- day_time_duration for day-time-duration;

- timestamp for datetime;

- double precision for double;

int8, int16, int32, int64, year-month-duration and day-time-duration

is going to be deprecated.

In addition, it

- converts underscores to hypens for SQL++ functions;

- uses "array_" prefix for builtin aggregation functions.

Change-Id: I5c4a933f9775e89c2d503d9ea1cb98c5934d1475

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

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. … 3559 more files in changeset.
Add EXISTS/NOT EXISTS.

- Fixed the precedence order of NOT.

Change-Id: I7ec20753659e2de2fd65e5f858e0f73796b907d0

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

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

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

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

    • -2
    • +2
    ./query-issue218-2/query-issue218-2.3.ast
  1. … 68 more files in changeset.
Support SQL-compilant delete syntax.

Change-Id: Ifdd4acf3772cac1a21bb56a7eba4be51abbb5068

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

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: Till Westmann <tillw@apache.org>

  1. … 50 more files in changeset.
Add IS (NOT) NULL/MISSING/UNKOWN.

Change-Id: I7e4008d97f0d3a92816b90492dd8c887b05bac27

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

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

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

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

  1. … 43 more files in changeset.
ASTERIXDB-1383: reduce the number of lines for "AS".

Change-Id: Ic655bf25701f33230787d175b78bedc489909cb0

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

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

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

    • -2
    • +1
    ./invoke-private-function/invoke-private-function.3.ast
  1. … 1705 more files in changeset.