[ 
https://issues.apache.org/jira/browse/CASSANDRA-18107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Caleb Rackliffe updated CASSANDRA-18107:
----------------------------------------
    Description: 
With CASSANDRA-17719 complete, basic/alpha CQL support for Accord is now 
available in the 
[cep-15-accord|https://github.com/apache/cassandra/commits/cep-15-accord] 
branch. There are, however, a number of features and enhancements that we would 
still like to add before we make it available to users. Here is a summary of 
those items, broadly categorized:
h3. *High Priority*

*Error Messages and UX*
 - Fix the element/field names in result metadata to match the user query
 - Better error messages
 -- Append/subtracting to/from frozen list
 -- attempts to use reference in WHERE clause
 -- LET using a reserved word

*Testing*
 - Figure out the original intent of placeholder tests in 
{{AccordIntegrationTest}} (ex. {{{}acceptInvalidationTest(){}}})

*Features*
 - Support for returning the result of an {{{}IF{}}}/condition
 - Constant terms on the RHS of LET
 - Support for having a reference on both LHS and RHS of {{IF}} predicates
 - Support for {{{}CONTAINS{}}}, {{{}CONTAINS KEY{}}}, and {{IN}} (important 
for CAS parity)
 - Mixed conditional and unconditional updates
 - Arithmetic operations on references in {{{}INSERT{}}}/{{{}UPDATE{}}} (ex. 
INSERT INTO ks.tbl1 (k, c, v) VALUES (0, 0, a.v + 1)
 - Support TTLs specified in txn updates.

*Tooling*
 - Remove {{reateepochunsafe}} references in {{JMXGetterCheckTest}}

 *Documentation*
 - JavaDoc for all new statement classes

h3. *Nice to Have*

*Domain Object Cleanup*
 - Given {{Selector}} is serializable, attempt to reuse it in {{TxnReference}} 
rather than hard coding data conversion cases
 - Separate current current {{LET}} statement from {{{}SelectStatement{}}}, 
likely as a new {{LetStatement}} that names a {{SelectStatement}}
 - Explore unifying {{Operation}} and {{ReferenceOperation}}
 - Include non-Row items of {{FilteredPartition}} in 
{{TxnData#estimatedSizeOnHeap()}}
 - Explore possibility of making {{Bound}} serializable and using it directly 
in {{TxnCondition}}
 - Change internal representation of {{TxnDataName}} to avoid {{String}} -> 
{{ByteBuffer}} conversions
 - Have {{{}TxnCondition{}}}/{{{}TxnUpdate{}}} support {{slice()}} to full take 
advantage of partial state replication
 - Update serialization logic to reflect CASSANDRA-18099

*Features*
 - Full JSON support
 - Nested UDT support

 *Documentation*
 - CQL language documentation and bump the CQL language specification version
 - JavaDoc for all new statement classes
 - Integrate {{demo.txt}} into broader documentation somewhere or remove

  was:
With CASSANDRA-17719 complete, basic/alpha CQL support for Accord is now 
available in the 
[cep-15-accord|https://github.com/apache/cassandra/commits/cep-15-accord] 
branch. There are, however, a number of features and enhancements that we would 
still like to add before we make it available to users. Here is a summary of 
those items, broadly categorized:

h3. *High Priority*

*Error Messages and UX*
 - Fix the element/field names in result metadata to match the user query
 - Better error messages
 -- Append/subtracting to/from frozen list
 -- attempts to use reference in WHERE clause
 -- LET using a reserved word

*Testing*
 - Figure out the original intent of placeholder tests in 
{{AccordIntegrationTest}} (ex. {{{}acceptInvalidationTest(){}}}){-}{{-}}

*Features*
 - Support for returning the result of an {{{}IF{}}}/condition
 - Constant terms on the RHS of LET
 - Support for having a reference on both LHS and RHS of {{IF}} predicates
 - Support for {{{}CONTAINS{}}}, {{{}CONTAINS KEY{}}}, and {{IN}} (important 
for CAS parity)
 - Mixed conditional and unconditional updates
 - Arithmetic operations on references in {{{}INSERT{}}}/{{{}UPDATE{}}} (ex. 
INSERT INTO ks.tbl1 (k, c, v) VALUES (0, 0, a.v + 1)
 - Support TTLs specified in txn updates.

*Tooling*
 - Remove {{reateepochunsafe}} references in {{JMXGetterCheckTest}}

 *Documentation*
 - JavaDoc for all new statement classes

h3. *Nice to Have*

*Domain Object Cleanup*
 - Given {{Selector}} is serializable, attempt to reuse it in {{TxnReference}} 
rather than hard coding data conversion cases
 - Separate current current {{LET}} statement from {{{}SelectStatement{}}}, 
likely as a new {{LetStatement}} that names a {{SelectStatement}}
 - Explore unifying {{Operation}} and {{ReferenceOperation}}
 - Include non-Row items of {{FilteredPartition}} in 
{{TxnData#estimatedSizeOnHeap()}}
 - Explore possibility of making {{Bound}} serializable and using it directly 
in {{TxnCondition}}
 - Change internal representation of {{TxnDataName}} to avoid {{String}} -> 
{{ByteBuffer}} conversions
 - Have {{{}TxnCondition{}}}/{{{}TxnUpdate{}}} support {{slice()}} to full take 
advantage of partial state replication
 - Update serialization logic to reflect CASSANDRA-18099

*Features*
 - Full JSON support
 - Nested UDT support

 *Documentation*
 - CQL language documentation and bump the CQL language specification version
 - JavaDoc for all new statement classes
 - Integrate {{demo.txt}} into broader documentation somewhere or remove


> CEP-15: Multi-Partition Transaction CQL Support (Alpha -> v1)
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-18107
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18107
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Accord, CQL/Semantics, CQL/Syntax
>            Reporter: Caleb Rackliffe
>            Assignee: Caleb Rackliffe
>            Priority: Normal
>             Fix For: 5.x
>
>
> With CASSANDRA-17719 complete, basic/alpha CQL support for Accord is now 
> available in the 
> [cep-15-accord|https://github.com/apache/cassandra/commits/cep-15-accord] 
> branch. There are, however, a number of features and enhancements that we 
> would still like to add before we make it available to users. Here is a 
> summary of those items, broadly categorized:
> h3. *High Priority*
> *Error Messages and UX*
>  - Fix the element/field names in result metadata to match the user query
>  - Better error messages
>  -- Append/subtracting to/from frozen list
>  -- attempts to use reference in WHERE clause
>  -- LET using a reserved word
> *Testing*
>  - Figure out the original intent of placeholder tests in 
> {{AccordIntegrationTest}} (ex. {{{}acceptInvalidationTest(){}}})
> *Features*
>  - Support for returning the result of an {{{}IF{}}}/condition
>  - Constant terms on the RHS of LET
>  - Support for having a reference on both LHS and RHS of {{IF}} predicates
>  - Support for {{{}CONTAINS{}}}, {{{}CONTAINS KEY{}}}, and {{IN}} (important 
> for CAS parity)
>  - Mixed conditional and unconditional updates
>  - Arithmetic operations on references in {{{}INSERT{}}}/{{{}UPDATE{}}} (ex. 
> INSERT INTO ks.tbl1 (k, c, v) VALUES (0, 0, a.v + 1)
>  - Support TTLs specified in txn updates.
> *Tooling*
>  - Remove {{reateepochunsafe}} references in {{JMXGetterCheckTest}}
>  *Documentation*
>  - JavaDoc for all new statement classes
> h3. *Nice to Have*
> *Domain Object Cleanup*
>  - Given {{Selector}} is serializable, attempt to reuse it in 
> {{TxnReference}} rather than hard coding data conversion cases
>  - Separate current current {{LET}} statement from {{{}SelectStatement{}}}, 
> likely as a new {{LetStatement}} that names a {{SelectStatement}}
>  - Explore unifying {{Operation}} and {{ReferenceOperation}}
>  - Include non-Row items of {{FilteredPartition}} in 
> {{TxnData#estimatedSizeOnHeap()}}
>  - Explore possibility of making {{Bound}} serializable and using it directly 
> in {{TxnCondition}}
>  - Change internal representation of {{TxnDataName}} to avoid {{String}} -> 
> {{ByteBuffer}} conversions
>  - Have {{{}TxnCondition{}}}/{{{}TxnUpdate{}}} support {{slice()}} to full 
> take advantage of partial state replication
>  - Update serialization logic to reflect CASSANDRA-18099
> *Features*
>  - Full JSON support
>  - Nested UDT support
>  *Documentation*
>  - CQL language documentation and bump the CQL language specification version
>  - JavaDoc for all new statement classes
>  - Integrate {{demo.txt}} into broader documentation somewhere or remove



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to