asterixdb

Clone Tools
  • last updated 16 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE] Feed operator doc updates

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: Ic3ffbcd691b7a864861272282dcbf093e6999e03

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

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>

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

[NO ISSUE][RT] Add Support For Feed Ingestion Without Message

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add an option to specify whether FeedMetaStoreNodePushable

should process a message as part of the feed data or not.

Change-Id: I804fb4ae884020906dc09be188fa976867662d40

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

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>

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

Merge branch 'gerrit/mad-hatter'

Change-Id: I78f3e2ee495feec5bf311261188c48dd770b66ad

[ASTERIXDB-2762] Fix str_to_codepoint() and codepoint_to_str()

This commit aims to fix bugs in the two functions.

Previously, for surrogate-pair characters (those who have 4 bytes

or 2 Java chars in UTF-16 instead of 2 bytes or 1 Java char)

the two functions didn't work fine.

The code point of such a character was an integer pair (due to two Java

chars in the encoding) instead of one integer, and this was not expected.

Change-Id: I93563b90e8d4f77886e1cb3ed67519fd0968c95d

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

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] Polish String Util codes

Change-Id: Ice113810c5af052db144616e1374df759692c5b1

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

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

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

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

[ASTERIXDB-2762] Use code point as unit in position()

Change-Id: Icf1b8b3401599e4332dd09534bdf4787cd9d85d6

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

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

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

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

[ASTERIXDB-2762] Add emoji test case for regex

To test if the regex functions support multi-code-point characters such

as emoji.

Change-Id: I63a8feb6218624729c3612009307342c1208914e

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

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

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

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

[NO ISSUE] Polish getNumCodePoint()

Polish to reuse existing codes to make things more clear

Change-Id: Ibe5a60a54590f4f72cac9e5ccda973ac30b339c5

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

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

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

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

[ASTERIXDB-2176][RT] Improved Python IPC

- use msgpack serialization over tcp loopback

- convert directly from ADM binary format to msg

Change-Id: I5cbbc367944b489aee651ea050e74990dcf65521

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

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. … 45 more files in changeset.
[ASTERIXDB-2762] Count code points in string length()

This commit aims to let the string length() built-in function to count

the number of code points instead of the number of Java Chars in a string.

Change-Id: I3ff25840adc94b4a688c53a06816d5934c6418ad

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

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] DROP DATASET IF EXISTS must not fail if dataverse not found

Details:

- Fixed regression in DROP DATASET IF EXISTS.

The statement must not fail if dataset's dataverse

is not found.

Change-Id: I613c0b84cd57ce690b4e7d28e3e376ddfd633791

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

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

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

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

[NO ISSUE] Minor AlgebricksException, TestExecutor updates

- update AlgebricksException.getParams() to return Serializable[]

- accept regex patters for expected errors

Change-Id: I2b181719979878b2d8ec0442dab0ed3678c0d9b4

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

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

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

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

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

[ASTERIXDB-2762] reverse() per code point

This commit aims to reverse a string per code point instead of per Java

char in the reverse() function.

Change-Id: I437903b8bc668c836e781f4a965e6039305b8654

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

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][COMP] Improve error message when function not found

Details:

- Remove arity from the error message raised when

the function is not found

- Also remove "null." prefix from that message if

the function call did not specify a dataverse

Change-Id: I384ca2af87078e72aab23dccd3651a8edf02a3b4

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

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>

[ASTERIXDB-2762] Use code point as the unit in trim()

This commit aims to use code point as the unit in trim().

Currently, Java char (2 bytes) is used as the unit in trim(),

however, for non-English characters such as Emoji and Korean,

one character may have multiple bytes and thus can be trimmed

in an illegal way if we use Java char as the unit.

Instead, code point is a more natural unit to do so.

Change-Id: If14092be9c2a654dba392bb2b773db81c9e47ae6

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

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][COMP] Support dropping dataverse only if it's empty

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add ifEmpty flag to DataverseDropStatement to indicate that

the dataverse must be dropped only if it does not contain any

objects. This flag is currently not supported in the grammar,

but may be used by product extensions.

- Add validateDataverseStateBeforeDrop() method that is called

before a dataverse is about to be dropped. It may be used

by product extensions to perform additional checks before

dropping the dataverse.

- Refactor handleCreateIndexStatement() to align with other

handle*() methods (acquires locks, then calls doCreateIndex()).

- Ensure that all doDrop*() methods return a boolean value

indicating whether the entity was actually dropped.

Change-Id: I86aca8ab02cf1bf0e0600237d3e2f71293166b08

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

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>

[NO ISSUE] Update split() document with a new example

In the split() function document, added an example with two consecutive

