Clone Tools
  • last updated 13 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[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
    • +8
    ./meta_in_with_clause/meta_in_with_clause.3.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.4.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.5.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.6.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.3.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.4.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.5.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.6.adm
  1. … 85 more files in changeset.
[NO ISSUE][COMP] Meta() after group by

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Using meta() after group-by requires meta() be assigned to

a variable in a LET clause to expose meta().

- added source location to IFunctionManager.lookupFunction()

- added test cases

Change-Id: I2b173e23352fa80ef57154f08910586c6ee196b8

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

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>

    • -0
    • +6
    ./meta_after_gby/meta_after_gby.3.adm
  1. … 12 more files in changeset.
[NO ISSUE][COMP] fix resolving PK field accesses & rewriting of meta()

- user model changes: no

- storage format changes: no

- interface changes: no

details:

This patch 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: I2d38cbfcc4a0eee51abf753a7d958dafa666aabf

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

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>

    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.3.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.4.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.5.adm
    • -0
    • +8
    ./meta_in_with_clause/meta_in_with_clause.6.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.3.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.4.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.5.adm
    • -0
    • +9
    ./resolving_pk_with_meta/resolving_pk_with_meta.6.adm
  1. … 31 more files in changeset.
Update adm.grammar and printers for double/float

adm.grammar was not accepting suffixed doubles. This was breaking

a lot of round-trip ADM cases. I also changed the default print for

float and double to not have a suffix, because this makes the output

very odd (NaNd, NaNf, -Infinityf). The print mode for integers

has also been changed to omit the suffix, but, similarly the old

format is still accepted.

Change-Id: I6164d74f6c286fa160a30cff9ad47e97a30e0770

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

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

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

Reviewed-by: Michael Blow <michael.blow@couchbase.com>

    • -1
    • +1
    ./query_dataset_with_meta_primary_index-1/query_dataset_with_meta_primary_index-1.1.adm
    • -1
    • +1
    ./query_dataset_with_meta_primary_index-1/query_dataset_with_meta_primary_index-1.2.adm
  1. … 500 more files in changeset.