Clone Tools
  • last updated 26 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge branch 'stabilization-f69489' into 'mad-hatter'

Change-Id: I3bcf787f56d8e9288c48d619df31cad452837ef7

  1. … 1 more file in changeset.
[NO ISSUE][COMP] Fix internal error with composite key index

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fixed ArrayIndexOutOfBoundsException in

BTreeAccessMethod.createIndexSearchPlan() when

there's a composite key index and a query predicate

that operates on a subset of its key fields.

E.g.

create index ... on .. (a,b,c);

select ... from ... where a = ... and c = ...

Change-Id: I87deb2537a97789b93a7174f97470b46a0558188

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

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

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

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

    • -0
    • +49
    ./queries/btree-index/btree-composite-key-03.sqlpp
    • -0
    • +15
    ./results/btree-index/btree-composite-key-03.plan
  1. … 10 more files in changeset.
[NO ISSUE][COMP] Fix wrong result with indexnl outer join

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix duplicate tuples in the result when indexnl hint

is applied to a standalone left outer join

Change-Id: I0e692d731caa9914438817b299c64569130075b0

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

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

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

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

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

    • -0
    • +70
    ./queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_03-index-only.sqlpp
    • -0
    • +70
    ./queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_03.sqlpp
    • -0
    • +49
    ./results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_03-index-only.plan
    • -0
    • +33
    ./results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_03.plan
  1. … 20 more files in changeset.
[ASTERIXDB-2648][COMP] Fix dataset order in broadcast hint

- user model changes: yes

- storage format changes: no

- interface changes: no

details:

- Provides hash-bcast hint to replace bcast hint which makes

broadcast join consistent with other types of joins for choosing

the broadcasting dataset based on dataset order in FROM clause.

- Chooses the build dataset to get broadcast based on the order

in the FROM clause not the WHERE clause (which was the case for

bcast hint).

Change-Id: I505fc8e0bc32c760ae0471c6b302bbfd8499be4a

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

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

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

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

    • -1
    • +1
    ./queries/hints/broadcast_hint_1.sqlpp
    • -1
    • +1
    ./queries/hints/broadcast_hint_2.sqlpp
    • -2
    • +2
    ./queries/hints/broadcast_hint_3.sqlpp
    • -1
    • +1
    ./queries/joins/nested_query_with_bcast.sqlpp
    • -2
    • +2
    ./queries/similarity/jaccard-similarity-join-dual-order.aql
    • -2
    • +2
    ./queries/similarity/jaccard-similarity-join-right-ahead.aql
    • -1
    • +1
    ./queries/tpch/q12_shipping_broadcast.sqlpp
    • -1
    • +1
    ./queries/tpch/q12_shipping_broadcast_ps.sqlpp
    • -3
    • +3
    ./results/joins/nested_query_with_bcast.plan
  1. … 40 more files in changeset.
Merge commit '8930f0d' from stabilization-f69489

Change-Id: I64cf862bc5ebe19a24acbccf821f68556699222e

    • -0
    • +24
    ./results/meta/indexes_on_dataset_with_meta_05.plan
    • -0
    • +17
    ./results/meta/indexes_on_dataset_with_meta_06.plan
    • -0
    • +18
    ./results/meta/indexes_on_dataset_with_meta_07.plan
    • -0
    • +17
    ./results/meta/indexes_on_dataset_with_meta_08.plan
    • -0
    • +24
    ./results/meta/indexes_on_dataset_with_meta_10.plan
    • -0
    • +17
    ./results/meta/indexes_on_dataset_with_meta_11.plan
  1. … 18 more files in changeset.
[NO ISSUE][COMP] Remove listify() when iterating over aggregate

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Optimizer must remove listify() when iterating

over an aggregate function that returns a list

Change-Id: I7a8919595be7e4a44a5816ac7f281842d03ecc1f

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

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>

    • -0
    • +27
    ./queries/aggregate-sql-sugar/array_agg/array_agg.1.sqlpp
    • -0
    • +6
    ./results/aggregate-sql-sugar/array_agg/array_agg.1.plan
  1. … 5 more files in changeset.
[NO ISSUE][COMP] Fix index selection for datasets with meta

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Fix index selection for datasets with meta. Access method rule should

