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

Caleb Rackliffe reassigned CASSANDRA-18107:
-------------------------------------------

    Assignee: Caleb Rackliffe

> 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
> *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.
> *Metrics*
> - Latency metrics for execution and failure/timeout counting (“Transaction” 
> in client metrics?)
> *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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to