Clone Tools
  • last updated 24 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Full-text implementation step 3

- Implemented index-based full-text contains() function.

- Fixed a bug in the full-text code that can't process join cases well.

- Introduced full-text type index syntax. The functionality was already

in the codebase but it was not being used. So, using this syntax, we

can utilize the given index type - Not the length partitioned keyword index.

- Added the support for SQL++

- Default option will be set if a user doesn't provide any option.

Change-Id: I1087854ac7cf5b6ef5094e27a1646f12f6a8653f

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

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

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

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

Reviewed-by: Ian Maxon <imaxon@apache.org>

  1. … 163 more files in changeset.
ASTERIXDB-1755: add UPSERT in SQL++.

Detailed list of changes included:

- Fix AQL RETURNING clause to use an expression instead of a query;

- Add a rule to check whether a RETURNING expression contains dataset accesses;

- Perform AST-level rewrites for INSERT/UPSERT as a whole, including the

body query and the returning expression.

Change-Id: I02b2be7ff2653573eccb48037895f5c8c4bc8c74

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

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

  1. … 103 more files in changeset.
Support broadcast join.

- The branch for broadcast is always the right branch, i.e., the build branch.

Change-Id: I269d29816206f4f7c21097c99b6e3f19b29be138

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

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>

  1. … 6 more files in changeset.
Address Don's comments in the expression doc.

Change-Id: I224a706aa987a0d938ab22b9ae28660ef6433991

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

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: Yingyi Bu <buyingyi@gmail.com>

  1. … 2 more files in changeset.
Enhanced Insert AQL

The optional "as Variable" provides a variable binding for the inserted records

The optional "returning Query" allows users to run simple

queries/functions on the records returned by the insert, and can refer

to the variable bound in "as Variable"

Allow commits to be non-sink operators (contnue job pipeline after commit)

Additionally, this change makes small modifications to

the extension code to prepare for the BAD extension

Also made the OptimizerTests able to work for Extensions

Change-Id: I65789d2a861d15232dd29156a6987d0635ec6c94

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

Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>

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

  1. … 80 more files in changeset.
reduce xerces dependency

Change-Id: If7401abf4d7c460fd53174198d7ba9147ed83f67

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

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

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

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

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

  1. … 4 more files in changeset.
Add an optional <END> for quantifiers.

Change-Id: Ia2d037c31752867a4a9e567dfcc76b101f94220d

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

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>

  1. … 3 more files in changeset.
reduce redundancy in syntax error messages

Change-Id: I526c0b24d47ac4ee7b492b34387929627e51affc

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

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: Yingyi Bu <buyingyi@gmail.com>

  1. … 1 more file in changeset.
SQL++ doc/grammar cleanup

- remove comments that are addressed

- adapt grammar according to feedback

Change-Id: I6b4f5c7ae48c022a6b8f8c48b3927e1981b70598

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

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

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

  1. … 3 more files in changeset.
improve error messages

Change-Id: Ia82cd34ae5099f924302d7d42b541247a258c9b9

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

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>

  1. … 4 more files in changeset.
Add Default Dataverse and AnyObject Datatype

This change adds "Default" dataverse and

Metadata.AnyObject type which is the completely

open record type. In addition, this change cleansup between

subsequent test cases lowering the chance that a failed

test causes the following tests to fail. In addition, it

prints out the list of tests which left some leftover.

Change-Id: Ie02c74c8b005dce73888afd4dfe19ede2c60a8e8

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

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>

  1. … 203 more files in changeset.
Easier to read parser errors for SQL++

Change-Id: I13fd54fe2b1237b937a1706cf83fb47ce536b546

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

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

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

Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>

  1. … 2 more files in changeset.
Add <> as a synonym to !=.

Change-Id: I3c670cf3d0e53725dce8ef2acb33970f8030a0a8

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

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>

  1. … 2 more files in changeset.
Add ANY as a synonym to SOME for existential quantifiers.

Change-Id: I306a313a0785554eda79182efd8382a3d2697d2f

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

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>

  1. … 2 more files in changeset.
Add "--" and "#" for SQL++ comments.

Change-Id: I389eb3f1e9653ee976152c894f04939e5eb162e2

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

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

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

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

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

  1. … 1 more file in changeset.
Add the BETWEEN operator.

Change-Id: I5df7370154aa30db7547f7fd47ea69b5b76dcf49

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

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

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

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

  1. … 10 more files in changeset.
Support count(*).

Change-Id: Ie34537f08434fb0eb930725423ae12c0cd8e5983

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

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

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

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

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

  1. … 7 more files in changeset.
Fix open field CREATE INDEX syntax (AQL and SQLPP).

Our CREATE INDEX syntax for open fields didn't match our semantics.

Our semantics allow to-be-indexed open field(s) to be MISSING.

We don't support (or offer :-)) tighter semantics than that.

Our syntax didn't require creators to say this, but now it does:

Old: CREATE INDEX myIdx on MyDSet(myTime: datetime) ENFORCED;

