Clone Tools
  • last updated 13 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[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. … 36 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>

  1. … 2 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. … 24 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. … 39 more files in changeset.
[NO ISSUE][API] Return Async Query Results As JSON

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Add ResultMetadata that can hold metadata about a job's

result.

- Add required CC functions to get ResultMetadata.

- Add IJobResultCallback that is called when a job's result

is written successfully.

- Calculate a job's processed objects on the job completion.

- Calculate a job's duration on the job completion.

- Use the async query request format when serving the result

from QueryResultApiServlet.

- Return a proper JSON envelop in QueryResultApiServlet

which includes the results as well as metrics fields.

- Add test case for returning JSON response for async

query.

Change-Id: Ic4812a14925099a677f9e77a0040f881d2600724

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

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

  1. … 56 more files in changeset.
[ASTERIXDB-2289][COMP] Fix field access with CASE

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This patch fixes field access in the presense CASE and JOIN.

This is a scenario where push-down-field-access rule throws an

exception if the field access has potentially two sources and

it could not push down the field access to left or right branch.

Don't throw an exception and just return false

(i.e. field access was not pushed) instead of throwing an exception.

Change-Id: I911e4e9018c15e8f226e46fa610d222eb2301fcd

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

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

  1. … 5 more files in changeset.
[ASTERIXDB-2555][RT][COMP] Make hash join use logical comparison

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This patch changes the hash join operator to use the join condition

to evaluate if tuples are equal when joining. Binary physical comparators

have been removed. The join condition evaluator is in TuplePairEvaluator.

- extraced TuplePairEvaluatorFactory out of nested loop join class

into a separate class so that it is shared among nested loop and

hash join.

- switched from FrameTuplePairComparator to ITuplePairComparator in

in OptimizedHybridHashJoin and InMemoryHashJoin.

- moved debugging code from OptimizedHybridHashJoin into a separate

class, JoinUtil.

- temporarily made the logical comparison of multisets use raw binary

comparison instead of returning null until the logic is implemented.

- made IBinaryBooleanInspector a functional interface and updated

the implementations.

- updated record and array test cases to reflect the new

behaviour of hash join where logical comparison could produce null.

Also, updated sorting, group by and distinct test cases since

the input data has been modified.

- added two new input files arrays1nulls.adm & arrays2nulls.adm

to be used by the open dataset. previous arrays1.adm & arrays2.adm

are used by the closed dataset since it cannot accept arrays with

null values.

Change-Id: If1834967fdd913fdc76003f09636b2450d07cd5e

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

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

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

  1. … 16 more files in changeset.
[NO ISSUE] show aggregate functions in JSON plan

- user model changes: more information in JSON plan

- storage format changes: no

- interface changes: no

Change-Id: Ie4ba74d8455844e3913a4d4b5e2761b5ed23028b

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

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

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

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

[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. … 17 more files in changeset.
[ASTERIXDB-2552][RT] Reuse objects on reseting buffer manager

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

The "VariableFrameMemoryManager" releases the physical frames

objects, the logical frames objects and the free slots objects

on reset(). This patch is to retain those objects and only

release them on close() (as also stated in the interface).

- added close() to IFrameFreeSlotPolicy to make the interface similar

to the other interfaces (IFrameBufferManager, IFramePool, ... etc)

where close() is supposed to release while reset() is supposed to only

reset but retain resources.

- renamed "InMemorySortRuntimeFactory" to "MicroSortRuntimeFactory".

Change-Id: I88bea27e5024c621412ef609475e2a7ba1913afa

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

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>

  1. … 10 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. … 11 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. … 29 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] Refactor physical operators for GroupBy and DistinctBy

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Introduce AbstractGroupByPOperator -

base class for physical GroupBy operators

- Introduce AbstractDistinctByPOperator -

base class for physical DistinctBy operators

- Set memory limit for MicroPreclusteredGroupByPOperator

- Remove unused PhysicalOperatorTag.HASH_GROUP_BY

- Rename GroupByOperator.getGbyVarList() to getGroupByVarList()

- Remove constructors that do not specify memory limit from

PreclusteredGroupOperatorDescriptor and PreclusteredGroupWriter

Change-Id: I93f17a6a3e0df6587e518e18eea01ca54a289b4c

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

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. … 14 more files in changeset.
[ASTERIXDB-2553][SQL] Make DIV and MOD Operators Case Insensitive

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Make DIV and MOD operators case insensitive.

- Fix imports order.

- Add test case.

Change-Id: I3f28a8324aeedcb05bef628751f1ff8e33ee08a0

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

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

  1. … 4 more files in changeset.
[NO ISSUE] Create an abstraction for the ForwardOperatorDescriptor

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Abstract the activities out of the ForwardOperatorDescriptor so we can reuse

the same basic framework for multiple forward Operators.

- Abstract the ForwardOperatorDescriptor out of the ForwardPOperator so we can

reuse the same basic framework for multiple forward Operators.

Change-Id: Icc3db4b386e69a98c2a1c40dadc96eb3e1a5d4fa

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

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

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

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

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

  1. … 6 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. … 11 more files in changeset.
[NO ISSUE][COMP][RT] Handle type mismatch in window frame boundaries

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- If window frame boundary is defined as N preceding/following

and the incoming value is not of a numeric or temporal type

then assume that the frame is empty for this value because

its boundaries cannot be computed

- Add tests for NULL/MISSING/complex types for window operator

- Fix typo in the name resolution documentation

Change-Id: I4dc1b010674eb9a8b679039dc68c81163d156956

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

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. … 21 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.
[NO ISSUE][FUN] Modify array functions to allow comparing complex

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This change is to modify the array functions to compare complex

types like arrays and records. The change also includes a small

fix to IsomorphismVariableMappingVisitor where the

NestedTupleSourceOperator visit method would downcast the args

without checking first they are of the same operator types.

- changed test cases

- changed NullMissingTest to pass the args types for functions

that need them.

Change-Id: I416989cf902eda38224a3b00340e478fc4e3a60c

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

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>

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

  1. … 7 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. … 611 more files in changeset.
[ASTERIXDB-2551][*DB] Use Ordered Property in range merge POperator

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Create the IPartitioningProperty using the orderedPartitionedProperty

instead of creating the list to be used in an unorderedPartitionProperty.

Change-Id: I044e2219fff7564864f68fa0df849d1102b4bb20

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

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>

[ASTERIXDB-2523][RT][COMP] add support for hashing array fields

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Add support for hashing array fields.

- Modified AMurmurHash3BinaryHashFunctionFamily and extracted the hashing function

into a private named hashing function "GenericHashFunction". Added hashing arrays.

- Modified hash join to include generating hash functions for the right branch

since now hash functions are type-dependent and cannot use the same hash functions

generated for the left branch.

- Added test cases.

Change-Id: Ibd0dc7f270730140226f54445705822049f5c863

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

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

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

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

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

  1. … 53 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.
[ASTERIXDB-2516][RT] prepare physical comparators for deep comparison

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

This change is to make physical comparators type-aware in order to do

deep comparison of complex types like arrays and records. The IAType

is propagated to the comparators.

- added new methods in IBinaryComparatorFactoryProvider to accept the

type of left and right inputs for operations like hash join where

the join key types come from different dataset sources.

- defaulted some arrays functions to use the old comparator behaviour temporarily

until complex comparison is implemented

- modified AObjectAscBinaryComparatorFactory & AObjectDescBinaryComparatorFactory to

create a comparator with IAType information. Changed the serialization/deserialization

of their instances to take care of the newly added fields since they are not

present in old instances.

Change-Id: I02011e7151398d5f5f9ba9c1e1db6518484b9fe5

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

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>

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

  1. … 22 more files in changeset.