check where the field is coming from (dataset record or meta record)

and then determine if the field matches the keys in the index based

on their names and sources.

This patch also fixes resolving PK field accesses to the primary key

variable (e.g. $ds.getField("id") is turned into $13 where id is a PK).

The fix considers whether the PK is coming from the data record or the

meta record.

The patch also includes fixing rewriting of meta() references and

replacing them with their corresponding meta variables. Now nested plans

are visited also when looking for meta() references to take care of cases

where the data scan producing the meta variable and the meta() references

happen to be inside the nested plans.

MetaFunctionToMetaVariable() is fired also after the rules which eliminate

subplans to allow for rewriting of the meta() if it couldn't be replaced

when the meta() reference was in the subplan but referring to meta variable

outside the nested plan.

ReinferAllTypesRule() is now fired before ByNameToByIndexFieldAccessRule()

to allow the latter rule to get the up-to-date types in the whole plan.

Change-Id: I0503f64cd51153896e2d7d7abc465c679f82e2fd

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

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

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

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

Contrib: Till Westmann <tillw@apache.org>

    • -0
    • +41
    ./queries/meta/field_access_with_data_and_meta_1.sqlpp
    • -0
    • +41
    ./queries/meta/field_access_with_data_and_meta_2.sqlpp
    • -0
    • +41
    ./queries/meta/field_access_with_data_and_meta_3.sqlpp
    • -0
    • +41
    ./queries/meta/field_access_with_data_and_meta_4.sqlpp
    • -0
    • +44
    ./queries/meta/indexes_on_dataset_with_meta_01.sqlpp
    • -0
    • +44
    ./queries/meta/indexes_on_dataset_with_meta_02.sqlpp
    • -0
    • +44
    ./queries/meta/indexes_on_dataset_with_meta_03.sqlpp
    • -0
    • +44
    ./queries/meta/indexes_on_dataset_with_meta_04.sqlpp
    • -0
    • +48
    ./queries/meta/indexes_on_dataset_with_meta_05.sqlpp
    • -0
    • +48
    ./queries/meta/indexes_on_dataset_with_meta_06.sqlpp
    • -0
    • +48
    ./queries/meta/indexes_on_dataset_with_meta_07.sqlpp
    • -0
    • +46
    ./queries/meta/indexes_on_dataset_with_meta_08.sqlpp
    • -0
    • +45
    ./queries/meta/indexes_on_dataset_with_meta_09.sqlpp
    • -0
    • +47
    ./queries/meta/indexes_on_dataset_with_meta_10.sqlpp
    • -0
    • +47
    ./queries/meta/indexes_on_dataset_with_meta_11.sqlpp
  1. … 78 more files in changeset.
[NO ISSUE][COMP] Temporarily disable some property matching

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- ORDERED_PARTITIONED can only satisfy UNORDERED_PARTITIONED

if both use the same partitioning function. Currently there is no

mechanism for reasoning about partitioning functions so this case

has to be disabled until it is in place.

Change-Id: I7f280505f4fa02283fc14a0398760162e1150dc9

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

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

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

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

    • -0
    • +50
    ./queries/p_sort_join/p_sort_join.sqlpp
    • -0
    • +76
    ./results/p_sort_join/p_sort_join.plan
  1. … 6 more files in changeset.
[ASTERIXDB-2611][*DB] Fix GroupAll with empty input

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This patch is to fix the issue with group by all where

some partitions are empty. The patch in general handles

propagating outer scope variables through group by all by using

subplans instead of using decor variables when translating

the AST.

- changed IsomorphismVariableMappingVisitor to stop re-visiting

the same nested tuple operator pair again

- moved getFdColumns() up in hierarchy to be shared by others

- added a check to prevent group-all with decoration fields

Change-Id: I56916fc60c696f6c702717210f108f2247b2a397

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

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

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

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

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

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

    • -14
    • +14
    ./results/tpcds/query-ASTERIXDB-1581-correlated.plan
    • -141
    • +167
    ./results/tpcds/query-ASTERIXDB-1581.plan
  1. … 35 more files in changeset.
[NO ISSUE][COMP] Static range map in full parallel sort

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support static range map in full parallel sort

- Add static range map option to ORDERED_PARTITIONED

structural property