New: CREATE INDEX myIdx on MyDSet(myTime: datetime?) ENFORCED;

Have now addressed all of Till's comments (I think).

Change-Id: I32bf8bc5ac1c0e6aa6744ca8f91a197311219814

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

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

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

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

  1. … 787 more files in changeset.
Add several builtin functions.

- add functions such as greatest, least, concat(||), initcap(title),

regexp_contains, regexp_like, regexp_position, regexp_replace, ltrim,

trim, rtrim, position;

- refactor string functions;

- remove undocumented function "regexp", which is equivalent to "matches";

- remove AQL.html and SQLPP.html since they are generated in "target/".

Change-Id: I26351af22f67d66b56176f55b29a4e7ff63583f7

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

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

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

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

  1. … 91 more files in changeset.
Add Asterix Extension Manager

More extension support is added. A user can now provide implementations

for the IExtension interface which will give them more control over

the behavior of the system and give them the ability to add custom

features.

Initial customizations include:

1. Metadata Tuple Translators

2. Metadata Datasets

3. Query Translators

4. Statement Handlers

5. Lang Compilation Provider

Change-Id: I280268495cc3aad00f898cba21f7299f7120ce5c

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

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

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

  1. … 232 more files in changeset.
Clean up GROUP BY and WITH clause.

- fix ASTERIXDB-971, i.e., the expression to plan translator for FLWOGR without a "for";

- fix the scoping for nested WITH clause;

- fix the scoping for nested GROUP BY clause;

- fix default fields in group variables;

- fix/unify the expression substition AST visitor;

- enhance RemoveUnusedAssignAndAggregateRule to be able to remove unused GROUP BY

decoration varaibles;

- clearly sperate SQL++ aggregate functions and SQL-92 aggregate functions, i.e.,

SQL-92 aggregate sugars cannot apply to SQL++ aggregate functions;

- fix PushAggregateIntoGroupbyRule for nested plan deletions;

- enhance RemoveCartesianProductWithEmptyBranchRule;

- add ExtractGroupByDecorVariablesRule;

- add an aggregate function first-element;

- fix ASTERIXDB-1560, an error message issue.

Change-Id: I62fca7f937aa007d97ed87c75cef19f6aa3e5ade

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

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

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

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

  1. … 235 more files in changeset.
ASTERIXDB-1561: EXPLAIN should be case insensitive

Change-Id: I5add61c5ca07f0653f6811fdd4be215ce4f67eee

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

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

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

  1. … 2 more files in changeset.
Renaming: "table"->"dataset", "database"->"dataverse".

Change-Id: Ia80193f08651fc99341d9a8cf156d0feb6d0575f

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

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>

  1. … 2774 more files in changeset.
ASTERIXDB-1135 Fix Feed Policy Creation From File

Change-Id: I452ac11714e20e2ecc31ab8b96a9964ca9d9d6cd

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

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: abdullah alamoudi <bamousaa@gmail.com>

  1. … 75 more files in changeset.
Implement EXPLAIN for SQL++

- move some code from static methods in ResultUtils to a stateful

ResultPrinter to facilitate reuse (we create one ResultWriter per request)

- tiny cleanup in LogicalOperatorPrettyPrintVisitor

Change-Id: I7b7028fb243d494150cac525c73b2d77b0068646

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

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

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

Reviewed-by: Yingyi Bu <buyingyi@gmail.com>

  1. … 17 more files in changeset.
ASTERIXDB-1527: fix operator precedence order.

Change-Id: Ib16477c4fad341685e9b1349f40eeabfc74b0165

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

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>

  1. … 6 more files in changeset.
Support CASE expression in SQL++.

- support both simple CASE expression and searched CASE expression;

- support heterogenous return types of a CASE expression;

- remove IfElseExpression in SQL++;

- remove IfElseToSwitchCaseFunctionRule.java since the plan pattern it tries to identify is no longer right;

- unify CastRecordDescriptor and CastListDescriptor into CastTypeDescriptor;

- fix IS NULL for the case that the input is MISSING;

- let CastTypeDescriptor have a generated runtime so as to handle NULL/MISSING correctly.

Change-Id: Id9de7c3df70be43456e38a61ce767cc14f09e661

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

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

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

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

  1. … 114 more files in changeset.
Add EXISTS/NOT EXISTS.

- Fixed the precedence order of NOT.

Change-Id: I7ec20753659e2de2fd65e5f858e0f73796b907d0

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

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

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

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

  1. … 67 more files in changeset.
Support SQL-compliant group-by syntax.

1. Add AST-level deep equality and expression subsutitions;

2. Fix DeepCopyVisitor and InlineColumnAliasVisitor for edge cases;

3. Add deep equality tests;

4. Add group-by tests for the SQL-compliant syntax.

Change-Id: Ia1cbe1fab216b5f47577d75fd870a537cfe1e84f

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

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>

  1. … 117 more files in changeset.
Remove NEST from the syntax.

Change-Id: I0e982523fc3fbf916ae4dd1b14e64ecf12844bcb

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

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

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

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

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