You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2013/06/17 20:05:23 UTC

[jira] [Commented] (CASSANDRA-5649) Move resultset type information into prepare, not execute

    [ https://issues.apache.org/jira/browse/CASSANDRA-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13685782#comment-13685782 ] 

Jonathan Ellis commented on CASSANDRA-5649:
-------------------------------------------

Comparing prior art shows that both MySQL and PostgreSQL send type information for each execution, but I cannot find a reason for this other than historical accident.  A postgresql developer confirmed that a prepared statement *must* return the same types with each call, so theoretically there should be no obstacle in only returning types once.
                
> Move resultset type information into prepare, not execute
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-5649
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5649
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>             Fix For: 2.0
>
>
> Native protocol 1.0 sends type information on execute.  This is a minor inefficiency for large resultsets; unfortunately, single-row resultsets are common.
> This does represent a performance regression from Thrift; Thrift does not send type information at all.  (Bad for driver complexity, but good for performance.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira