cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-7981) Refactor SelectStatement
Date Thu, 13 Nov 2014 17:25:34 GMT


Benjamin Lerer commented on CASSANDRA-7981:

The patch is there: [branch|]
The Restriction building and handling has been extracted form {{SelectStatement}} into {{StatementRestrictions}}
so it should be reusable. As restrictions on the partition key  or on the clustering columns
where always used together as if they were one restriction I wrapped them behind a {{PrimaryKeyRestrictions}}
interface and made an implementation for normal restrictions, multi-column restrictions and
token restrictions. Doing so removed the reliability problems caused by the fact that we were
trying to a make muti-column restrictions or token restrictions fit to the single restriction

> Refactor SelectStatement
> ------------------------
>                 Key: CASSANDRA-7981
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>             Fix For: 3.0
> The current state of the code of SelectStatement make fixing some issues or adding new
functionnalities really hard. It also contains some functionnalities that we would like to
reuse in ModificationStatement but cannot for the moment.
> Ideally I would like to:
> * Perform as much validation as possible on Relations instead of performing it on Restrictions
as it will help for problem like the one of #CASSANDRA-6075 (I believe that by clearly separating
validation and Restrictions building we will also make the code a lot clearer)
> * Provide a way to easily merge restrictions on the same columns as needed for #CASSANDRA-7016
> * Have a preparation logic (validation + pre-processing) that we can easily reuse for
Delete statement #CASSANDRA-6237
> * Make the code much easier to read and safer to modify.

This message was sent by Atlassian JIRA

View raw message