Clone
 

dmitry lychagin <dmitry.lychagin@couchbase.com> in asterixdb

[NO ISSUE][COMP] Cleanup Identifier constructors

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove default constructors from

Identifier, VarIdentifier, VariableExpr

- Make Identifier immutable

Change-Id: I3a0b4da0e2b621d309b8d9aa3c47540eb18566eb

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

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

    • -18
    • +15
    /asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
[NO ISSUE][DOC] Improve window functions documentation

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Minor improvements in the documentation

for window functions and OVER clause

Change-Id: I349d9b93edca3f3a7ffb340b016402e9ae8320fc

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

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

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

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

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

[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>

[NO ISSUE][COMP] Increase memory budget for window operator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Increase default memory budget for a window operator

from 4MB to 32MB

Change-Id: I6902d5e730232892f22e36598389309e8bc909c3

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

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

[NO ISSUE][COMP] Reduce memory requirements for monitoring functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Queries that only invoke monitoring/metadata datasource functions

should run with minimal memory requirements

- The functions are: active_requests(), completed_requests(),

dataset_resources(), storage_components(), jobs(), and ping()

Change-Id: If7de53a5b476c8ce0d3fe485bf526a5d425e4c37

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

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

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. … 13 more files in changeset.
[NO ISSUE][API] Introduce 'readonly' request parameter

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Introduce 'readonly' request parameter which allows user

to specify whether DDL / DML statements must be rejected

(if set to 'true') or allowed ('false' - default)

- Add test cases and update documentation

- Fix category of WRITE and INSERT statements

Change-Id: Ia2555483f431f97c10d922d2a8832bace6a97610

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

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

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

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

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

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

[NO ISSUE][COMP] Improve warnings for SQL++ hints

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Issue warnings for all hints that were not processed

  by the SQL++ parser. A hint is not processed because

  it is either unknown or unexpected at given location

Change-Id: Iec46335a8db4360e5431b145cd9e98c7075c7fda

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

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

    • -9
    • +31
    /asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
  1. … 9 more files in changeset.
[NO ISSUE][COMP] Emit warning for cross product

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Emit warning for a cross product join

Change-Id: Icd2b27f23517842fc532db7741ee60e8da737082

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

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

[NO ISSUE][COMP] Fix error in StaticTypeCastUtil

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix ArrayIndexOutOfBoundsException in StaticTypeCastUtil

Change-Id: I4bbd3f8680cc71fcf04b2e88fe155e7236ace54c

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

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

[NO ISSUE][COMP] Improve IPartitioningProperty.substituteColumnVars()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- IPartitioningProperty.substituteColumnVars() should return

a new instance of IPartitioningProperty if variable

substitution was performed for given variables

- Compute schema for a new Select operator introduced by

PullSelectOutOfEqJoin rule

- Refactor delivered properties computation in

AbstractPreclusteredGroupByPOperator

Change-Id: Iee7ef7de26f9d960b205d6d43e2820aaa396cb15

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

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

[ASTERIXDB-2612][COMP] Incorrect result with two-step aggregate

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Restrict two-step aggregate rewriting based on

operators in the GROUP BY subplan

Change-Id: Iffae44842d4aad594c4252218837fb2d244ede36

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

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

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

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

[NO ISSUE][COMP] Support runtime warnings during constant folding

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add IWarningCollector accessor to IEvaluatorContext

- Provide compiler's warning collector to function evaluators

during constant folding, so they can emit warnings

Change-Id: I61dd53adfbcad2f8479333579185258876f074e9

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

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>

[NO ISSUE][FUN] Introduce IEvaluatorContext

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Introduce IEvaluatorContext - a context for evaluators

that is available both at runtime and during constant

folding at compile time

- IEvaluatorContext provides access to IHyracksTaskContext

which is only available at runtime. At compile time this

accessor returns null

- Instantiate evaluators with IEvaluatorContext

instead of IHyracksTaskContext

Change-Id: Iff90c7739e46d6602fcd0609e67f6a8cd9714ca5

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

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

  1. … 675 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. … 24 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. … 13 more files in changeset.
[NO ISSUE][COMP] Fix variable handling in Intersect operator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Create separate lists for output compare and

extra variables in Intersect logical operator

- Align accessor method for input extra variables

with the one for input compare variables

- Remove getInputVariables() from Intersect operator

because these variables are already provided by

getInputCompareVariables() and getInputExtraVariables()

Change-Id: I4f436566e743d7e908a72bfa502c138ae7b99c6c

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

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

[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. … 14 more files in changeset.
[NO ISSUE][FUN] Allow frame in RATIO_TO_REPORT()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support frame specification in RATIO_TO_REPORT()

window function call

Change-Id: Ibc3686bebaf791aa84ef34d8fd143e53edc7856a

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

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>

[NO ISSUE] Fix error message thrown by ATypeHierarchy

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Align type mismatch error message thrown by ATypeHierarchy

with the one produced by TypeMismatchException

Change-Id: I830e93056d18123610b933a0e36fd1b54c6e140b

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

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>

[NO ISSUE][FUN] Allow ORDER BY in RATIO_TO_REPORT()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support ORDER BY specification in RATIO_TO_REPORT()

window function call

Change-Id: I031b3eff1aee8be12f1943d39f5f1c640476e4e8

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

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>

[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>

[NO ISSUE][FUN] Remove unused scalar aggregates

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove unused function definitions for scalar global/local

aggregate functions

- Cleanup testcases for avg function

- Removed unused testcases

Change-Id: I2c1274876c884f16bcbee0e3f7aaba4d91b271ce

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

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

Sonar-Qube: 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>

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

[NO ISSUE][SQLPP] Optional field name in object constructor

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Allow field name to be optional in object constructors.

If missing then it will be inferred from a field value

expression in a manner similar to unnamed projections.

- Add documentation and testcases

Change-Id: I0dfba8f8137f88d934a5be8ffb5fbc1c1db0bb58

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

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

[NO ISSUE][SQLPP] Improve error message for unsupported EXPLAIN

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Improve error message raised when EXPLAIN

is not supported for a given statement

Change-Id: Idd7844ca3d9e3c2c0de0b070e4a76282cb96e278

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

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>

[NO ISSUE][FUN] Support FROM LAST in NTH_VALUE()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support FROM FIRST / FROM LAST modifiers in window

function NTH_VALUE() with FROM FIRST being the default

- Minor cleanup of SQL++ grammar

- Update JavaCC version to 6.1.2

Change-Id: Iceac579bd5a3e651bcd7707e324148690e020cf5

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

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. … 3 more files in changeset.
[NO ISSUE][FUN] Support IGNORE NULLS in window functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support IGNORE NULLS / RESPECT NULLS modifiers in window

  functions LEAD(), LAG(), FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()

  (RESPECT NULLS is the default)

- Add testcases for each function

- Fix CollectionMemberResultType and PushAggregateIntoNestedSubplanRule

  to handle remaining non-list arguments

Change-Id: I400c9c95bac9159efa17fca4e97047fd089eb931

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

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

  1. … 36 more files in changeset.
[NO ISSUE][COMP] Change plan printing for window operators

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Print window operators as 'window-aggregate' in the query plan

- Add testcase for a window function call used in WHERE clause,

and a negative testcase

- Implement reset() for LogicalOperatorPrettyPrintVisitorJson

- Make IOptimizationContext.getPrettyPrintVisitor() return

AbstractLogicalOperatorPrettyPrintVisitor

Change-Id: I1446238a7c550abf618a72650c2a811fbc4dd710

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

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>