[
https://issues.apache.org/jira/browse/CASSANDRA-10247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Penick updated CASSANDRA-10247:
---------------------------------------
Description:
Currently, there's a single {{<flag>}} to determine whether a batch uses named
values or not. This forces all query entries in a batch to use the same value
encoding. There's also the fact that the current design is broken. See:
CASSANDRA-10246
I propose that this information be encoded using the batch entries' {{<kind>}}
component and remove "0x40: With names for values" as an option from
{{<flags>}}. In the current design the {{<kind>}} component, a {{[byte]}}, only
uses two values 0 and 1 for non-prepared and prepared, respectively. The
proposed solution would add two more values, 2 and 3, for non-prepared w/ names
values and prepared w/ named values. This has a couple benefits:
1) It allows for heterogeneous value encodings in a single batch
2) It eliminates the need for reading ahead to determine the value encodings
(See: CASSANDRA-10246)
was:
Currently, there's a single {{<flag>}} to determine whether a batch uses named
values or not. This forces all query entries in a batch to use the same value
encoding. There's also the fact that the current design is broken. See:
CASSANDRA-10246
I propose that this information be encoded using the batch entries' {{<kind>}}
component and remove "0x40: With names for values" as an option from
{{<flags>}}. In the current design the {{<kind>}} component, a {{[byte]}}, only
uses two values 0 and 1 for non-prepared and prepared, respectively. The
proposed solution would add two more values 2 and 3 for non-prepared w/ names
values and prepared w/ named values. This has a couple benefits:
1) It allows for heterogeneous value encodings in a single batch
2) It eliminates the need for reading ahead to determine the value encodings
(See: CASSANDRA-10246)
> Allow both named values and regular values in a single batch
> ------------------------------------------------------------
>
> Key: CASSANDRA-10247
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10247
> Project: Cassandra
> Issue Type: Improvement
> Components: CQL
> Reporter: Michael Penick
> Priority: Major
> Labels: client-impacting, protocolv5
>
> Currently, there's a single {{<flag>}} to determine whether a batch uses
> named values or not. This forces all query entries in a batch to use the same
> value encoding. There's also the fact that the current design is broken. See:
> CASSANDRA-10246
> I propose that this information be encoded using the batch entries'
> {{<kind>}} component and remove "0x40: With names for values" as an option
> from {{<flags>}}. In the current design the {{<kind>}} component, a
> {{[byte]}}, only uses two values 0 and 1 for non-prepared and prepared,
> respectively. The proposed solution would add two more values, 2 and 3, for
> non-prepared w/ names values and prepared w/ named values. This has a couple
> benefits:
> 1) It allows for heterogeneous value encodings in a single batch
> 2) It eliminates the need for reading ahead to determine the value encodings
> (See: CASSANDRA-10246)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]