Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C8318188FF for ; Mon, 29 Feb 2016 05:47:18 +0000 (UTC) Received: (qmail 7356 invoked by uid 500); 29 Feb 2016 05:47:18 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 7316 invoked by uid 500); 29 Feb 2016 05:47:18 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 7305 invoked by uid 99); 29 Feb 2016 05:47:18 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Feb 2016 05:47:18 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 0DCA52C14F4 for ; Mon, 29 Feb 2016 05:47:18 +0000 (UTC) Date: Mon, 29 Feb 2016 05:47:18 +0000 (UTC) From: "Stefania (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CASSANDRA-11274) cqlsh: interpret CQL type for formatting blob types MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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. 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 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. > 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. > 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)