- Add parseExpression() methods to SQL++ and AQL parsers

- Simplify RangeMapBuilder.parseHint()

Change-Id: I7eab6e6ede8c2dbb714a27801a76ad64bd9be1b8

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

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

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

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

  1. … 16 more files in changeset.
[NO ISSUE][COMP] Option to disable DisjunctivePredicateToJoinRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added compiler option "rewrite_or_as_join" that

disables DisjunctivePredicateToJoinRule

set rewrite_or_as_join "false";

Default value is 'true' (the rule is enabled)

Change-Id: Ifbde19b7371a351d13ac2b05efa70a42eddbae7b

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

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

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. … 18 more files in changeset.
[NO ISSUE][COMP] Stop reusing variables of Intersect operator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Intersect operator's input variables should not be reused as

its output variables (fixed IntroduceSelectAccessMethodRule

and IntroduceLSMComponentFilterRule)

- Remove HeuristicOptimizer.isHyracksOp() and updated

ExtractCommonOperatorsRule to use isMicroOperator() instead

- When copying Intersect operator OperatorDeepCopyVisitor now

properly handles its two kinds input variables

- Clear additional state in IntroduceSelectAccessMethodRule.clear()

and OptimizableOperatorSubTree.reset()

- Added testcases for index intersection

Change-Id: I551819b828450760797f6b29af02aad4e124646c

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

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

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. … 20 more files in changeset.
[NO ISSUE][COMP] Do not inline non-functional LET clauses

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- When inlining LET clauses in LET ... SELECT ...

skip those that contain non-functional expressions

Change-Id: I3740745e2e8c8a0bb11aa7908e68c682dd9a5553

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

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

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

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

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

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

    • -18
    • +18
    ./results/query-issue562_ps.plan
  1. … 9 more files in changeset.
[NO ISSUE][SQLPP] Support SELECT LET

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support SELECT ... LET ... (no FROM clause)

- Add CancelUnnestSingletonListRule to the optimizer

- Add negative testcase for unnamed field value

expressions in object constructor

Change-Id: I1226dca83e756075608232c642851f646a9bee3b

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

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

    • -0
    • +25
    ./queries/flwr/select-let-1.sqlpp
    • -0
    • +4
    ./results/flwr/select-let-1.plan
  1. … 8 more files in changeset.
[NO ISSUE][COMP] Refactor physical window operator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Create a new physical operator (WindowStreamPOperator)

for window operators that do not require partition materialization

- Create AbstractWindowPOperator which is now a base

class for both physical window operators

- Rename WindowSimpleRuntime* to WindowStreamRuntime*

Change-Id: I3863fa3d298aef53d4098be9fc17b0451eb2c23e

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

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

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

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

    • -1
    • +1
    ./results/window/win_misc/win_misc_02.plan
  1. … 12 more files in changeset.
[ASTERIXDB-2552][RT] Implement micro external sort for subplans

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This patch is to change the in memory sort used in subplans to

be a micro external sort to avoid out of memory error.

- added reset() to the runs merger to allow reusing the runs merger.

- renamed "InMemoryStableSortPOperator" to "MicroStableSortPOperator".

- changed the tag from "IN_MEMORY_STABLE_SORT" to "MICRO_STABLE_SORT".

- added test cases.

Change-Id: I930849d644c60d461d2869c9773b85e49b46fbdb

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

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

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
    • +1
    ./results/group-by/sugar-06-distinct.plan
    • -1
    • +1
    ./results/insert-return-custom-result.plan
  1. … 19 more files in changeset.
[ASTERIXDB-2310][STO]Enforce Key Uniquness using PKIndex

- user model changes: no

- storage format changes: yes. Primary key index

now has bloom filters.

- interface changes: no

Details:

- Add bloom filters to primary key index.

- Introduce LSMPrimaryInsertOperator to separate uniqueness check from

the primary index. When the primary key index is available, it will be

used for uniqueness check. This implementation of this operation is

similar to LSMPrimaryUpsertOperator.

