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

[jira] Created: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

NumericType: comparator for integers of fixed and arbitrary length
------------------------------------------------------------------

                 Key: CASSANDRA-1282
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
             Project: Cassandra
          Issue Type: New Feature
          Components: Core
    Affects Versions: 0.7
            Reporter: Folke Behrens
         Attachments: 0001-NumericType.patch.txt

Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.

The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Commented: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens commented on CASSANDRA-1282:
------------------------------------------

Very true. By the way, BytesType needs to be fixed, too. CASSANDRA-242 dropped the initial length == 0 check and now BytesType allows null values.

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Matthew F. Dennis updated CASSANDRA-1282:
-----------------------------------------

    Attachment: trunk-1282-v3.txt

trunk-1282-v3.txt adds some comments, no functional changes from trunk-1282-2.txt

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-2.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment: trunk-1282-2.txt

New patch based on Matthew's. null values on either side makes IntegerType throw NPE. 0-length byte arrays are treated as in LongType.

Also, I snuck in two more assertions at the end of testTrimming().

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-2.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

    Attachment: 1282-v4.txt

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Commented: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

Posted by "Matthew F. Dennis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891375#action_12891375 ] 

Matthew F. Dennis commented on CASSANDRA-1282:
----------------------------------------------

+1 on Folke's latest patch, or trunk-1282-v3.txt if you want the comments

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-2.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment: 0001-NumericType.patch.txt

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Folke Behrens
>         Attachments: 0001-NumericType.patch.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment:     (was: trunk-1282-2.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment: trunk-1282-2.txt

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-2.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment:     (was: trunk-1282-2.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282-2.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Matthew F. Dennis updated CASSANDRA-1282:
-----------------------------------------

    Attachment: trunk-1282.txt

trunk-1282.txt also reverses the sort order of null in the original patch to be consistent with org.apache.commons.lang.builder.CompareToBuilder (in other words, null is less-than non-null).

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Matthew F. Dennis updated CASSANDRA-1282:
-----------------------------------------

    Attachment: trunk-1282.txt

trunk-1282.txt renames NumericType to IntegerType and adds an extra unit test.

+1 otherwise, good set of tests

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

    Attachment:     (was: 1282-v4.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Commented: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Hudson commented on CASSANDRA-1282:
-----------------------------------

Integrated in Cassandra #502 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/502/])
    add IntegerType for arbitrary-length integers.  patch by Folke Behrens; reviewed by mdennis and jbellis for CASSANDRA-1282


> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-1282-v4.patch, 0002-instance-field.patch, 0003-system-tests.patch, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Matthew F. Dennis updated CASSANDRA-1282:
-----------------------------------------

    Attachment:     (was: trunk-1282.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment:     (was: 0001-NumericType.patch.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-1282-v4.patch, 0002-instance-field.patch, 0003-system-tests.patch, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

    Attachment:     (was: 1282-v4.txt)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

    Attachment: 1282-v4.txt

v4 attached that updates CHANGES and NEWS.

this isn't going to work though, AbstractType classes should be singletons and need a public final instance field.

also, needs a system test using IntegerType (which would catch the above problem).

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Commented: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis commented on CASSANDRA-1282:
-------------------------------------------

accepting null column values is a bug, not something to be accommodated

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

    Attachment: 1282-v4.txt

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-NumericType.patch.txt, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Jonathan Ellis updated CASSANDRA-1282:
--------------------------------------

        Fix Version/s: 0.7
    Affects Version/s:     (was: 0.7)

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>             Fix For: 0.7
>
>         Attachments: 0001-NumericType.patch.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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


[jira] Updated: (CASSANDRA-1282) NumericType: comparator for integers of fixed and arbitrary length

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

Folke Behrens updated CASSANDRA-1282:
-------------------------------------

    Attachment: 0001-1282-v4.patch
                0002-instance-field.patch
                0003-system-tests.patch

0001: Jonathan's patch / 0002: singleton instance field / 0003: simple system tests copied from StandardLong1

> NumericType: comparator for integers of fixed and arbitrary length
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1282
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Folke Behrens
>            Assignee: Folke Behrens
>             Fix For: 0.7 beta 1
>
>         Attachments: 0001-1282-v4.patch, 0002-instance-field.patch, 0003-system-tests.patch, 1282-v4.txt, trunk-1282-v3.txt, trunk-1282.txt
>
>
> Patch introduces a new column comparator: NumericType. It can compare signed integer values of fixed (int, long) and arbitrary length (BigInteger). Both can be mixed. Leading zero bytes or 0xFF bytes will be ignored and can safely be stripped on compaction.
> The trivial version uses "new BigInteger(byte[]).compareTo(new BigInteger(byte[]))" but it's slower and fills up memory.
> The faster version operates completely on stack and should even obsolete LongType.

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