CQL version 6.1 back compatibility with version 6.0
CQL version 6.1 is generally back compatible with CQL 6.0. CQL 6.0 code will run unmodified in CQL 6.1 except for the following:- A persistent declaration without assignment is not longer supported, e.g.
persistent x
Instead, usepersistent x+=0
- When the actual parameter to a function invocation is a variable enclosed in braces, that variable is passed by value instead of by name.
function Cube(x){x=x*x*x} y=3 Cube(y) // passed by name y==27 // y changes z=Cube({y}) // passed by value in CQL 6.1 but not CQL 6.0 y==27 // y is unchanged
- In order to avoid confusion with regular expression searches, an implicit search parameter cannot contain
+
,*
or?
after the first character; nor a[
prior to a]
.For example, to search for a site that contains the literal string
x+y
, instead ofsite "x+y"
use"x+y" in site
Of course, to search the regular expressionx+y
usesite ~~ "x+y"
- CQL 6.0 code that uses new CQL 6.1 keywords will not run; such issues will be caught at compile time .