Change-Id: I7a52bb75ee5b14521972999df2f45ba62adc5af1

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

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

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

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

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

    • -0
    • +44
    ./queries/primary-key-index/delete-primary-key-index-with-secondary.sqlpp
    • -0
    • +44
    ./queries/primary-key-index/insert-and-scan-primary-key-index-with-secondary.sqlpp
    • -0
    • +44
    ./queries/primary-key-index/insert-primary-key-index-with-auto-gen-pk.sqlpp
    • -0
    • +49
    ./queries/primary-key-index/load-primary-key-index-with-secondary.sqlpp
    • -0
    • +44
    ./queries/primary-key-index/upsert-primary-key-index-with-secondary.sqlpp
    • -0
    • +20
    ./results/primary-key-index/delete-primary-key-index-with-secondary.plan
    • -0
    • +19
    ./results/primary-key-index/insert-and-scan-primary-key-index-with-secondary.plan
    • -0
    • +12
    ./results/primary-key-index/insert-primary-key-index-with-auto-gen-pk.plan
    • -0
    • +67
    ./results/primary-key-index/load-primary-key-index-with-secondary.plan
    • -0
    • +16
    ./results/primary-key-index/upsert-primary-key-index-with-secondary.plan
  1. … 39 more files in changeset.
[NO ISSUE][COMP] Improve window operator consolidation rule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Consolidate window operators computing FIRST_VALUE()

and LAST_VALUE() over the same window specification

Change-Id: I4714081d711c98c6e843901aa8a02bc4a0bd214e

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

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

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

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

    • -0
    • +34
    ./queries/window/win_opt_01/win_opt_01_10.sqlpp
    • -0
    • +34
    ./queries/window/win_opt_01/win_opt_01_11.sqlpp
    • -0
    • +15
    ./results/window/win_opt_01/win_opt_01_10.plan
    • -0
    • +15
    ./results/window/win_opt_01/win_opt_01_11.plan
  1. … 9 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
    ./results_parser_sqlpp/denorm-cust-order.ast
  1. … 43 more files in changeset.
Merge commit 'b7f029ec4f' from 'stabilization-f69489'

Change-Id: I4acc556e906ca43a0ef8f1f778446a26bffb1c32

  1. … 2 more files in changeset.
[ASTERIXDB-2536][COMP] Do not push Select through RunningAggregate

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Make OperatorPropertiesUtil.isMovable() return false

for RunningAggregate operators, so Select operators

are not pushed through them

Change-Id: Iae9e69d2a15664360ae8f05fd09eba1a38e346c7

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

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

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

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

    • -0
    • +49
    ./queries/flwr/at07.sqlpp
    • -0
    • +41
    ./results/flwr/at07.plan
  1. … 6 more files in changeset.
[ASTERIXDB-2483][COMP][FUN] Eliminate listify for distinct aggregates

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Move distinct aggregate rewriting from SqlppQueryRewriter

  to RewriteDistinctAggregateRule in the optimizer

- Add runtime for scalar distinct aggregates

- Fix ExtractCommonOperatorsRule handling of binary operators

- Additional tests for distinct aggregates

Change-Id: If13ea2696e9e0a8a639db684656e5642991c1f99

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

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

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

  1. … 116 more files in changeset.
[ASTERIXDB-2459][FUN] Add skewness and kurtosis aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

1. Add skewness and kurtosis function and test cases

2. Add skewness and kurtosis distinct functions

3. Add documentation for skewness and kurtosis

4. Cleaned up some files related to the stddev and var tests cases

5. Change stddev() to stddev_samp() and var() to var_samp()

Change-Id: Iae0d7fc9d5ab3676b23b27ad62a730598221d8a5

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

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. … 1344 more files in changeset.
[ASTERIXDB-2521][COMP] Add rule to eliminate isomorphic subplans

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add optimizer rule that finds two isomorphic subplans

and eliminates one of them

Change-Id: I1142ea4805e7508a5d0a778081093504cf4f526a

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

    • -0
    • +29
    ./queries/group-by/listify-3.1.sqlpp
    • -0
    • +43
    ./results/group-by/listify-3.1.plan
  1. … 6 more files in changeset.
[NO ISSUE][COMP] Window operator runtime optimization

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add optimized runtime for window operator that computes

nested aggregates over the whole partition (unbounded frame)

- Do not generate unnecessary expressions when compiling

window operator with unbounded frame