`sep`s in the input `string` to clarify this edge case.

Change-Id: I9d944ac560957581523de52c0533f91225c059e6

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

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

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

Integration-Tests: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[ASTERIXDB-2762] Use code point as the unit in substr()

This commit aims to use code point as the unit in substr().

Currently, Java char (2 bytes) is used as the unit in substr(),

however, for non-English characters such as Emoji and Korean,

one character may have multiple bytes and thus can be splitted into a

few illegal parts if we use Java char as the unit.

Instead, code point is a more natural unit to split characters.

Change-Id: I5c38cfd7abcf6f1c1f23a9f74dfd3181531d8c0f

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

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

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

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

[ASTERIXDB-2760][COMP] Improve function call resolution

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor function call resolution and perform it earlier,

before GROUP BY expressions are substituted

- Consolidate gby-expr testcases into a single one

- Introduce QueryTranslator.handleDeclareFunctionStatement()

- Rename existing SqlppCaseExpressionVisitor to

SqlppCaseAggregateExtractionVisitor

- Move CASE expression rewriting code from

SqlppBuiltinFunctionRewriteVisitor into a separate visitor:

SqlppCaseExpressionVisitor

- Remove function name normalization code from SqlppAstPrintVisitor

and updated existing reference results

Change-Id: I527ffbff487b8534f66ca27d48788e96c65aec9b

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

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. … 1148 more files in changeset.
Merge branch 'gerrit/mad-hatter'

Change-Id: Iba32a467109f15093d9e0347b819c8e46066cd5d

[ASTERIXDB-2685][FUN] regex-split avoid creating unnecessary objects if not needed

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Switched to using the RegExpMatcher class to avoid creating

unnecessary objects (compiling patterns) if the next tuple

pattern is similar to the previous one.

Change-Id: Ie6920fb049f7b333e3d41de154839d83b5280926

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

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

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

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

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

[NO ISSUE][STO] Use Index Resolved Path

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- When attempting to drop an existing index before recreating

it, use the index resolved path based on the NC io devices

resolver.

Change-Id: I201ff17dc6deb02032d5e8603b28b7711ed0efab

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

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

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

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

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

[ASTERIXDB-2755] Fix failed test case caused by GVBC

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix testAllocateWhileFlushIsScheduled to ensure that writes on

partition 1 are enabled after the flush on partition 0 is completed.

Otherwise, GVBC may flush partition 1 as well, because GVBC is still full,

causing inconsistent component IDs.

Change-Id: I82cc3f30563061ef7d7340747ea81cd8659cdb32

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

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

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

Reviewed-by: Luo Chen <cluo8@uci.edu>

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

[NO ISSUE] Redact sensitive data from statement logging

Change-Id: Ibd63ca9167c769eea4d03982dbf7fa543913dc67

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

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

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

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

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

[ASTERIXDB-2758][TEST] Test for ensuring translation from wildcard pattern to REGEX is done properly

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Added a unit test to ensure the translation from wildcard

patterns to regex pattern is done properly.

Change-Id: Ieb7fb8d86e1b33ac351c3a6f9f14c3b77eac2988

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

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

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

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

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

[ASTERIXDB-2757] Properly handle include/exclude pattern translation

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Handles properly handling the translation of a wildcard

pattern to a regex to avoid potential failure in the query.

- Added and updated some test cases.

Change-Id: I661c1fad9b2c2692fa231e48f00eb5cf9d79ad5e

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

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>

[NO ISSUE][RT] Support External Datasets Rebalance

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Do not attempt to rebalance external datasets files

on rebalance since they do not have files on local

storage.

- Skip dropping external datasets files on rebalance

since they have no files on local storage.

Change-Id: I71f50ade98c8b798225baf0cb34dd6e70a5e923e

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

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

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

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

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

[NO ISSUE][COMP] Refactor drop dataverse and drop function

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Refactor feed handling when processing drop dataverse

and drop function

- Move feed dependency checking from QueryTranslator

to MetadataNode to align with other entities

Change-Id: I493dfffd77c596bb3485eccb00b417d40f47b647

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

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>

Reviewed-by: Xikui Wang <xkkwww@gmail.com>

[ASTERIXDB-2754][COMP] LoadRecordFieldsRule must clone expression

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- LoadRecordFieldsRule replaces a field access expression with

another expression that it gets from a record constructor that

created this field. It must clone the replacement expression

because it's still used by the record constructor

Change-Id: I4ba653bbb82a76783b295c3bc3cfbed897a3b4e6

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

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>

Merge branch 'gerrit/mad-hatter'

Change-Id: I5d464bb8e86d01732baa6a9337dfd6e1e2b6672d