You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eric Evans (JIRA)" <ji...@apache.org> on 2010/11/04 15:45:42 UTC

[jira] Created: (CASSANDRA-1706) CQL deletes (aka DELETE)

CQL deletes (aka DELETE)
------------------------

                 Key: CASSANDRA-1706
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
             Project: Cassandra
          Issue Type: Sub-task
          Components: API
    Affects Versions: 0.8
            Reporter: Eric Evans
            Priority: Minor
             Fix For: 0.8


CQL specification and implementation for data removal.

This corresponds to the following RPC methods:

* remove()
* batch_mutate() (deleting, not updating)
* truncate() (?)

My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':

{code:SQL}
DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
{code}

Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1706:
----------------------------------

    Attachment:     (was: v1-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt)

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1706:
----------------------------------

    Attachment: v1-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12971015#action_12971015 ] 

Hudson commented on CASSANDRA-1706:
-----------------------------------

Integrated in Cassandra #625 (See [https://hudson.apache.org/hudson/job/Cassandra/625/])
    CASSANDRA-1706: CQL DELETE w/ functional tests

Patch by eevans for CASSANDRA-1706


> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929127#action_12929127 ] 

Jonathan Ellis commented on CASSANDRA-1706:
-------------------------------------------

TRUNCATE should be a separate command.  http://en.wikipedia.org/wiki/Truncate_%28SQL%29

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929199#action_12929199 ] 

Jonathan Ellis commented on CASSANDRA-1706:
-------------------------------------------

bq. Is there any reason this couldn't use identical syntax to `SELECT'?

There are two differences:

1. We don't support column slices on delete
2. We don't support deleting row ranges or indexed predicates

We could hide these by doing read-then-delete in the SQL layer but I'm not sure this is a good idea, I would prefer to leave it out for version 1.

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1706:
----------------------------------

    Assignee: Eric Evans

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929125#action_12929125 ] 

Jonathan Ellis commented on CASSANDRA-1706:
-------------------------------------------

I think that we should support deleting columns as well as entire rows:

{code:SQL}DELETE <CDL>? FROM <CF> [USING CONSISTENCY.<LVL>] WHERE KEY=<X>|KEY IN <Y>{code}


> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans resolved CASSANDRA-1706.
-----------------------------------

    Resolution: Fixed
      Assignee: Eric Evans

I believe this to be complete at this point.

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970269#action_12970269 ] 

Eric Evans commented on CASSANDRA-1706:
---------------------------------------

The attached (updated) patch implements DELETE, and includes functional tests and update docu.

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929190#action_12929190 ] 

Eric Evans commented on CASSANDRA-1706:
---------------------------------------

> I think that we should support deleting columns as well as entire rows:
> 
> DELETE <CDL>? FROM <CF> [USING CONSISTENCY.<LVL>] WHERE KEY=<X>|KEY IN <Y>

Is there any reason this couldn't use identical syntax to `SELECT'?

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1706:
----------------------------------

    Assignee:     (was: Eric Evans)

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1706) CQL deletes (aka DELETE)

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1706:
----------------------------------

    Attachment: v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt

> CQL deletes (aka DELETE)
> ------------------------
>
>                 Key: CASSANDRA-1706
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1706
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt, v2-0001-CASSANDRA-1706-CQL-DELETE-w-functional-tests.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> CQL specification and implementation for data removal.
> This corresponds to the following RPC methods:
> * remove()
> * batch_mutate() (deleting, not updating)
> * truncate() (?)
> My thoughts on the syntax are that it can probably closely mirror a subset of `SELECT':
> {code:SQL}
> DELETE (FROM)? <CF> [USING CONSISTENCY.<LVL>] WHERE <EXPRESSION>
> {code}
> Optionally, you could support a form that makes the `WHERE' clause optional, statements without the clause would be interpreted as a column family truncation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.