[
https://issues.apache.org/jira/browse/CASSANDRA-3634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13188078#comment-13188078
]
Eric Evans commented on CASSANDRA-3634:
---------------------------------------
bq. Perhaps it is a JDBC specific problem but often, tooling will use setInt()
if it is a number to be stored in a string column and more frequently a
setString() for an integer field. The concern is the PreparedStatement suite of
methods provides a lot of flexibility to do these kinds of implied
transformations that will be difficult without cooperation between the client
and server. to do on the client side only, will require knowing the entire
potential schema cached on the client side.
I think I see what you're saying and this just falls under the "strings are
easier argument". You're able to get away with more because it's the server
that's doing the marshaling for you. For example, it doesn't matter whether
the schema is Int32, Integer, Long, etc, as long as you pass something that
vaguely looks like a number, it'll do the Right Thing.
With binary arguments you will need to keep a client-side copy of the schema so
that you know how to encode each argument (like Thrift clients have been doing
for some time).
So if a user calls {{setString("10")}} where schema is LongType, you'll need to
first create a long from the string, and then marshal it to bytes for the
request.
Validation is also something that you're going to need to do client-side; I
don't think there is any validation that the server can do that it isn't
already. For example, with numeric types, other than validating the length of
the {{byte[]}} (think Long or Int32), there really aren't any bytes that would
be _invalid_.
> compare string vs. binary prepared statement parameters
> -------------------------------------------------------
>
> Key: CASSANDRA-3634
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3634
> Project: Cassandra
> Issue Type: Sub-task
> Components: API, Core
> Reporter: Eric Evans
> Assignee: Eric Evans
> Priority: Minor
> Labels: cql
> Fix For: 1.1
>
>
> Perform benchmarks to compare the performance of string and pre-serialized
> binary parameters to prepared statements.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira