Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE][TEST] Translated old aql tests to sqlpp

-user model changes: no

-storage format changes: no

-interface changes: no

Details:

-Translated old aql tests to sqlpp and added them to queries_sqlpp

-Added new translated tests to testsuite_sqlpp.xml

Change-Id: Id73f4603898f95ccb05352ab5bc2fb193e421126

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

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: Ian Maxon <imaxon@uci.edu>

    • -0
    • +23
    ./query-ASTERIXDB-819-2/query-ASTERIXDB-819-2.1.query.sqlpp
    • -0
    • +23
    ./query-ASTERIXDB-819/query-ASTERIXDB-819.1.query.sqlpp
    • -0
    • +40
    ./query-ASTERIXDB-865/query-ASTERIXDB-865.1.ddl.sqlpp
    • -0
    • +23
    ./query-ASTERIXDB-865/query-ASTERIXDB-865.2.update.sqlpp
    • -0
    • +31
    ./query-ASTERIXDB-865/query-ASTERIXDB-865.3.query.sqlpp
  1. … 257 more files in changeset.
[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>

    • -0
    • +31
    ./active_requests/active_requests.4.plans.sqlpp
    • -0
    • +23
    ./completed_requests/completed_requests.2.query.sqlpp
    • -0
    • +31
    ./completed_requests/completed_requests.3.plans.sqlpp
    • -23
    • +0
    ./completed_requests/completed_requests.3.query.sqlpp
    • -0
    • +32
    ./dataset-resources/dataset-resources.6.plans.sqlpp
    • -0
    • +32
    ./dataset-resources/dataset-resources.7.plans.sqlpp
    • -0
    • +32
    ./jobs/jobs.2.plans.sqlpp
    • -0
    • +2
    ./metadata_only_01/metadata_only_01.1.plans.sqlpp
    • -0
    • +32
    ./ping/ping.2.plans.sqlpp
  1. … 19 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>

    • -0
    • +40
    ./p_sort_join/p_sort_join.1.ddl.sqlpp
    • -0
    • +68
    ./p_sort_join/p_sort_join.2.update.sqlpp
    • -0
    • +36
    ./p_sort_join/p_sort_join.3.query.sqlpp
  1. … 5 more files in changeset.
[NO ISSUE][IDX] Add tests to make sure no nulls in index

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Added test cases to test that nulls do not make it

to secondary indexes.

Change-Id: I6d9a9a072f8378f2af262f49728001ce4e10bdbb

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

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

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

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

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

    • -0
    • +29
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.1.ddl.sqlpp
    • -0
    • +33
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.2.update.sqlpp
    • -0
    • +22
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.3.ddl.sqlpp
    • -0
    • +28
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.4.query.sqlpp
    • -0
    • +28
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.5.query.sqlpp
    • -0
    • +28
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.6.query.sqlpp
    • -0
    • +31
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.7.update.sqlpp
    • -0
    • +29
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.8.query.sqlpp
    • -0
    • +20
    ./insert_nulls_with_secondary_idx/insert_nulls_with_secondary_idx.9.ddl.sqlpp
  1. … 6 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>

    • -0
    • +35
    ./p_sort_static_range_map/p_sort_static_range_map.1.ddl.sqlpp
    • -0
    • +42
    ./p_sort_static_range_map/p_sort_static_range_map.2.update.sqlpp
    • -0
    • +27
    ./p_sort_static_range_map/p_sort_static_range_map.3.query.sqlpp
  1. … 21 more files in changeset.
[ASTERIXDB-2613][*DB] Fix serialization of schemaless records

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

When serializing schemaless records, the record serializer should

continue serializing the fields as schemaless fields to handle fields

that are also records (nested records).

Change-Id: Ibc7257987d24905e82d5e81f27840fba81281706

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

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

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

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

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

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

    • -0
    • +23
    ./record-serialization-ASTERIXDB-2613/record-serialization-ASTERIXDB-2613.1.query.sqlpp
  1. … 3 more files in changeset.
[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>

    • -0
    • +27
    ./random/random.2.query.sqlpp
  1. … 9 more files in changeset.
[NO ISSUE][COMP] Better error messages for dump_index

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: I87d75f7264c1eecf178300a1b0a67b351cce0216

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

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>

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

    • -0
    • +20
    ./dump_index/dump_index.4.query.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.5.query.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.6.query.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.7.query.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.8.query.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.9.query.sqlpp
  1. … 7 more files in changeset.
[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>

    • -0
    • +26
    ./cast-ASTERIXDB-2458/cast-ASTERIXDB-2458.1.query.sqlpp
  1. … 4 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>

    • -0
    • +49
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.1.ddl.sqlpp
    • -0
    • +42
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.2.update.sqlpp
    • -0
    • +24
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.3.query.sqlpp
    • -0
    • +24
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.4.query.sqlpp
    • -0
    • +25
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.5.query.sqlpp
    • -0
    • +24
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.6.query.sqlpp
    • -0
    • +20
    ./field_access_union-ASTERIXDB-2288/field_access_union-ASTERIXDB-2288.7.ddl.sqlpp
  1. … 8 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>

    • -0
    • +50
    ./field_access-ASTERIXDB-2289/field_access-ASTERIXDB-2289.1.ddl.sqlpp
    • -0
    • +43
    ./field_access-ASTERIXDB-2289/field_access-ASTERIXDB-2289.2.update.sqlpp
    • -0
    • +25
    ./field_access-ASTERIXDB-2289/field_access-ASTERIXDB-2289.3.query.sqlpp
    • -0
    • +21
    ./field_access-ASTERIXDB-2289/field_access-ASTERIXDB-2289.4.ddl.sqlpp
  1. … 4 more files in changeset.
[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>

    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.1.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.2.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.3.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.4.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.5.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.6.query.sqlpp
    • -0
    • +21
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.7.query.sqlpp
    • -0
    • +22
    ./record-serialization-ASTERIXDB-2567/record-serialization-ASTERIXDB-2567.8.query.sqlpp
  1. … 10 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
    • +31
    ./metadata_only_01/metadata_only_01.1.plans.sqlpp
  1. … 16 more files in changeset.
[ASTERIXDB-2483][FUN] Fix ClassCastException during type check

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix ClassCastException in scan-collection()'s type computer

Change-Id: I17c4469b8ccbcea9e97f4e7ca8dd96061253d3c3

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

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

    • -0
    • +34
    ./query-ASTERIXDB-2550/query-ASTERIXDB-2550.1.ddl.sqlpp
    • -0
    • +26
    ./query-ASTERIXDB-2550/query-ASTERIXDB-2550.2.update.sqlpp
    • -0
    • +28
    ./query-ASTERIXDB-2550/query-ASTERIXSB-2550.3.query.sqlpp
  1. … 2 more files in changeset.
[NO ISSUE][FUN] Add Function To Return Secondary Index Tuples

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add a new private function (dump_index) that can be used

to query all tuples of a secondary index. This function

can be used for testing to validate the expected contents

of secondary indexes.

- Add test case.

Change-Id: Iefae2a798126b9efb049596417b93499d075a608

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

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>

    • -0
    • +24
    ./dump_index/dump_index.1.ddl.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.2.update.sqlpp
    • -0
    • +20
    ./dump_index/dump_index.3.query.sqlpp
  1. … 9 more files in changeset.
[NO ISSUE][FUN] Add Completed_Requests Function

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Add completed_requests to get recently completed

requests.

- Use enum for requests state.

- Add new config to specify the requests archive

size.

- Add test case for completed_requests function.

Change-Id: I3f47d523c683c3879ec52ce5bdaf16ce338e8e46

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

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

    • -0
    • +21
    ./completed_requests/completed_requests.1.query.sqlpp
    • -0
    • +23
    ./completed_requests/completed_requests.3.query.sqlpp
  1. … 22 more files in changeset.
[NO ISSUE][FUN] Fix type inference for random()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- random(arg) return type should be nullable

- fix documentation for random(arg) to match implementation

Change-Id: Ifc46ddeaad5bb8999c4a869e7fbc0a5b3c5cde7c

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

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

  1. … 4 more files in changeset.
[ASTERIXDB-2518][RT] Introduce Request Tracker

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Introduce IReceptionist to generate request references.

- Track all requests by uuid.

- Add more information to active_requests response.

- Replace StatementExecutorContext by RequestTracker.

- Deprecate StatementExecutorContext (to be removed)

- Allow extensions to set optional parameters in query service.

- Return forbidden when a cancellation is attempt on a request

that is not cancellable.

Change-Id: If08ecd91c55881743b2ecf40a628fa3d4166c554

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

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

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

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

    • -1
    • +1
    ./active_requests/active_requests.2.pollquery.sqlpp
  1. … 40 more files in changeset.
[NO ISSUE] Add internal function jobs() to retrieve job information

- user model changes: added function jobs()

- storage format changes: no

- interface changes: no

Change-Id: I80d786899d6dd5970c8faf24041bc60da881a365

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

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>

    • -0
    • +24
    ./jobs/jobs.1.query.sqlpp
  1. … 9 more files in changeset.
[ASTERIXDB-2513][FUN] Add Active_Requests Function

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Add a datasource function (active_requests) which

returns the active jobs that the user specified

client_context_id for.

- This function runs on a single NC and uses messaging

to get the currently running jobs from CC.

- Currently, the function returns the following fields:

-- clientContextId: the user specified clientContextId.

-- requestTime: a timestamp at which the request reference

was created.

-- jobId: optionally, the job id that belongs to this request.

- The function may be improved later to return all jobs and it may

return additional fields such as (request uuid, statement,

executionTime, elapsedTime, nodeAddress, userAgent, etc..)

- Add test case.

- Do not allow cancellation test to cancel queries with

clientContextId to avoid intermittent failures.

Change-Id: I95962742161ed18c4cf2e09c8541c8ad3b35356c

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

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

    • -0
    • +22
    ./active_requests/active_requests.1.async.sqlpp
    • -0
    • +22
    ./active_requests/active_requests.2.pollquery.sqlpp
    • -0
    • +22
    ./active_requests/active_requests.3.pollquery.sqlpp
  1. … 22 more files in changeset.
[ASTERIXDB-2286][COMP] Parallel sort changes p.2

- user model changes: no

- storage format changes: no

- interface changes: no

details:

This patch is change the way the SequentialMergeExchangePOperator

connector computes its local property instead of blindly

propagating the child's local property.

The patch also includes minor code clean-ups (moved some methods down)

Change-Id: Ie37e03b6fc6e55fc21f8324c0f09a7fa05b51769

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

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
    • +2
    ./p_sort_seq_merge/p_sort_seq_merge.1.ddl.sqlpp
  1. … 8 more files in changeset.
[ASTERIXDB-2469][TEST] Tests Can Result In False Positives For Numericals

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- The test framework doesn’t differentiate between numeric types in

expected results.

- With the current behavior, when comparing numerical cases,

as a last step, we try to convert both numbers to double and

do a comparison (in case the String camparison failed already),

this is good for the cases of having something like: expected 100.0

and acutal 10E1 (for whatever reason), in this case the String comparison

will fail, but the double conversion will produce the correct result.

- With this change, we ensure the above behavior is maintained,

however, we check that the types are compatible first, for example,

if the expected is 100.0 and the actual is 100.0, this should succeed,

but if the expected is 100.0 and the actual is 100, then this will fail,

this way we ensure correctness of both the numerical value as well as

correctness of data type check.

Change-Id: I918b7e5c3c39271f77a7d5a01ff634c2a0221ebc

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

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

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>

    • -0
    • +30
    ./ensure_result_numeric_type/ensure_result_numeric_type.3.query.sqlpp
  1. … 4 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>

    • -0
    • +47
    ./p_sort_num_samples/p_sort_num_samples.1.ddl.sqlpp
    • -0
    • +22
    ./p_sort_num_samples/p_sort_num_samples.2.update.sqlpp
    • -0
    • +26
    ./p_sort_num_samples/p_sort_num_samples.3.query.sqlpp
    • -0
    • +36
    ./p_sort_seq_merge/p_sort_seq_merge.1.ddl.sqlpp
    • -0
    • +42
    ./p_sort_seq_merge/p_sort_seq_merge.2.update.sqlpp
    • -0
    • +24
    ./p_sort_seq_merge/p_sort_seq_merge.3.query.sqlpp
    • -1
    • +1
    ./prefix-search/prefix-search.3.query.sqlpp
    • -2
    • +1
    ./stable_sort/stable_sort.3.query.sqlpp
  1. … 350 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>

    • -0
    • +25
    ./constant_folding/constant_folding.0.query.sqlpp
    • -0
    • +25
    ./constant_folding/constant_folding.1.query.sqlpp
  1. … 12 more files in changeset.
[ASTERIXDB-2412][COMP] ExtractCommonExpressionsRule fix

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

ExtractCommonExpressionsRule should not be applied to JOIN by using

Cartesian Product + SELECT since it will add extract overhead. Also,

blindly adding SELECT without checking GROUP-BY and other possible OPs

in between could cause type inference error.

Change-Id: I20e1fa161c42e0494c7ca587b8bffdc80d656058

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

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>

    • -0
    • +55
    ./comp-ASTERIXDB-2412/comp-ASTERIXDB-2412.1.ddl.sqlpp
    • -0
    • +55
    ./comp-ASTERIXDB-2412/comp-ASTERIXDB-2412.2.update.sqlpp
    • -0
    • +25
    ./comp-ASTERIXDB-2412/comp-ASTERIXDB-2412.3.query.sqlpp
  1. … 22 more files in changeset.
[ASTERIXDB-2415][COMP] Type inference fix in InjectTypeCastForSwitchCaseRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

For dual inputs operator, its type inference should start from current

Op so that it wouldn't fail for the join case when there are variable

usages in conditions from the 2nd branch.

Change-Id: I7c18bc58381bab2c25d1e58ee7bab7f1b2aaf440

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

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: Xikui Wang <xkkwww@gmail.com>

    • -0
    • +144
    ./comp-ASTERIXDB-2415/comp-ASTERIXDB-2415.1.ddl.sqlpp
    • -0
    • +37
    ./comp-ASTERIXDB-2415/comp-ASTERIXDB-2415.2.query.sqlpp
    • -0
    • +19
    ./comp-ASTERIXDB-2415/comp-ASTERIXDB-2415.3.ddl.sqlpp
  1. … 2 more files in changeset.
[NO ISSUE][MISC] Add ping function

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add a ping function that takes 0 parameters

and simply returns a single record from each node

which contains the node id.

Change-Id: Ic077a11b61dec782756e2dede33ca8220893a2de

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

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

    • -0
    • +21
    ./ping/ping.1.query.sqlpp
  1. … 7 more files in changeset.
[ASTERIXDB-2380][COMP] Incorrect comparison of exchange operators

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix incorrect comparison of exchange operators in IsomorphismOperatorVisitor

Change-Id: Ib9948531cdbed7ecddd9ace1d179c97523dbaec4

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

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

    • -0
    • +52
    ./query-ASTERIXDB-2380/query-ASTERIXDB-2380.1.ddl.sqlpp
    • -0
    • +30
    ./query-ASTERIXDB-2380/query-ASTERIXDB-2380.2.update.sqlpp
    • -0
    • +36
    ./query-ASTERIXDB-2380/query-ASTERIXDB-2380.3.query.sqlpp
  1. … 6 more files in changeset.
[ASTERIXDB-2399][SQL][FUN] Rename COLL_ aggregate functions

Rename to COLL_ functions to use the prefix STRICT_ to reduce the

confusion about which functions implement a strict NULL handling.

Change-Id: I5c103dbe7fa42bf5c4e2bfa53592b2041084aa8f

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

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>

    • -2
    • +2
    ./groupby-orderby-count/groupby-orderby-count.3.query.sqlpp
  1. … 279 more files in changeset.
[NO ISSUE][FUN] Implement numeric functions

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement the following numeric functions:

degrees(), e(), pi(), radians(), random()

Change-Id: I3beb1f35979ec2e06222beb76e3c284b1259b4eb

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

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>

    • -0
    • +42
    ./random/random.1.query.sqlpp
  1. … 18 more files in changeset.