Change-Id: If34d8eb05c069257c974f61810bee399136825fa

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

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>

    • -0
    • +28
    ./queries/window/win_opt_01/win_opt_01_9.sqlpp
    • -0
    • +14
    ./results/window/win_opt_01/win_opt_01_9.plan
  1. … 7 more files in changeset.
[NO ISSUE] Update tests, revert mockito change

Change-Id: I3f9e77fd090f612ecb206b72676248ffdaa66bc3

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

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

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

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

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

    • -51
    • +0
    ./queries/meta/secondary_index-lojoin_with_meta-1.aql
    • -40
    • +0
    ./queries/meta/secondary_index-nljoin_with_meta-3.aql
    • -43
    • +0
    ./queries/meta/secondary_index-nljoin_with_meta-4.aql
    • -39
    • +0
    ./queries/meta/secondary_index_with_meta-1.aql
    • -47
    • +0
    ./results/meta/secondary_index-lojoin_with_meta-1.plan
    • -23
    • +0
    ./results/meta/secondary_index-nljoin_with_meta-3.plan
    • -23
    • +0
    ./results/meta/secondary_index-nljoin_with_meta-4.plan
    • -16
    • +0
    ./results/meta/secondary_index_with_meta-1.plan
  1. … 12 more files in changeset.
[NO ISSUE][COMP] Window operator compiler fixes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Make window operator non-movable

- Add optimizer rule to remove empty window operators

- Consider window operators in RemoveUnusedAssignAndAggregateRule

- Propagate source location to constant expressions

Change-Id: I8e15620220844a07857656256a89c23d243ff2b2

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

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>

    • -0
    • +30
    ./queries/window/pg_win/pg_win_01.sqlpp
    • -0
    • +28
    ./queries/window/win_opt_01/win_opt_01_8.sqlpp
    • -0
    • +9
    ./results/window/pg_win/pg_win_01.plan
    • -0
    • +6
    ./results/window/win_opt_01/win_opt_01_8.plan
  1. … 11 more files in changeset.
[ASTERIXDB-2511][COMP] Refactor LET/WHERE clauses into a single list

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Consolidate LET and WHERE clauses into a single list in the SelectBlock

Change-Id: I9265dfc3adb9ef4d5eb963b0aa4d39c2ad0cc068

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

    • -2
    • +2
    ./results/tpcds/query-ASTERIXDB-1580.plan
  1. … 27 more files in changeset.
[ASTERIXDB-2505][COMP] Consolidate window operators rule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add optimizer rules that merge two window operators into one

- Improve existing optimizer rules to handle window operators

- Add tests for distinct aggregate in window operator

Change-Id: I5d0739d604d09f5445237d4fa3d56a2af8126bd7

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

    • -0
    • +58
    ./queries/window/win_misc/win_misc_01.sqlpp
    • -0
    • +39
    ./queries/window/win_misc/win_misc_02.sqlpp
    • -0
    • +29
    ./queries/window/win_opt_01/win_opt_01_1.sqlpp
    • -0
    • +29
    ./queries/window/win_opt_01/win_opt_01_2.sqlpp
    • -0
    • +30
    ./queries/window/win_opt_01/win_opt_01_3.sqlpp
    • -0
    • +31
    ./queries/window/win_opt_01/win_opt_01_4.sqlpp
    • -0
    • +29
    ./queries/window/win_opt_01/win_opt_01_5.sqlpp
    • -0
    • +30
    ./queries/window/win_opt_01/win_opt_01_6.sqlpp
    • -0
    • +29
    ./queries/window/win_opt_01/win_opt_01_7.sqlpp
    • -0
    • +29
    ./results/window/win_misc/win_misc_01.plan
    • -0
    • +23
    ./results/window/win_misc/win_misc_02.plan
    • -0
    • +11
    ./results/window/win_opt_01/win_opt_01_1.plan
    • -0
    • +15
    ./results/window/win_opt_01/win_opt_01_2.plan
  1. … 39 more files in changeset.
[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>

    • -0
    • +39
    ./queries/window/window_02.sqlpp
    • -3
    • +3
    ./results/aggregate/constant-gby-agg.plan
    • -8
    • +8
    ./results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
    • -5
    • +5
    ./results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.plan
    • -10
    • +10
    ./results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
  1. … 840 more files in changeset.