[
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.
- Allow partition reads in SELECT (i.e. only limit to one row on the
right-hand side of LET statements)
- Aliased selectors in LET statements
*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.
- Allow partition reads in SELECT (i.e. only limit to one row on the
right-hand side of LET statements)
*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: Apache 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.
> - Allow partition reads in SELECT (i.e. only limit to one row on the
> right-hand side of LET statements)
> - Aliased selectors in LET statements
> *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: [email protected]
For additional commands, e-mail: [email protected]