You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ca...@codespot.com on 2012/01/10 23:37:04 UTC

[cassandra-node] 14 new revisions pushed by gdusbabek@gmail.com on 2012-01-10 22:36 GMT

14 new revisions:

Revision: 540c9eef63fd
Author:   Christoph Tavan <de...@tavan.de>
Date:     Mon Jan  9 03:12:55 2012
Log:      Apply and cleanup patch from issue 11 for improved marshelling
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=540c9eef63fd

Revision: 7bf16ed0a880
Author:   Christoph Tavan <de...@tavan.de>
Date:     Mon Jan  9 03:12:55 2012
Log:      Apply and cleanup patch from issue 11 for improved marshelling
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=7bf16ed0a880

Revision: 48e13848c2f6
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:26:32 2012
Log:      Merge branch 'marshelling' of  
github.com:ctavan/node-cassandra-client ...
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=48e13848c2f6

Revision: ef5ffe67216e
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:33:54 2012
Log:      Add Int32Type to decoder
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=ef5ffe67216e

Revision: d470ea4982bd
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:46:51 2012
Log:      Complete the list of available datatypes
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=d470ea4982bd

Revision: 447cf8bff0b1
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:59:51 2012
Log:      Handle date/timestamp type correctly
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=447cf8bff0b1

Revision: 89dbbe58375f
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 09:12:50 2012
Log:      Handle date/timestamp type correctly (still ugly type  
conversions...)
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=89dbbe58375f

Revision: 8d0a5e4fdea5
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 09:59:53 2012
Log:      Also detect and handle UUIDType
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=8d0a5e4fdea5

Revision: ee486c982a03
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:22:31 2012
Log:      Write the decoder converters more elegantly and add support for  
Lexica...
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=ee486c982a03

Revision: 1d82cdfc0f59
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:23:42 2012
Log:      Remove unnecessary else statement
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=1d82cdfc0f59

Revision: a01d417c5dbc
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:46:55 2012
Log:      Pass arguments explicitly to fallback converters
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=a01d417c5dbc

Revision: 4dd16e77972d
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 11:15:10 2012
Log:      Fix BigInterger converters
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=4dd16e77972d

Revision: 96e1e1caff10
Author:   gdusbabek <gd...@gmail.com>
Date:     Tue Jan 10 14:22:57 2012
Log:      add Christoph to contributors.
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=96e1e1caff10

Revision: 608373a73168
Author:   Gary Dusbabek <gd...@gmail.com>
Date:     Tue Jan 10 14:35:19 2012
Log:      update CHANGES re marshalling
http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=608373a73168

==============================================================================
Revision: 540c9eef63fd
Author:   Christoph Tavan <de...@tavan.de>
Date:     Mon Jan  9 03:12:55 2012
Log:      Apply and cleanup patch from issue 11 for improved marshelling

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=540c9eef63fd

Modified:
  /lib/decoder.js
  /lib/driver.js

=======================================
--- /lib/decoder.js	Mon Jan  9 11:56:16 2012
+++ /lib/decoder.js	Mon Jan  9 03:12:55 2012
@@ -123,8 +123,12 @@
      } else {
        return bytesToNum(bytes);
      }
