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

Change-Id: I3bcf787f56d8e9288c48d619df31cad452837ef7

  1. … 3 more files 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
    • +15
    ./btree-composite-key-03.plan
  1. … 14 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>

  1. … 840 more files in changeset.
[ASTERIXDB-2468] Extend CountVarToCountOneRule to support no group-by

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Extend CountVarToCountOneRule to support the no group-by case so

that count queries without group-by can be handled as well.

- Also extend this rule to support SQL_COUNT. In this case, count(v)

is replaced with count(1) only v is not nullable.

Change-Id: Ie0808912cf45d3a914ebf7f69ec42f73b33c071f

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

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. … 28 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>

    • -0
    • +69
    ./btree-secondary-68_ps.plan
    • -0
    • +47
    ./btree-sidx-idxonly-01-disable-idxonly_ps.plan
    • -0
    • +65
    ./btree-sidx-idxonly-01_ps.plan
  1. … 355 more files in changeset.
[ASTERIXDB-2437][COMP] Ensure the index-only plan on a composite index

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Ensure the proper build of an index-only plan on a composite index

where both fields are used in the SELECT condition and only one field

is returned.

Change-Id: Idcc4cbe08323e0c6edb4a01637b2017128da1ab5

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

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
    • +35
    ./btree-sidx-idxonly-10.plan
  1. … 7 more files in changeset.
[ASTERIXDB-2448][COMP] Fix NullPointerException in IntroduceSelectAccessMethodRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fixed NPE when intersecting two indexes and predicate containing

between operator:

a) If index intersection plan is not possible then exit the rule

b) Rewrite between operator into ge/le pair instead of le/le pair

Change-Id: I34d4cde6adf3785feb6a8280fcdb964a5fb72803

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

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
    • +32
    ./btree-secondary-68.plan
  1. … 10 more files in changeset.
[ASTERIXDB-2366][TEST] Optimizer tests cleanup for SQL++

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

The current optimizerTest actually doesn't use the SQL++ test cases.

The existed test cases for SQLPP also have various issues.

This patch cleans part of the test cases which failed at variable names

changes in the result query plan.

Change-Id: I8dbe67d6376d517a4919e8478a6e88326b3e1cc0

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

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. … 445 more files in changeset.
[NO ISSUE][COMP][RT] Rename index-only test case files

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Rename index-only test case files to a shorter version

not to cause issues on Windows environment.

Change-Id: I4a4bb7b045a430bd446aed756f58af7b4c2a6eaa

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

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>

    • -31
    • +0
    ./btree-secondary-composite-index-indexonly-plan-01.plan
    • -19
    • +0
    ./btree-secondary-index-indexonly-plan-01-disable-indexonly-plan.plan
    • -30
    • +0
    ./btree-secondary-index-indexonly-plan-01.plan
    • -33
    • +0
    ./btree-secondary-index-indexonly-plan-02.plan
    • -31
    • +0
    ./btree-secondary-index-indexonly-plan-03.plan
    • -32
    • +0
    ./btree-secondary-index-indexonly-plan-04.plan
    • -35
    • +0
    ./btree-secondary-index-indexonly-plan-05.plan
    • -33
    • +0
    ./btree-secondary-index-indexonly-plan-06.plan
    • -35
    • +0
    ./btree-secondary-index-indexonly-plan-07.plan
    • -33
    • +0
    ./btree-secondary-index-indexonly-plan-08.plan
    • -53
    • +0
    ./btree-secondary-index-indexonly-plan-09.plan
    • -0
    • +31
    ./btree-sidx-composite-idxonly-01.plan
    • -0
    • +19
    ./btree-sidx-idxonly-01-disable-idxonly.plan
    • -0
    • +30
    ./btree-sidx-idxonly-01.plan
    • -0
    • +33
    ./btree-sidx-idxonly-02.plan
  1. … 427 more files in changeset.
[ASTERIXDB-1972][COMP][RT][TX] index-only plan

- user model changes: no

- storage format changes: no

- interface changes: IAccessMethod, ILSMIndexOperationContext,

IIndexAccessor

Details:

- Implement an index-only plan

- Add a SET option that disables the index-only plan

Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51

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

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: Taewoo Kim <wangsaeu@gmail.com>

    • -0
    • +31
    ./btree-secondary-composite-index-indexonly-plan-01.plan
    • -0
    • +19
    ./btree-secondary-index-indexonly-plan-01-disable-indexonly-plan.plan
    • -0
    • +30
    ./btree-secondary-index-indexonly-plan-01.plan
    • -0
    • +33
    ./btree-secondary-index-indexonly-plan-02.plan
    • -0
    • +31
    ./btree-secondary-index-indexonly-plan-03.plan
    • -0
    • +32
    ./btree-secondary-index-indexonly-plan-04.plan
    • -0
    • +35
    ./btree-secondary-index-indexonly-plan-05.plan
    • -0
    • +33
    ./btree-secondary-index-indexonly-plan-06.plan
    • -0
    • +35
    ./btree-secondary-index-indexonly-plan-07.plan
    • -0
    • +33
    ./btree-secondary-index-indexonly-plan-08.plan
    • -0
    • +53
    ./btree-secondary-index-indexonly-plan-09.plan
  1. … 414 more files in changeset.
[ASTERIXDB-920] Fix BTree Composite Key Search

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

When we search a primary BTree with composite keys, we should always add

another select operator to filter out results, unless only the last key

is a range search. The reason is that when we search a BTree, we iterate

from the start index (based on the composite low range) to the end index

(based on the composite high range). However, during the iteration,

there could be a lot of false positives.

This patch fixes this bug by preserving the select operator in case of

composite keys.

Change-Id: I8654e52aec59601c533255cd57c2824612066fc0

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

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

  1. … 19 more files in changeset.
[ASTERIXDB-2015][IDX] Introduce Primary Index Optimization Rule

- user model changes: no

- storage format changes: no

- interface changes: no

details:

This is the optimization rule that will optimize aggregation queries

when only PKs are involved. The rule will use the primary index and

replace the dataset scan or unnest-map operator.

Change-Id: I3bbb2b5e1f25e61928d73b866e91c592ce0bf954

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

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

    • -0
    • +13
    ./btree-secondary-64.plan
    • -0
    • +14
    ./btree-secondary-65.plan
    • -0
    • +11
    ./btree-secondary-66.plan
    • -0
    • +11
    ./btree-secondary-67.plan
  1. … 30 more files in changeset.
ASTERIXDB-1608, ASTERIXDB-1617 Match user query for nonpure function calls

This fix makes it so that nonpure functions are called in

the same place and with the same number of executions

as specified by the user in the query. This also means

that indexes cannot be used for queries that compare

with a nonpure call that is made on a per-record basis.

Added optimizer tests

Change-Id: I2dec322b30835625430c06acd7626d902bada137

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

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

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

  1. … 46 more files in changeset.