[
https://issues.apache.org/jira/browse/CASSANDRA-18107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17736196#comment-17736196
]
Caleb Rackliffe commented on CASSANDRA-18107:
---------------------------------------------
Removed metrics items from the description above, as those should be taken care
of in CASSANDRA-18580.
> 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: NA
>
>
> 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:
> *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
> *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
> *Testing*
> - Figure out the original intent of placeholder tests in
> {{AccordIntegrationTest}} (ex. {{acceptInvalidationTest()}})
> - Remove hack in {{AccordConfigurationService}} (when we have Transactional
> Metadata)
> - Verify concretely that we disable Guardrails.
> - Audit the way we propagate timestamps through execution.
> *Features*
> - Full JSON support
> - Final decision of whether we should support 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)
> - Nested UDT support
> - Mixed conditional and unconditional updates (should this be post-v1?)
> - Arithmetic operations on references in {{INSERT}}/{{UPDATE}} (ex. INSERT
> INTO ks.tbl1 (k, c, v) VALUES (0, 0, a.v + 1)
> *Tooling*
> - Eliminate {{nodetool createepochunsafe}} once transactional metadata is
> available.
> *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
> *Questions*
> - How should txn statement parsing/preparation handle TTLs specified in
> updates?
> - At what level do we want to integrate tracing?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]