asterixdb

Clone Tools
  • last updated 25 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE][OTH] Make ClusterControllerService Extensible

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Allow configuring the web servers started on hyracks

ClusterControllerService.

Change-Id: Icd2a048a6152105c831183db2440e9dc5b3a1eb5

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

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

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

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

Contrib: Michael Blow <mblow@apache.org>

[NO ISSUE][FUN] Bitwise - adjust type "any" behavior

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- AbstractResultTypeComputer is handling wrapping the output

in case of any, no need to return a nullable in case of any,

just return the type we're expecting.

Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a

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

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>

[ASTERIXDB-2579][DOC] Document uuid/upsert/insert behavior

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Document the new behavior for the autogenerated

keys with the insert/upsert statements.

Change-Id: I7ba526c79de8cb744dc41ebc797389e68333c5ce

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

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>

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

[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.
[ASTERIXDB-2547][COMP] Disallow passing UNION tag to get comparator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

UNION should not be allowed when getting a comparator by tag.

The comparator provider returns a generic comparator with types

ANY when UNION is passed as a tag. This could cause problems if

the actual type is a complex type. UNION should not be allowed.

Change-Id: Id8816a0dc5584f0a27410c512f3a44ccfc6c3151

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

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>

[NO ISSUE][CONF] Mark KeyStore Pass As Hidden Config

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Mark KeyStore pass as a hidden config to avoid

displaying the password on APIs that use the hidden

flag to certain config.

Change-Id: I1c27c3b229ca7d8dd44717c21cd096f0090a7278

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

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>

[NO ISSUE][OTH] Introduce ResponsePrinter

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Introduce ResponsePrinter that is responsible for printing

the returned response from query service.

- Make ResponsePrinter responsible for adding separators between

fields in the returned response.

- Introduce IResponseFieldPrinter and encapsulate each response

field in its own printer.

- Introduce ICodedMessage and use it for any object that

has code<->message (e.g errors and warnings).

Change-Id: I797e6615a72c886391fed26281fc648b38fa748f

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

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. … 27 more files in changeset.
[NO ISSUE][OTH] Skip Result Metadata Updates on No Result

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Do not attempt to update the result metadata when a job

has no result to avoid NPE.

Change-Id: I1ccae6003048f45344a5b7843a25c61d6a7bd366

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

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: Hussain Towaileb <hussainht@gmail.com>

[ASTERIXDB-2458][COMP] Fix InjectTypeCastForFunctionArgumentsRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

InjectTypeCastForFunctionArgumentsRule is for functions that

can potentially return any of their arguments. switch and

if_null(expr1, expr2, ...) are examples. All the arguments

need to be casted (opened) to the type that the function

will return which is the generalized type of all arguments.

Some functions like if_null can determine the exact expression

they will return, e.g. if_null(1, {"id": 3}) in which case

the return type is always integer. The rule tries to cast

th 2nd argument, the record, to integer and fails. In such

cases, these functions do not need to cast their arguments.

If the function determines its output type to be ANY, then

all arguments need to be casted (opened). If the function

determines its output to be a dervied type, then casting is

also needed since that output type should be the generalized

type of all arguments.

Change-Id: I2fee234d883b59319e4ec4df58d61ecd498373fd

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

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>

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

[NO ISSUE][FUN] Remove unnecessary inner classes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove unnecessary inner classes. Use the evaluator

factories length to check if the end position argument

is passed.

Change-Id: I5cc8c57888e62b26684082dd07a4314b45f9fa7f

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

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>

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

[ASTERIXDB-2562][FUN] Add support for bitwise functions

- user model changes: yes

Added AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET

and COUNT bitwise functions.

- storage format changes: no

- interface changes: no

Details:

- Introduced the AND, OR, XOR, NOT, SET, CLEAR, SHIFT, TEST, ISSET

and COUNT bitwise functions.

- Added test cases.

Change-Id: I70a6376d6ca12da55eeff88fa0b1c85f970ef8e6

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

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. … 52 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. … 45 more files in changeset.
[ASTERIXDB-2569][TEST] Refactor type computer tests

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Converted type computer tests to be parameterized.

- Moved the tests to appropriate packages to use the

log4j logger.

- Type computer instances check is based on the field

type instead of field name.

Change-Id: I4426efcc9e825ebb00e04e3783d18bb1cbb63a90

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

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>

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

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

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

[NO ISSUE][DOC] Refresh and update text-example

Change-Id: Ie756e790994cd6d8dad69cce1bb728923cc0398c

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

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: Michael Blow <mblow@apache.org>

[ASTERIXDB-2567][RT] Fix serializing nullable record fields

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

When serializing a record, a field should be checked if it's nullable.

The value to be serialized should be checked if it's null or value to

serialize it correctly. Exceptions could happen when the record is in

an array if record fields are not checked.

Change-Id: I42105965e69c60bc4b123337296476b4d75f0ad8

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

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

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

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

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

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

[ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added a new record merge function, extending the old one, to handle

the merge of duplicate fields.

- Updated the record merge type computer to handle the merge of

duplicate fields properly at compile time.

- Added a new record merge descriptor and evaluator, extending

the old one, to handle the merge of duplicate fields properly

at runtime.

- Updated IntroduceAutogenerateIDRule to use the new record merge

function.

- Added test cases to test the newly added function for insert

and upsert statements.

Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a

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

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

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

Reviewed-by: Hussain Towaileb <hussainht@gmail.com>

  1. … 53 more files in changeset.
[NO ISSUE][OTH] Codegen clean up and plugin removal

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove the codegen related files.

- Remove the codegen plugin.

- Remove the codegen plugin dependency from pom files.

Change-Id: I2c17f9f3f0c73f2ec3048a39da3cbbdd5f24e816

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

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>

Reviewed-by: Hussain Towaileb <hussainht@gmail.com>

    • -17
    • +0
    /asterixdb/asterix-fuzzyjoin/pom.xml
    • -1
    • +0
    /asterixdb/asterix-maven-plugins/pom.xml
[NO ISSUE][CLUS] Ignore Received Heartbeats Before App Initialization

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Ignore received node heartbeats on CC when the CC executor

has not been initialized since nodes are not registered yet.

Change-Id: I65ef92ae3179214f1efecd1bb44da4772b7a3dd9

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

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: Michael Blow <mblow@apache.org>

[NO ISSUE][*DB][CLUS] Add support for a rebalance required cluster state

Allow extensions to mandate that a rebalance is required in order for

the cluster to go active

Change-Id: I863f8bf3fe1ce8d59522c9a28a1283006ffa414c

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

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

[ASTERIXDB-2564][RT] Too many objects created in min() and max()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

During min() and max() aggregation, the functions keep track of

the aggregation type in order to handle heterogeneous lists.

It promotes the aggregation type if needed (e.g. encountered double).

Don't switch to new aggregation type and create a new comparator

when the new input value type is the same as the previously

aggregated values. That is because canPromote(agg_type, new_val_type)

will always return true for same types.

Change-Id: I0bb9f0715985ae555de00bbf3173c80371d8968b

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

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>

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

[NO ISSUE][FUN] Add ARRAY_AGG() SQL aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement support for ARRAY_AGG() aggregate function.

- Add new testcases and update documentation

- Add AbstractScalarDistinctAggregateDescriptor.createDescriptorFactory()

to uniformly set required type inferer for all distinct scalar aggregates

- Propagate correct item type to GenericScalarDistinctAggregateFunction

Change-Id: I704e031a1252493e83ad8d45c38b75e0b15c1896

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

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

    • -0
    • +23
    /asterixdb/asterix-app/data/complex/arrays1nulls.adm
    • -0
    • +18
    /asterixdb/asterix-app/data/complex/arrays2nulls.adm
  1. … 34 more files in changeset.
[NO ISSUE][OTH] Ensure HttpServer Channel is Initialized

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Ensure the HttpServer channel is initialized when stopping

the server to avoid NPE.

Change-Id: I5b7403e80f6118f99be46d166c6cfbee8d4305ac

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

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>

[ASTERIXDB-2563][API] Allow All Nodes To Receive Queries

- user model changes: any node can receive query requests.

- storage format changes: no

- interface changes: no

Details:

- Add required servlets to NCs web server to allow them

to receive query requests.

- Adapt test framework to use NCs endpoints for query requests

when they are configured.

- Make SqlppExecutionTest use NCs endpoints for query requests.

Change-Id: I31f7937d46b4532c30e2201b3e434e62e5c4a4de

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

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

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

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

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

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