-  } else if (className == AbstractTypes.AsciiType || className ==  
AbstractTypes.UTF8Type) {
-    return bytes; // already as a string!
+  } else if (className == AbstractTypes.AsciiType){
+    // decoding buffer to ascii
+    return bytes.toString('ascii');
+  } else if (className == AbstractTypes.UTF8Type) {
+    // decoding buffer to utf8
+    return bytes.toString('utf8');
    } else if (className == AbstractTypes.BytesType) {
      return bytes;
    } else if (className == AbstractTypes.IntegerType) {
@@ -134,6 +138,7 @@
        return bytesToNum(bytes);
      }
    } else if (className == AbstractTypes.TimeUUIDType) {
+    // A uuid object. Use .toString() to stringify
      return UUID.fromBytes(bytes);
    } else {
      return bytes;
=======================================
--- /lib/driver.js	Mon Jan  9 10:46:41 2012
+++ /lib/driver.js	Mon Jan  9 03:12:55 2012
@@ -157,7 +157,8 @@

    var count = 0;
    for (var i = 0; i < row.columns.length; i++) {
-    if (row.columns[i].value) {
+    if (row.columns[i].value && row.columns[i].name != 'KEY') {
+      // avoid 'KEY' in column[name:value] as it is neat. Also it breaks  
specificValidators.
        var decodedName = decoder.decode(row.columns[i].name, 'comparator');
        var decodedValue = decoder.decode(row.columns[i].value, 'validator',  
row.columns[i].name);
        this.cols[count] = {

==============================================================================
Revision: 7bf16ed0a880
Author:   Christoph Tavan <de...@tavan.de>
Date:     Mon Jan  9 03:12:55 2012
Log:      Apply and cleanup patch from issue 11 for improved marshelling

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=7bf16ed0a880

Modified:
  /lib/decoder.js
  /lib/driver.js

=======================================
--- /lib/decoder.js	Fri Nov 11 07:49:04 2011
+++ /lib/decoder.js	Mon Jan  9 03:12:55 2012
@@ -124,8 +124,12 @@
      } else {
        return bytesToNum(bytes);
      }
-  } else if (className == AbstractTypes.AsciiType || className ==  
AbstractTypes.UTF8Type) {
-    return bytes; // already as a string!
+  } else if (className == AbstractTypes.AsciiType){
+    // decoding buffer to ascii
+    return bytes.toString('ascii');
+  } else if (className == AbstractTypes.UTF8Type) {
+    // decoding buffer to utf8
+    return bytes.toString('utf8');
    } else if (className == AbstractTypes.BytesType) {
      return bytes;
    } else if (className == AbstractTypes.IntegerType) {
@@ -135,6 +139,7 @@
        return bytesToNum(bytes);
      }
    } else if (className == AbstractTypes.TimeUUIDType) {
+    // A uuid object. Use .toString() to stringify
      return UUID.fromBytes(bytes);
    } else {
      return bytes;
=======================================
--- /lib/driver.js	Sun Dec 25 16:31:45 2011
+++ /lib/driver.js	Mon Jan  9 03:12:55 2012
@@ -157,7 +157,8 @@

    var count = 0;
    for (var i = 0; i < row.columns.length; i++) {
-    if (row.columns[i].value) {
+    if (row.columns[i].value && row.columns[i].name != 'KEY') {
+      // avoid 'KEY' in column[name:value] as it is neat. Also it breaks  
specificValidators.
        var decodedName = decoder.decode(row.columns[i].name, 'comparator');
        var decodedValue = decoder.decode(row.columns[i].value, 'validator',  
row.columns[i].name);
        this.cols[count] = {

==============================================================================
Revision: 48e13848c2f6
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:26:32 2012
Log:      Merge branch 'marshelling' of  
github.com:ctavan/node-cassandra-client into marshelling

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=48e13848c2f6



==============================================================================
Revision: ef5ffe67216e
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:33:54 2012
Log:      Add Int32Type to decoder

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=ef5ffe67216e

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Mon Jan  9 03:12:55 2012
+++ /lib/decoder.js	Tue Jan 10 08:33:54 2012
@@ -72,6 +72,7 @@
    AsciiType:    'org.apache.cassandra.db.marshal.AsciiType',
    UTF8Type:     'org.apache.cassandra.db.marshal.UTF8Type',
    IntegerType:  'org.apache.cassandra.db.marshal.IntegerType',
+  Int32Type:    'org.apache.cassandra.db.marshal.Int32Type',
    TimeUUIDType: 'org.apache.cassandra.db.marshal.TimeUUIDType',
    CounterColumnType: 'org.apache.cassandra.db.marshal.CounterColumnType'
  };
@@ -131,6 +132,8 @@
      return bytes.toString('utf8');
    } else if (className == AbstractTypes.BytesType) {
      return bytes;
+  } else if (className == AbstractTypes.Int32Type) {
+    return bytesToNum(bytes);
    } else if (className == AbstractTypes.IntegerType) {
      if (this.options.use_bigints) {
        return bytesToBigInt(bytes);

==============================================================================
Revision: d470ea4982bd
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:46:51 2012
Log:      Complete the list of available datatypes

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=d470ea4982bd

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 08:33:54 2012
+++ /lib/decoder.js	Tue Jan 10 08:46:51 2012
@@ -65,16 +65,28 @@

  };

-// These are the cassandra types I'm currently dealing with.
+// Cassandra datatypes according to
+// http://www.datastax.com/docs/1.0/ddl/column_family
+// Those commented out are not correctly dealt with yet and will appear as
+// Buffer's in resultsets.
  var AbstractTypes = {
-  LongType:     'org.apache.cassandra.db.marshal.LongType',
-  BytesType:    'org.apache.cassandra.db.marshal.BytesType',
-  AsciiType:    'org.apache.cassandra.db.marshal.AsciiType',
-  UTF8Type:     'org.apache.cassandra.db.marshal.UTF8Type',
-  IntegerType:  'org.apache.cassandra.db.marshal.IntegerType',
-  Int32Type:    'org.apache.cassandra.db.marshal.Int32Type',
+  BytesType: 'org.apache.cassandra.db.marshal.BytesType',
+  AsciiType: 'org.apache.cassandra.db.marshal.AsciiType',
+  UTF8Type: 'org.apache.cassandra.db.marshal.UTF8Type',
+  IntegerType: 'org.apache.cassandra.db.marshal.IntegerType',
+  LongType: 'org.apache.cassandra.db.marshal.LongType',
+  Int32Type: 'org.apache.cassandra.db.marshal.Int32Type',
+  //UUIDType: 'org.apache.cassandra.db.marshal.UUIDType',
+  //LexicalUUIDType: 'org.apache.cassandra.db.marshal.LexicalUUIDType',
    TimeUUIDType: 'org.apache.cassandra.db.marshal.TimeUUIDType',
-  CounterColumnType: 'org.apache.cassandra.db.marshal.CounterColumnType'
+  //DateType: 'org.apache.cassandra.db.marshal.DateType',
+  //BooleanType: 'org.apache.cassandra.db.marshal.BooleanType',
+  //FloatType: 'org.apache.cassandra.db.marshal.FloatType',
+  //DoubleType: 'org.apache.cassandra.db.marshal.DoubleType',
+  //DecimalType: 'org.apache.cassandra.db.marshal.DecimalType',
+  CounterColumnType: 'org.apache.cassandra.db.marshal.CounterColumnType',
+  //CompositeType: 'org.apache.cassandra.db.marshal.CompositeType',
+   
//DynamicCompositeType: 'org.apache.cassandra.db.marshal.DynamicCompositeType',
  };

  /**

==============================================================================
Revision: 447cf8bff0b1
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 08:59:51 2012
Log:      Handle date/timestamp type correctly

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=447cf8bff0b1

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 08:46:51 2012
+++ /lib/decoder.js	Tue Jan 10 08:59:51 2012
@@ -79,7 +79,7 @@
    //UUIDType: 'org.apache.cassandra.db.marshal.UUIDType',
    //LexicalUUIDType: 'org.apache.cassandra.db.marshal.LexicalUUIDType',
    TimeUUIDType: 'org.apache.cassandra.db.marshal.TimeUUIDType',
-  //DateType: 'org.apache.cassandra.db.marshal.DateType',
+  DateType: 'org.apache.cassandra.db.marshal.DateType',
    //BooleanType: 'org.apache.cassandra.db.marshal.BooleanType',
    //FloatType: 'org.apache.cassandra.db.marshal.FloatType',
    //DoubleType: 'org.apache.cassandra.db.marshal.DoubleType',
@@ -144,6 +144,8 @@
      return bytes.toString('utf8');
    } else if (className == AbstractTypes.BytesType) {
      return bytes;
+  } else if (className == AbstractTypes.DateType) {
+    return new Date(parseInt(bytes.toString('hex'), 16));
    } else if (className == AbstractTypes.Int32Type) {
      return bytesToNum(bytes);
    } else if (className == AbstractTypes.IntegerType) {

==============================================================================
Revision: 89dbbe58375f
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 09:12:50 2012
Log:      Handle date/timestamp type correctly (still ugly type  
conversions...)

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=89dbbe58375f

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 08:59:51 2012
+++ /lib/decoder.js	Tue Jan 10 09:12:50 2012
@@ -145,7 +145,7 @@
    } else if (className == AbstractTypes.BytesType) {
      return bytes;
    } else if (className == AbstractTypes.DateType) {
-    return new Date(parseInt(bytes.toString('hex'), 16));
+    return new Date(+bytesToBigInt(bytes).toString());
    } else if (className == AbstractTypes.Int32Type) {
      return bytesToNum(bytes);
    } else if (className == AbstractTypes.IntegerType) {

==============================================================================
Revision: 8d0a5e4fdea5
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 09:59:53 2012
Log:      Also detect and handle UUIDType

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=8d0a5e4fdea5

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 09:12:50 2012
+++ /lib/decoder.js	Tue Jan 10 09:59:53 2012
@@ -76,7 +76,7 @@
    IntegerType: 'org.apache.cassandra.db.marshal.IntegerType',
    LongType: 'org.apache.cassandra.db.marshal.LongType',
    Int32Type: 'org.apache.cassandra.db.marshal.Int32Type',
-  //UUIDType: 'org.apache.cassandra.db.marshal.UUIDType',
+  UUIDType: 'org.apache.cassandra.db.marshal.UUIDType',
    //LexicalUUIDType: 'org.apache.cassandra.db.marshal.LexicalUUIDType',
    TimeUUIDType: 'org.apache.cassandra.db.marshal.TimeUUIDType',
    DateType: 'org.apache.cassandra.db.marshal.DateType',
@@ -154,7 +154,7 @@
      } else {
        return bytesToNum(bytes);
      }
-  } else if (className == AbstractTypes.TimeUUIDType) {
+  } else if (className == AbstractTypes.UUIDType || className ==  
AbstractTypes.TimeUUIDType) {
      // A uuid object. Use .toString() to stringify
      return UUID.fromBytes(bytes);
    } else {

==============================================================================
Revision: ee486c982a03
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:22:31 2012
Log:      Write the decoder converters more elegantly and add support for  
LexicalUUIDType as well

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=ee486c982a03

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 09:59:53 2012
+++ /lib/decoder.js	Tue Jan 10 10:22:31 2012
@@ -77,7 +77,7 @@
    LongType: 'org.apache.cassandra.db.marshal.LongType',
    Int32Type: 'org.apache.cassandra.db.marshal.Int32Type',
    UUIDType: 'org.apache.cassandra.db.marshal.UUIDType',
-  //LexicalUUIDType: 'org.apache.cassandra.db.marshal.LexicalUUIDType',
+  LexicalUUIDType: 'org.apache.cassandra.db.marshal.LexicalUUIDType',
    TimeUUIDType: 'org.apache.cassandra.db.marshal.TimeUUIDType',
    DateType: 'org.apache.cassandra.db.marshal.DateType',
    //BooleanType: 'org.apache.cassandra.db.marshal.BooleanType',
@@ -89,6 +89,51 @@
     
//DynamicCompositeType: 'org.apache.cassandra.db.marshal.DynamicCompositeType',
  };

+// These functions convert the raw bytes that cassandra gives us to  
meaningful
+// JS datat ypes.
+var converters = {
+  'org.apache.cassandra.db.marshal.BytesType': function(bytes) {
+    return bytes;
+  },
+  'org.apache.cassandra.db.marshal.AsciiType': function(bytes) {
+    return bytes.toString('ascii');
+  },
+  'org.apache.cassandra.db.marshal.UTF8Type': function(bytes) {
+    return bytes.toString('utf8');
+  },
+  'org.apache.cassandra.db.marshal.DateType': function(bytes) {
+    return new Date(+bytesToBigInt(bytes).toString());
+  },
+  'org.apache.cassandra.db.marshal.Int32Type': function(bytes) {
+    return bytesToNum(bytes);
+  },
+  'org.apache.cassandra.db.marshal.IntegerType': function(bytes, options) {
+    if (options.use_bigints) {
+      return bytesToBigInt(bytes);
+    }
+    return bytesToNum(bytes);
+  },
+  'org.apache.cassandra.db.marshal.LongType': function(bytes, options) {
+    if (options.use_bigints) {
+      return bytesToBigLong(bytes);
+    }
+    bytesToNum(bytes);
+  },
+  'org.apache.cassandra.db.marshal.CounterColumnType': function(bytes,  
options) {
+    return this['org.apache.cassandra.db.marshal.LongType'].apply(this,  
arguments);
+  },
+  'org.apache.cassandra.db.marshal.UUIDType': function(bytes) {
+    // A uuid object. Use .toString() to stringify
+    return UUID.fromBytes(bytes);
+  },
+  'org.apache.cassandra.db.marshal.TimeUUIDType': function(bytes) {
+    return this['org.apache.cassandra.db.marshal.UUIDType'].apply(this,  
arguments);
+  },
+  'org.apache.cassandra.db.marshal.LexicalUUIDType': function(bytes) {
+    return this['org.apache.cassandra.db.marshal.UUIDType'].apply(this,  
arguments);
+  }
+};
+
  /**
   * validators are a hash currently created in the Connection constructor.  
keys in the hash are: key, comparator,
   * defaultValidator, specificValidator.  They all map to a value in  
AbstractTypes, except specificValidator which
@@ -129,36 +174,8 @@
      className = AbstractTypes.BytesType;
    }

-  // perform the conversion.
-  if (className == AbstractTypes.LongType || className ==  
AbstractTypes.CounterColumnType) {
-    if (this.options.use_bigints) {
-      return bytesToBigLong(bytes);
-    } else {
-      return bytesToNum(bytes);
-    }
-  } else if (className == AbstractTypes.AsciiType){
-    // decoding buffer to ascii
-    return bytes.toString('ascii');
-  } else if (className == AbstractTypes.UTF8Type) {
-    // decoding buffer to utf8
-    return bytes.toString('utf8');
-  } else if (className == AbstractTypes.BytesType) {
-    return bytes;
-  } else if (className == AbstractTypes.DateType) {
-    return new Date(+bytesToBigInt(bytes).toString());
-  } else if (className == AbstractTypes.Int32Type) {
-    return bytesToNum(bytes);
-  } else if (className == AbstractTypes.IntegerType) {
-    if (this.options.use_bigints) {
-      return bytesToBigInt(bytes);
-    } else {
-      return bytesToNum(bytes);
-    }
-  } else if (className == AbstractTypes.UUIDType || className ==  
AbstractTypes.TimeUUIDType) {
-    // A uuid object. Use .toString() to stringify
-    return UUID.fromBytes(bytes);
-  } else {
-    return bytes;
-  }
-
+  if (!(className in converters)) {
+    return converters[className](bytes, this.options);
+  }
+  return bytes;
  };

==============================================================================
Revision: 1d82cdfc0f59
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:23:42 2012
Log:      Remove unnecessary else statement

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=1d82cdfc0f59

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 10:22:31 2012
+++ /lib/decoder.js	Tue Jan 10 10:23:42 2012
@@ -59,10 +59,8 @@
    // zero is a tricky bastard. new BigInteger([0]) != new BigInteger('0').  
wtf?
    if (bytes.length === 1 && bytes[0] === 0) {
      return new BigInteger('0');
-  } else {
-    return bytesToBigInt(bytes);
-  }
-
+  }
+  return bytesToBigInt(bytes);
  };

  // Cassandra datatypes according to

==============================================================================
Revision: a01d417c5dbc
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 10:46:55 2012
Log:      Pass arguments explicitly to fallback converters

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=a01d417c5dbc

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 10:23:42 2012
+++ /lib/decoder.js	Tue Jan 10 10:46:55 2012
@@ -118,17 +118,17 @@
      bytesToNum(bytes);
    },
    'org.apache.cassandra.db.marshal.CounterColumnType': function(bytes,  
options) {
-    return this['org.apache.cassandra.db.marshal.LongType'].apply(this,  
arguments);
+    return converters['org.apache.cassandra.db.marshal.LongType'](bytes,  
options);
    },
    'org.apache.cassandra.db.marshal.UUIDType': function(bytes) {
      // A uuid object. Use .toString() to stringify
      return UUID.fromBytes(bytes);
    },
    'org.apache.cassandra.db.marshal.TimeUUIDType': function(bytes) {
-    return this['org.apache.cassandra.db.marshal.UUIDType'].apply(this,  
arguments);
+    return converters['org.apache.cassandra.db.marshal.UUIDType'](bytes);
    },
    'org.apache.cassandra.db.marshal.LexicalUUIDType': function(bytes) {
-    return this['org.apache.cassandra.db.marshal.UUIDType'].apply(this,  
arguments);
+    return converters['org.apache.cassandra.db.marshal.UUIDType'](bytes);
    }
  };


==============================================================================
Revision: 4dd16e77972d
Author:   Christoph Tavan <de...@tavan.de>
Date:     Tue Jan 10 11:15:10 2012
Log:      Fix BigInterger converters

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=4dd16e77972d

Modified:
  /lib/decoder.js

=======================================
--- /lib/decoder.js	Tue Jan 10 10:46:55 2012
+++ /lib/decoder.js	Tue Jan 10 11:15:10 2012
@@ -105,20 +105,20 @@
    'org.apache.cassandra.db.marshal.Int32Type': function(bytes) {
      return bytesToNum(bytes);
    },
-  'org.apache.cassandra.db.marshal.IntegerType': function(bytes, options) {
-    if (options.use_bigints) {
+  'org.apache.cassandra.db.marshal.IntegerType': function(bytes,  
useBigints) {
+    if (useBigints) {
        return bytesToBigInt(bytes);
      }
      return bytesToNum(bytes);
    },
-  'org.apache.cassandra.db.marshal.LongType': function(bytes, options) {
-    if (options.use_bigints) {
+  'org.apache.cassandra.db.marshal.LongType': function(bytes, useBigints) {
+    if (useBigints) {
        return bytesToBigLong(bytes);
      }
-    bytesToNum(bytes);
+    return bytesToNum(bytes);
    },
-  'org.apache.cassandra.db.marshal.CounterColumnType': function(bytes,  
options) {
-    return converters['org.apache.cassandra.db.marshal.LongType'](bytes,  
options);
+  'org.apache.cassandra.db.marshal.CounterColumnType': function(bytes,  
useBigints) {
+    return converters['org.apache.cassandra.db.marshal.LongType'](bytes,  
useBigints);
    },
    'org.apache.cassandra.db.marshal.UUIDType': function(bytes) {
      // A uuid object. Use .toString() to stringify
@@ -172,8 +172,8 @@
      className = AbstractTypes.BytesType;
    }

-  if (!(className in converters)) {
-    return converters[className](bytes, this.options);
+  if (className in converters) {
+    return converters[className](bytes, this.options.use_bigints);
    }
    return bytes;
  };

==============================================================================
Revision: 96e1e1caff10
Author:   gdusbabek <gd...@gmail.com>
Date:     Tue Jan 10 14:22:57 2012
Log:      add Christoph to contributors.

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=96e1e1caff10

Modified:
  /package.json

=======================================
--- /package.json	Mon Jan  9 13:59:12 2012
+++ /package.json	Tue Jan 10 14:22:57 2012
@@ -4,7 +4,8 @@
      "Eric Evans <ee...@acunu.com>",
      "Gary Dusbabek <gd...@gmail.com>",
      "Tomaž Muraus <to...@tomaz.me>",
-    "Patrick Negri <pa...@iugu.com.br>"
+    "Patrick Negri <pa...@iugu.com.br>",
+    "Christoph Tavan <de...@tavan.de>"
    ],
    "name": "cassandra-client",
    "description": "Node.js CQL driver for Apache Cassandra",

==============================================================================
Revision: 608373a73168
Author:   Gary Dusbabek <gd...@gmail.com>
Date:     Tue Jan 10 14:35:19 2012
Log:      update CHANGES re marshalling

http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=608373a73168

Modified:
  /CHANGES

=======================================
--- /CHANGES	Mon Jan  9 13:59:12 2012
+++ /CHANGES	Tue Jan 10 14:35:19 2012
@@ -1,3 +1,5 @@
+- Add more cassandra types to the decoder [Christoph Tavan]
+
  Changes with cassandra-client 0.6.2:

  - Fix scope leaks.