Clone Tools
  • last updated 24 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>

    • -1
    • +1
    ./groupby-orderby-count/groupby-orderby-count.3.ast
    • -4
    • +4
    ./nested-loop-join_01/nested-loop-join_01.3.ast
  1. … 1159 more files in changeset.
[NO ISSUE][COMP] Minor cleanup in VariableCheckAndRewriteVisitor

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- VariableCheckAndRewriteVisitor should create FieldAccessor

expressions when resolving identifiers as field accessors.

Currently it produces an internal function call in these cases.

FieldAccessor expressions will be converted into internal

function calls later by LangExpressionToPlanTranslator.

Change-Id: Icaab2a29f787439eebd67e44aa6a9e92df422a98

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

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

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

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

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

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

    • -4
    • +4
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  1. … 45 more files in changeset.
[ASTERIXDB-2286][COMP][FUN][HYR] Parallel Sort Optimization

- user model changes: yes

- storage format changes: no

- interface changes: yes

details:

- new plan for sort operation which includes sampling and

replicating the stream of data to be sorted. Sort-merge connector

is removed from the plan. The sorted result now is in multiple partitions.

- new optimization rule to check whether full parallel sort is applicable.

- new Forward operator to read the replicated sort input stream and

to receive the ouput of the sampling.

- new sequential merge connector to merge a globally ordered result residing

in multiple partitions (in addition to the connector's partition computer).

- "asterix-lang-aql/pom.xml" is changed as a result of refactoring

code related to the range map handling.

- new private sampling function to generate the range map object

(local & global functions) & their type computers.

user model changes:

- new compiler property is added to enable and disable parallel sort.

interface changes:

- "ILogicalOperatorVisitor.java" includes Forward Operator.

- "ITuplePartitionComputer.java" includes initialize() to enable partitioner

to do some initialization. FieldRangePartitionComputerFactory uses it to

pick a range map.

- "ITuplePartitionComputerFactory.java". createPartitioner() is changed to

createPartitioner(IHyracksTaskContext hyracksTaskContext). Context is needed

for transferring the range map throught the context.

Change-Id: I73e128029a46f45e6b68c23dfb9310d5de10582f

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

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. … 356 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
    • +1
    ./groupby-orderby-count/groupby-orderby-count.3.ast
    • -2
    • +2
    ./nested-loop-join_01/nested-loop-join_01.3.ast
    • -1
    • +1
    ./partition-by-nonexistent-field/partition-by-nonexistent-field.3.ast
  1. … 1509 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>

    • -6
    • +4
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  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>

    • -3
    • +3
    ./groupby-orderby-count/groupby-orderby-count.3.ast
    • -2
    • +2
    ./nested-loop-join_01/nested-loop-join_01.3.ast
    • -1
    • +1
    ./partition-by-nonexistent-field/partition-by-nonexistent-field.3.ast
  1. … 1575 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>

    • -2
    • +2
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  1. … 361 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>

    • -3
    • +25
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  1. … 261 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>

    • -2
    • +2
    ./groupby-orderby-count/groupby-orderby-count.1.ast
    • -4
    • +4
    ./nested-loop-join_01/nested-loop-join_01.1.ast
  1. … 3556 more files in changeset.
Add Default Dataverse and AnyObject Datatype

This change adds "Default" dataverse and

Metadata.AnyObject type which is the completely

open record type. In addition, this change cleansup between

subsequent test cases lowering the chance that a failed

test causes the following tests to fail. In addition, it

prints out the list of tests which left some leftover.

Change-Id: Ie02c74c8b005dce73888afd4dfe19ede2c60a8e8

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

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>

    • -0
    • +0
    ./flushtest/flushtest.5.ast
  1. … 203 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>

    • -23
    • +3
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  1. … 235 more files in changeset.
Support CASE expression in SQL++.

- support both simple CASE expression and searched CASE expression;

- support heterogenous return types of a CASE expression;

- remove IfElseExpression in SQL++;

- remove IfElseToSwitchCaseFunctionRule.java since the plan pattern it tries to identify is no longer right;

- unify CastRecordDescriptor and CastListDescriptor into CastTypeDescriptor;

- fix IS NULL for the case that the input is MISSING;

- let CastTypeDescriptor have a generated runtime so as to handle NULL/MISSING correctly.

Change-Id: Id9de7c3df70be43456e38a61ce767cc14f09e661

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

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

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

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

  1. … 115 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>

    • -4
    • +4
    ./groupby-orderby-count/groupby-orderby-count.3.ast
  1. … 231 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>

    • -14
    • +7
    ./groupby-orderby-count/groupby-orderby-count.3.ast
    • -4
    • +2
    ./nested-loop-join_01/nested-loop-join_01.3.ast
    • -2
    • +1
    ./partition-by-nonexistent-field/partition-by-nonexistent-field.3.ast
  1. … 1711 more files in changeset.