asterix-lang-sqlpp

Clone Tools
  • last updated 22 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge branch 'gerrit/mad-hatter'

Change-Id: I5cd06cc3cd69068faecced6a2b1cc558eecd0784

  1. … 5 more files in changeset.
[NO ISSUE][COMP] Improve error reporting in TypeTranslator

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add error code and source location to exceptions

raised by TypeTranslator

- Pass dataset item type when calling

QueryTranslator.validateExternalDatasetProperties()

Change-Id: I2b62c162f37e72245cdbf70fe9f8307bbf9b2bf1

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

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

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

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

  1. … 4 more files in changeset.
[NO ISSUE] Improve handling of udf parameter/return types

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Prohibit parameter/return type specification for inline udfs

- Prohibit parameter/return type quantifier (?) for external udfs

- Allow external udfs to refer to types from other dataverses

- Do not store type quantifiers in udf metadata

- Align names of anonymous types automatically created by

QueryTranslator for datasets and udfs

- Reserve user-defined type names starting from '$' for system use

- Add testcases

- Prohibit UdfServlet operations if cluster is not active

- Return correct path from IOManager.getWorkspacePath()

- Test framework: support multiple commands in .lib.sqlpp files

- Remove CC files when deleting old instance data in

AsterixHyracksIntegrationUtil

Change-Id: I09bdfd8c7b26750d12339034d2143a16102d1212

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

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. … 35 more files in changeset.
[NO ISSUE][COMP] Implement FILTER clause in aggregates

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement FILTER subclause in SQL aggregate function calls

- Add testcases and documentation

Change-Id: Ie346a09db51907757df78575d2145085b1d89782

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

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. … 63 more files in changeset.
Merge commit '594e7eca21' from 'gerrit/mad-hatter'

Change-Id: I975228925366adc94f136bbbb014cb6817bf180e

  1. … 5 more files in changeset.
Merge commit '3a62802' from 'gerrit/mad-hatter'

Change-Id: Ia70a791f6d9fd05854017ef7692adc14a6a5f37f

  1. … 13 more files in changeset.
[ASTERIXDB-2735][EXT] Support boolean value for properties of external data

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

The configuration properties of the external data in the DDL statements are

supplied as key-value pairs of strings. The user should be able to supply

normal boolean values for boolean properties such as "header" which tells

whether the data source has a header or not (for delimited data such as CSV).

Change-Id: I0470f7f0bbf7476e1fbd6b9f124355cf8b00c17c

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

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

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

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

  1. … 7 more files in changeset.
Merge commit 'aa7ff7b' from 'gerrit/mad-hatter'

Change-Id: Ibfc874ca45692420fb86038537d10e172894730a

  1. … 15 more files in changeset.
[NO ISSUE][COMP] Rename NOT NULL to NOT UNKNOWN

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Rename NOT NULL type quantifier to NOT UNKNOWN

in CREATE DATASET type specification

- Add IsMissable field to datatype metadata to support

storing all possible NULL/MISSING combinations

Change-Id: Ia7f22ba5d212e3b1824fafb571e1724f2fd25ea9

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

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.
Merge commit '3e2623cf64827e891ecd8c6dea13d03f5599c6a5' into HEAD

Change-Id: I89091d8bf8575c73d26f497d5fbffe780adbedf9

  1. … 8 more files in changeset.
[NO ISSUE][COMP] Extract SQL aggregates from CASE expressions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Extracts SQL-92 aggregate functions from CASE/IF expressions

into LET clauses, so they can be pushed into GROUPBY subplans

by the optimizer

- Refactor AbstractSqlppExpressionExtractionVisitor to improve

its extensibility

Change-Id: Ia1ae879e845bac5656749966ca57054cbfce6df6

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

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. … 12 more files in changeset.
[NO ISSUE][COMP] CREATE DATASET with inline type definition

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support inline type specification in CREATE DATASET statement:

CREATE DATASET customer(cid INTEGER NOT NULL, first_name STRING) ...

- Add testcases

Change-Id: Ic88ccacd016a6144f1b05a2f79a07b2a980d9c9b

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

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

  1. … 17 more files in changeset.
[NO ISSUE][COMP] Support GROUPING SETS, ROLLUP, CUBE

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Implement support for GROUPING SETS, ROLLUP, CUBE in

GROUP BY clause, including GROUPING() operation

- Modify OptimizerTest to account for different variable id bases

when comparing actual query plan with expected one

- Add RQG testsuite for grouping sets and regular testcases

Change-Id: I540ae172b9904e869f89f501e192dc83f3ea2550

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

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. … 104 more files in changeset.
[NO ISSUE] Minor refactoring

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Minor refactoring

Change-Id: I154a312cfe2182b76d74a7c34543263b3345139d

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

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

[NO ISSUE][COMP][RT] External function improvements

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Support multipart external identifiers in CREATE FUNCTION

- Add preliminary code for Python UDFs

- Some refactoring in external function framework

- Add method to get IServiceContext from IEvaluatorContext

Change-Id: I7ec91f5be2efa8409cda3a3c13f5e8b4de3e75e8

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

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

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

Reviewed-by: Ian Maxon <imaxon@uci.edu>

  1. … 31 more files in changeset.
[NO ISSUE][COMP] Non-deterministic external functions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add compiler support for non-deterministic external functions

- Constant fold only those external functions that are

declared as deterministic and are implemented in Java

(grammar default is non-deterministic)

- Add testcase

Change-Id: Iae7839cb7f6c21f8980867e31de78887a8e9e801

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

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

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

Reviewed-by: Ian Maxon <imaxon@uci.edu>

  1. … 24 more files in changeset.
