mirror of https://gitee.com/bigwinds/arangodb
updated CHANGELOG
This commit is contained in:
parent
196ec2593c
commit
b580a7df22
43
CHANGELOG
43
CHANGELOG
|
@ -1,7 +1,42 @@
|
|||
v3.0.0 (XXXX-XX-XX)
|
||||
-------------------
|
||||
|
||||
* allow to set print.limitString to configure the number of characters
|
||||
* added AQL array comparison operators
|
||||
|
||||
All AQL comparison operators now lso exist in an array variant. In the
|
||||
array variant, the operator is prefixed with one of the keywords *ALL*, *ANY*
|
||||
or *NONE*. Using one of these keywords changes the operator behavior to
|
||||
execute the comparison operation for all, any, or none of its left hand
|
||||
argument values. It is therefore expected that the left hand argument
|
||||
of an array operator is an array.
|
||||
|
||||
Examples:
|
||||
|
||||
[ 1, 2, 3 ] ANY == 2 // true
|
||||
[ 1, 2, 3 ] ANY == 4 // false
|
||||
[ 1, 2, 3 ] ANY > 0 // true
|
||||
[ 1, 2, 3 ] ANY IN [ 4, 5, 6 ] // false
|
||||
[ 1, 2, 3 ] ANY IN [ 1, 42 ] // true
|
||||
[ 1, 2, 3 ] ALL IN [ 2, 3, 4 ] // false
|
||||
[ 1, 2, 3 ] ALL IN [ 1, 2, 3 ] // true
|
||||
[ 1, 2, 3 ] ALL > 2 // false
|
||||
[ 1, 2, 3 ] ALL > 0 // true
|
||||
[ 1, 2, 3 ] NONE IN [ 3 ] // false
|
||||
[ 1, 2, 3 ] NONE IN [ 23, 42 ] // true
|
||||
[ 1, 2, 3 ] NONE < 99 // false
|
||||
[ 1, 2, 3 ] NONE > 10 // true
|
||||
|
||||
* improved AQL optimizer to remove unnecessary sort operations in more cases
|
||||
|
||||
* allow enclosing AQL identifiers in forward ticks in addition to using
|
||||
backward ticks
|
||||
|
||||
This allows convenient writing of AQL queries in JavaScript template strings
|
||||
(that is itself delimited with backticks), e.g.
|
||||
|
||||
var q = `FOR doc IN ´collection´ RETURN doc.´name´`;
|
||||
|
||||
* allow to set `print.limitString` to configure the number of characters
|
||||
to output before truncating
|
||||
|
||||
* make logging configurable per log "topic"
|
||||
|
@ -82,6 +117,12 @@ v3.0.0 (XXXX-XX-XX)
|
|||
v2.8.3 (XXXX-XX-XX)
|
||||
-------------------
|
||||
|
||||
* fixed AQL filter condition collapsing for deeply-nested cases, potentially
|
||||
enabling usage of indexes in some dedicated cases
|
||||
|
||||
* added parentheses in AQL explain command output to correctly display precedence
|
||||
of logical and arithmetic operators
|
||||
|
||||
* Foxx Model event listeners defined on the model are now correctly invoked by
|
||||
the Repository methods (issue #1665)
|
||||
|
||||
|
|
|
@ -41,6 +41,33 @@ true != null // true
|
|||
42 NOT IN [ 17, 40, 50 ] // true
|
||||
```
|
||||
|
||||
!SUBSUBSECTION Array comparison operators
|
||||
|
||||
The comparison operators also exist as *array variant*. In the array
|
||||
variant, the operator is prefixed with one of the keywords *ALL*, *ANY*
|
||||
or *NONE*. Using one of these keywords changes the operator behavior to
|
||||
execute the comparison operation for all, any, or none of its left hand
|
||||
argument values. It is therefore expected that the left hand argument
|
||||
of an array operator is an array.
|
||||
|
||||
Examples:
|
||||
|
||||
```
|
||||
[ 1, 2, 3 ] ANY == 2 // true
|
||||
[ 1, 2, 3 ] ANY == 4 // false
|
||||
[ 1, 2, 3 ] ANY > 0 // true
|
||||
[ 1, 2, 3 ] ANY IN [ 4, 5, 6 ] // false
|
||||
[ 1, 2, 3 ] ANY IN [ 1, 42 ] // true
|
||||
[ 1, 2, 3 ] ALL IN [ 2, 3, 4 ] // false
|
||||
[ 1, 2, 3 ] ALL IN [ 1, 2, 3 ] // true
|
||||
[ 1, 2, 3 ] ALL > 2 // false
|
||||
[ 1, 2, 3 ] ALL > 0 // true
|
||||
[ 1, 2, 3 ] NONE IN [ 3 ] // false
|
||||
[ 1, 2, 3 ] NONE IN [ 23, 42 ] // true
|
||||
[ 1, 2, 3 ] NONE < 99 // false
|
||||
[ 1, 2, 3 ] NONE > 10 // true
|
||||
```
|
||||
|
||||
!SUBSUBSECTION Logical operators
|
||||
|
||||
The following logical operators are supported in AQL:
|
||||
|
|
|
@ -132,8 +132,9 @@ The maximum supported length of any name is 64 bytes. Names in AQL are always
|
|||
case-sensitive.
|
||||
|
||||
Keywords must not be used as names. If a reserved keyword should be used as a
|
||||
name, the name must be enclosed in backticks. Enclosing a name in backticks
|
||||
makes it possible to use otherwise reserved keywords as names. An example for this is:
|
||||
name, the name must be enclosed in backticks or forward ticks. Enclosing a name in
|
||||
backticks or forward ticks makes it possible to use otherwise reserved keywords
|
||||
as names. An example for this is:
|
||||
|
||||
FOR f IN `filter`
|
||||
RETURN f.`sort`
|
||||
|
@ -141,6 +142,12 @@ makes it possible to use otherwise reserved keywords as names. An example for th
|
|||
Due to the backticks, *filter* and *sort* are interpreted as names and not as
|
||||
keywords here.
|
||||
|
||||
The example can alternatively written as:
|
||||
|
||||
FOR f IN ´filter´
|
||||
RETURN f.´sort´
|
||||
|
||||
|
||||
!SUBSUBSECTION Collection names
|
||||
|
||||
Collection names can be used in queries as they are. If a collection happens to
|
||||
|
|
Loading…
Reference in New Issue