Clone Tools
  • last updated 17 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE] Support multipart dataverse names

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Support dataverse names that consist of multiple parts

- Introduce DataverseName class and adopt it throughout the system

- Add testcases for multipart dataverse names

Change-Id: I1313b2dc0e8df6a9b0ded48dea122afc3ba5dbe7

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

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

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

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

  1. … 284 more files in changeset.
[ASTERIXDB-2635][*DB] Fix JSON plan pretty printing

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Use Jackson to pretty print the logical plan as JSON.

- fixed JsonLogicalPlanTest to validate JSON plans

produced by optimizer tests.

Change-Id: Ic5ada2f31afebc3f219b0584b5ae527ddf9e326e

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

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

  1. … 21 more files in changeset.
Merge commit '8930f0d' from stabilization-f69489

Change-Id: I64cf862bc5ebe19a24acbccf821f68556699222e

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

  1. … 92 more files in changeset.
[ASTERIXDB-2626][*DB] Ignore dup fields in record construction, issue warning

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

Change the current behavior of throwing exceptions on duplicates fields

on a record to just picking one and return a warning when possible.

- added source location for auto generated name expressions.

- removed duplicate test cases from AQL test suite since SQL++ alraedy has it.

- updated test cases that used to throw exception on duplicate fields.

- updated an AST test case to reflect the new behaviour of picking one field.

- clean-ups in testsuite_sqlpp:

moved flwor let33 test case to its proper group.

moved ObjectsQueries, GeoQueries xml references up to where other xml refs.

Change-Id: I2d773b194f0e0f35720bb3fd63f1997239800762

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

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>

  1. … 53 more files in changeset.
[NO ISSUE][COMP] Add support for compiler warnings

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add support for compiler warnings during parsing,

AST rewriting and query optimization phases

- SQL++ parser emits warnings for unknown hints in

relational expression, between expression,

groupby clause and function call.

- Optimizer emits warning if hash group by hint cannot

be applied because there's no serializable aggregate

- Added testcases for these new warnings

Change-Id: Ic3c1e98c183cd214eea3e4fee24b2b7c46366b52

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

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

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

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

  1. … 10 more files in changeset.
[ASTERIXDB-2288][COMP] Fix field access with UNION

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

For UNION, if there is an assign operator above UNION, the optimizer

will move the assign operator under UNION into both branches. If

the assign operator has field access by index, the index is based on

the output record of the union operator which could be different from

the field index in left and right branches. The fix is to map the

index to the correct index of the input operator where the assign

is copied to.

Change-Id: I4d65374aca6959fd5e70279fac8f7f0a6c7c64c5

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

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

  1. … 14 more files in changeset.
[NO ISSUE][COMP] Reduce memory requirements for metadata only queries

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Queries over metadata datasets should run with minimal memory requirements

- Introduce AsterixOptimizationContext which extends AlgebricksOptimizationContext

  and contains information required by Asterix optimizer rules

- Implement equals()/hashCode() for DataSourceId

- Add "plans" testcase type

Change-Id: I0d8902f88f61953e839e2fa0b06a77c324edbc57

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

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

    • -0
    • +67
    ./AsterixOptimizationContext.java
  1. … 15 more files in changeset.
[NO ISSUE][COMP] Make memory requirements an operator property

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor how memory requirements are maintained in a query plan

- Introduce LocalMemoryRequirements class. Its instances are held

by each physical operator and could be altered by the optimizer.

- Introduce optimizer rule SetMemoryRequirementsRule that

initializes and configures memory requirements for each operator

Change-Id: I3481ddfe163c6ce786290c540cbd05db16a7f64f

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

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>

  1. … 31 more files in changeset.
[NO ISSUE][COMP] Refactor physical operator assignment rules

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor SetAlgebricksPhysicalOperatorsRule and make it extensible

- Make SetAsterixPhysicalOperatorsRule a subclass of

SetAlgebricksPhysicalOperatorsRule

- Remove SetAlgebricksPhysicalOperatorsRule from Asterix rule set,

replace its invocations with SetAsterixPhysicalOperatorsRule

Change-Id: I502f367464a6fabc595cff804722f793e052570f

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

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>

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

  1. … 12 more files in changeset.
[ASTERIXDB-2516][RT] Modifty range map function of parallel sort

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Currently, the range map function of parallel sort passes "null"

to get a comparator to sort the samples and produce the range map.

The comparator provider will enforce providing a type and prevent

passing "null". The range map function needs to be updated to get

the types of the sort fields and use them to get comparators.

- changed the output type of the local sampling function from

list of list of ANY to binary. The old type computer was removed.

- added null writer aggregate function that just produces null as

an aggregate value. this is needed in order to propagate the type

of the sort fields from the local step to the global step so that

the range map function can know the types of the sort fields.

Change-Id: I7edbb10906cc4464210af87a5b1630ba3aecbde0

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

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>

  1. … 13 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. … 130 more files in changeset.
[NO ISSUE] Apply / enforce java import order

The process-sources target will now sort imports as well as

format source code; the source-format job will likewise verify

import order in addition to source code format

Change-Id: I55d976c4df10d9919c6a25683be2a3e3304e65d9

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

Integration-Tests: Michael Blow <mblow@apache.org>

