[
https://issues.apache.org/jira/browse/CASSANDRA-11274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefania updated CASSANDRA-11274:
---------------------------------
Description:
During the development of CASSANDRA-11053 we have added changes to the cqlsh
formatting code so that we can format {{blob}} types correctly even if they are
represented as {{str}} rather than {{bytearray}}.
At the moment we ensure {{blob}} are of type {{bytearray}} via the following
shortcut:
{code}
cassandra.cqltypes.BytesType.deserialize = staticmethod(lambda byts,
protocol_version: bytearray(byts))
{code}
After CASSANDRA-11053 is committed there will be a similar shortcut to override
the fast serializers implemented in cython. This trick was not known initially,
which is why the code to interpret CQL types was written.
Decoding the CQL type is safer in that it decouples cqlsh formatting from the
types returned by the driver deserializers but it is also unnecessary for
CASSANDRA-11053 performance goals and risky for older releases.
Therefore this ticket delivers this functionality but only on trunk.
was:
During the development of CASSANDRA-11053 we have added changes to the cqlsh
formatting code so that we can format {{blob}} types correctly even if they are
represented as {{str}} rather than {{bytearray}}.
At the moment we ensure {{blob}} are of type {{bytearray}} via the following
trick:
{code}
cassandra.cqltypes.BytesType.deserialize = staticmethod(lambda byts,
protocol_version: bytearray(byts))
{code}
After CASSANDRA-11053 is committed there will be a similar trick to override
the fast serializers implemented in cython. This trick was not known initially,
which is why the code to interpret CQL types was written.
Decoding the CQL type is safer in that it decouples cqlsh formatting from the
types returned by the driver deserializers but it is also unnecessary for
CASSANDRA-11053 performance goals and risky for older releases.
Therefore this ticket delivers this functionality but only on trunk.
> cqlsh: interpret CQL type for formatting blob types
> ---------------------------------------------------
>
> Key: CASSANDRA-11274
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11274
> Project: Cassandra
> Issue Type: Improvement
> Components: Tools
> Reporter: Stefania
> Assignee: Stefania
> Fix For: 3.x
>
>
> During the development of CASSANDRA-11053 we have added changes to the cqlsh
> formatting code so that we can format {{blob}} types correctly even if they
> are represented as {{str}} rather than {{bytearray}}.
> At the moment we ensure {{blob}} are of type {{bytearray}} via the following
> shortcut:
> {code}
> cassandra.cqltypes.BytesType.deserialize = staticmethod(lambda byts,
> protocol_version: bytearray(byts))
> {code}
> After CASSANDRA-11053 is committed there will be a similar shortcut to
> override the fast serializers implemented in cython. This trick was not known
> initially, which is why the code to interpret CQL types was written.
> Decoding the CQL type is safer in that it decouples cqlsh formatting from the
> types returned by the driver deserializers but it is also unnecessary for
> CASSANDRA-11053 performance goals and risky for older releases.
> Therefore this ticket delivers this functionality but only on trunk.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)