cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oded Peer (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-7304) Ability to distinguish between NULL and UNSET values in Prepared Statements
Date Thu, 03 Jul 2014 14:46:26 GMT


Oded Peer commented on CASSANDRA-7304:

bq. Do note that this is specific to the Java driver, not a server issue.
Let me verify your intent: you want to change the Java driver to throw an exception if not
all the bind variables are set, then change the Cassandra code to make unset variables a no-op
and finally change the Java driver code to allow unset variables.
IMHO this addresses safety in the java driver for a very short time period. I would skip the
exception-throwing phase and go straight to implementing unset variables in the Java driver
and add it to the release notes.

> Ability to distinguish between NULL and UNSET values in Prepared Statements
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-7304
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Drew Kutcharian
>              Labels: cql
>         Attachments: 7304.patch
> Currently Cassandra inserts tombstones when a value of a column is bound to NULL in a
prepared statement. At higher insert rates managing all these tombstones becomes an unnecessary
overhead. This limits the usefulness of the prepared statements since developers have to either
create multiple prepared statements (each with a different combination of column names, which
at times is just unfeasible because of the sheer number of possible combinations) or fall
back to using regular (non-prepared) statements.
> This JIRA is here to explore the possibility of either:
> A. Have a flag on prepared statements that once set, tells Cassandra to ignore null columns
> or
> B. Have an "UNSET" value which makes Cassandra skip the null columns and not tombstone
> Basically, in the context of a prepared statement, a null value means delete, but we
don’t have anything that means "ignore" (besides creating a new prepared statement without
the ignored column).
> Please refer to the original conversation on DataStax Java Driver mailing list for more

This message was sent by Atlassian JIRA

View raw message