Tested-by: Michael Blow <mblow@apache.org>

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

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

  1. … 625 more files in changeset.
[ASTERIXDB-2525][COMP] Re-infer types after introducing aggregate combiners

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Re-infer all types after introducing aggregate combiners

- AbstractIntroduceGroupByCombinerRule should keep original

operators in nested plans if it did not apply

Change-Id: I404b795452660792166d7e41edcd7dbf9d85f9f8

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

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

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

  1. … 7 more files in changeset.
[NO ISSUE][RT] Window operator runtime optimization

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Runtime optimization for window operators with accumulating

frames (unbounded preceding to current row or n following)

- Refactor window function properties into generic

builtin function properties

Change-Id: I8d1574defc73076ad960c4067432da29ead160a5

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

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>

  1. … 30 more files in changeset.
[NO ISSUE][RT] Window operator runtime optimization

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Runtime optimization for window operator with monotonic

frame start expression. In this case continue scanning

from the beginning of the frame that was found in the

previous iteration

- Allow inlining variables into window operator expressions

except PARTITION BY, ORDER BY and frame value expressions

Change-Id: I65bed4092f4fd3622f1525b26ce25e2ac07d7538

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

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

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

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

  1. … 38 more files in changeset.
[ASTERIXDB-2466][FUN] Implement window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement window functions with SQL syntax:

function() OVER ((PARTITION BY expr1, expr2, ...)? ORDER BY exprA, exprB, ...)

- Where supported functions are:

ROW_NUMBER(), RANK(), DENSE_RANK(), PERCENT_RANK(), NTILE()

Change-Id: Ia28af8773cb11049c38d440c51b9c3cd1ed2bab4

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

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>

  1. … 167 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. … 357 more files in changeset.
[NO ISSUE][COMP][RT] Enable multiway similarity joins

- Enable the FuzzyJoinRule that transforms

a nested-loop-similarity-join plan to a three-stage-similarity join.

- Modify FuzzyJoinRuleCollections.

- Add the ExtractCommonExpressionRule to extract common expressions

in the star-like multiple similarity join substitutions.

- Add the InlineSubplanInputForNestedTupleSourceRule to translate

the generated subplan from the similarity function-derived

substitution into join in case of nested schemas.

- Use similarity-jaccard-prefix to enable the pp+ join strategy.

- Use the right side to build the heavy hash join on

the prefix tokens from both sides.

- Add RemoveAssign/Variables/AggRules to iteratively remove unused

assign/vars once FuzzyJoinRule is applied in each round.

- Add three new optimization cases for multiway similarity joins.

- link-like multiway similarity joins

- star-like multiway similarity joins

- hybrid multiway similarity joins with the both styles of similarity joins.

- Add a check whether a similarity function is on

a select over an existing similarity join.

- Change the inverted-index-based similarity join to the three-stage-similarity join

due to efficiency considerations.

Change-Id: I8736f104905eeda763d39709e002c2b9629278cc

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

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>

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

  1. … 259 more files in changeset.
[NO ISSUE][COMP] allow optimization rule to inspect other functions + fixes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

1. allow the optimization rule "InjectTypeCastForSwitchCaseRule"

(renamed to "InjectTypeCastForFunctionArgumentsRule" now) to consider other

functions specified by the user in addition to the ones already considered

by the rule.

2. fix an issue related to ConstantFoldingRule that affects some existing

functions where the rule would have the function compute the value but fail

to deserialize it (read it) back due to differences in compile-time type

and runtime type.

3. fix static casting of a list constructor function which fails to cast

open its items when the item is a function that returns a closed derived

type.

Change-Id: I65679e934a41e00b04bc3fd479ed404af293eb21

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

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. … 13 more files in changeset.
[NO ISSUE][OTH] Remove Unused Imports

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: Iafff39073d0fedaff74a26ef7e3260008a79ff0c

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

Reviewed-by: Michael Blow <mblow@apache.org>

Tested-by: Michael Blow <mblow@apache.org>

  1. … 67 more files in changeset.
[NO ISSUE][OTH] Cleanup Redundant Type Cast

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: I9c93ce90ad4aa789ae46284431e172ae4777bf55

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

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: Murtadha Hubail <mhubail@apache.org>

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

  1. … 30 more files in changeset.
[ASTERIXDB-2438][COMP] Allow assigns when pushing limit into data scan

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Handle assign operators between select and data scan

when pushing limit into data scan

Change-Id: I3b68890d034dded3db7572462f47161721aa18fa

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

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

  1. … 17 more files in changeset.
[NO ISSUE] Allow MetadataProvider config to store non String values

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- In many cases, we would like to associate a value with a key

in MetadataProvider to be accessed during the compilation

of jobs. However, currently, there is no place to store

such values, so we ended up storing them in the config

map.

- The config map is a <String, String> map and so, we would

write our values as a string and then parse them when needed.

- To avoid this, and to avoid introducing a new map, we simply

change the config stored in MetadataProvider from <String,String>

to <String, Object>.

Change-Id: I55b392ad199d74b0f3cffdc38b54593b12ec1a06

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

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

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

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

Integration-Tests: Murtadha Hubail <mhubail@apache.org>

  1. … 23 more files in changeset.