[NO ISSUE][SQLPP] Refactor grammar for CREATE FUNCTION

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor SQL++ grammar for CREATE FUNCTION

to improve its extensibility

Change-Id: I1d71de74e64318ef5daad91d782f0dc329ee5c5b

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

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

  1. … 1 more file in changeset.
[NO ISSUE][MTD] Remove '$' from function parameter names

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove '$' prefix from parameter names in function metadata

Change-Id: Ic43990eb57360988034d425118bcfa03c71a0137

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

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>

  1. … 8 more files in changeset.
[NO ISSUE] Cleanup function metadata

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

1. Introduce AbstractDatatypeTupleTranslator to be used

as a base class by metadata entity translators that need

to write data types

2. Align type information stored in user defined function

metadata (return and parameter types) with how types are

stored for user defined types

3. Remove 'deterministic' and 'nullcall' modifiers from metadata

for inline functions because 'nullcall' is not applicable and

'deterministic' is supposed to be inferred by the compiler

4. Introduce FunctionLanguage enum to replace string constants

Change-Id: I2054dc7b13f31f33e57dca6da6d44ab95ac9bb4f

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

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

  1. … 32 more files in changeset.
[NO ISSUE][COMP] Improve function parsing

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added IParser.parseFunctionBody() method that

parses body of a user-defined function

- Modified FunctionParser to parse function body

directly by calling the above method instead

of creating "declare function" statement

- Consolidated SQLPP and AQL FunctionParsers

into a single common class

Change-Id: I498550c90f2ba492549d15b61d7607e986b08c04

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

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

  1. … 10 more files in changeset.
[ASTERIXDB-2693] CREATE FUNCTION/ADAPTER ddl

- don't map UDFs on upload with descriptor

- UDFs get mapped via CREATE FUNCTION/ADAPTER after UDF payload is

uploaded

- add Library metadata catalog

Change-Id: Ic3c1e98c183cd214eea3e4fee24b2b7c46166b32

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

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. … 198 more files in changeset.
[NO ISSUE][SQLPP] Support dataset synonyms

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Add CREATE / DROP SYNONYM statements to SQL++

- Follow synonyms when resolving dataset references

in SELECT, INSERT, UPSERT, DELETE, LOAD statements

- Add metadata dataset for synonyms: Metadata.Synonym

- Add documentation and tests

Change-Id: Idf806914664205fb186ee3da8b0cebf234266f37

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

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

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

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>

  1. … 63 more files in changeset.
[NO ISSUE] Address serialVersionUID issues

- add missing serialVersionUIDs where applicable

- add @SuppressWarnings("serial") for serializable types which are never

actually serialized

Change-Id: Ic38d33b8020c3261bda4ebb0b273b26c40fef26f

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

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

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

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

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

  1. … 19 more files in changeset.
[NO ISSUE][SQLPP] Refactor SQL++ grammar

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor SQL++ grammar for better extensibility

Change-Id: Ief23b91a18cd2e3dc6015d91ced1f1f22a2aacec

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

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>

    • -223
    • +475
    ./src/main/javacc/SQLPP.jj
[NO ISSUE] Support multipart dataverse names

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Support dataverse names that consist of multiple parts

- Introduce DataverseName class and adopt it throughout the system

- Add testcases for multipart dataverse names

Change-Id: I1313b2dc0e8df6a9b0ded48dea122afc3ba5dbe7

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

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

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

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

    • -114
    • +131
    ./src/main/javacc/SQLPP.jj
  1. … 275 more files in changeset.
Merge branch 'gerrit/mad-hatter' into 'master'

Change-Id: I7e921b559f30adfab704143818dd7ee59e194eb4

  1. … 1 more file in changeset.
[ASTERIXDB-2648][COMP] Fix dataset order in broadcast hint

- user model changes: yes

- storage format changes: no

- interface changes: no

details:

- Provides hash-bcast hint to replace bcast hint which makes

broadcast join consistent with other types of joins for choosing

the broadcasting dataset based on dataset order in FROM clause.

- Chooses the build dataset to get broadcast based on the order

in the FROM clause not the WHERE clause (which was the case for

bcast hint).

Change-Id: I505fc8e0bc32c760ae0471c6b302bbfd8499be4a

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

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. … 49 more files in changeset.
[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>

  1. … 10 more files in changeset.
[ASTERIXDB-2631][COMP][RT] Report count of all warnings

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Currently, only runtime warnings are counted. Include

parser & compile-time warnings, as well.

- removed the warn limit as a compiler option and made it

a request parameter.

- the warning collector of the parser collects all warnings

but allow pulling warnings up to a maximum desired.

- the warning collector of the compiler/executor collects up

to the request max-warnings and allow pulling up to a max desired.

- servlets collect from the parser and query compiler &

executor up to the request max-warnings.

Change-Id: Ia7e559313d32a8ba6f450f254a3a7b4b1e662a50

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

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

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

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

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

  1. … 90 more files in changeset.
[ASTERIXDB-2631][COMP][RT] Limit number of reported warnings

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

Limit number of reported warnings.

- added a new compiler property "COMPILER.RUNTIME.WARNINGS"

with default value set to 0.

- updated Stat class to have a field for the count of runtime

warnings.

- updated few classes to propagate the warnings limit number

to Hyracks Task class.

- added new Option to parse unsigned long values.

- TaskProfile has a field for the count.

- updated TestExecutor to allow specifying parameters in

the body of the POST method.

Change-Id: Ie8756f1b9dcb7bbce92bd77692490fbada9a2482

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

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

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

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

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

  1. … 57 more files in changeset.