You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2012/01/29 17:43:27 UTC
git commit: fix #3665 breakage (1.0 classes can't decompose())
Updated Branches:
refs/heads/cassandra-1.0 119fa0503 -> 43003f06a
fix #3665 breakage (1.0 classes can't decompose())
(which I knew how this happened)
Patch by eevans for CASSANDRA-3665
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/43003f06
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/43003f06
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/43003f06
Branch: refs/heads/cassandra-1.0
Commit: 43003f06a37c93ab8fdc44f9b31decafa039972d
Parents: 119fa05
Author: Eric Evans <ee...@apache.org>
Authored: Sun Jan 29 10:12:34 2012 -0600
Committer: Eric Evans <ee...@apache.org>
Committed: Sun Jan 29 10:42:48 2012 -0600
----------------------------------------------------------------------
.../apache/cassandra/cql/jdbc/ClientUtilsTest.java | 53 ++++++++++----
1 files changed, 38 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/43003f06/test/unit/org/apache/cassandra/cql/jdbc/ClientUtilsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql/jdbc/ClientUtilsTest.java b/test/unit/org/apache/cassandra/cql/jdbc/ClientUtilsTest.java
index c98b1d9..7224029 100644
--- a/test/unit/org/apache/cassandra/cql/jdbc/ClientUtilsTest.java
+++ b/test/unit/org/apache/cassandra/cql/jdbc/ClientUtilsTest.java
@@ -5,9 +5,10 @@ import java.math.BigInteger;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
-import java.sql.Date;
+import java.util.Date;
import java.util.UUID;
+import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.UUIDGen;
import org.junit.Test;
@@ -17,23 +18,23 @@ public class ClientUtilsTest
@Test
public void test() throws UnknownHostException
{
- JdbcAscii.instance.compose(JdbcAscii.instance.decompose("string"));
- JdbcBoolean.instance.compose(JdbcBoolean.instance.decompose(true));
- JdbcBytes.instance.compose(JdbcBytes.instance.decompose(ByteBuffer.wrap("string".getBytes())));
- JdbcDate.instance.compose(JdbcDate.instance.decompose(new Date(System.currentTimeMillis())));
- JdbcDecimal.instance.compose(JdbcDecimal.instance.decompose(new BigDecimal(1)));
- JdbcDouble.instance.compose(JdbcDouble.instance.decompose(new Double(1.0d)));
- JdbcFloat.instance.compose(JdbcFloat.instance.decompose(new Float(1.0f)));
- JdbcInt32.instance.compose(JdbcInt32.instance.decompose(1));
- JdbcInteger.instance.compose(JdbcInteger.instance.decompose(new BigInteger("1")));
- JdbcLong.instance.compose(JdbcLong.instance.decompose(1L));
- JdbcUTF8.instance.compose(JdbcUTF8.instance.decompose("string"));
+ JdbcAscii.instance.compose(wr("string"));
+ JdbcBoolean.instance.compose(wr("false"));
+ JdbcBytes.instance.compose(wr("string"));
+ JdbcDate.instance.compose(ByteBufferUtil.bytes((new Date(System.currentTimeMillis())).getTime()));
+ JdbcDecimal.instance.compose(decomposeBigDecimal(new BigDecimal(1)));
+ JdbcDouble.instance.compose(ByteBufferUtil.bytes(1.0d));
+ JdbcFloat.instance.compose(ByteBufferUtil.bytes(1.0f));
+ JdbcInt32.instance.compose(ByteBufferUtil.bytes(1));
+ JdbcInteger.instance.compose(ByteBuffer.wrap((new BigInteger("1")).toByteArray()));
+ JdbcLong.instance.compose(ByteBufferUtil.bytes(1L));
+ JdbcUTF8.instance.compose(wr("string"));
// UUIDGen
UUID uuid = UUIDGen.makeType1UUIDFromHost(InetAddress.getLocalHost());
- JdbcTimeUUID.instance.compose(JdbcTimeUUID.instance.decompose(uuid));
- JdbcUUID.instance.compose(JdbcUUID.instance.decompose(uuid));
- JdbcLexicalUUID.instance.compose(JdbcLexicalUUID.instance.decompose(uuid));
+ JdbcUUID.instance.compose(ByteBuffer.wrap(UUIDGen.decompose(uuid)));
+ JdbcTimeUUID.instance.compose(ByteBuffer.wrap(UUIDGen.decompose(uuid)));
+ JdbcLexicalUUID.instance.compose(ByteBuffer.wrap(UUIDGen.decompose(uuid)));
// Raise a MarshalException
try
@@ -45,4 +46,26 @@ public class ClientUtilsTest
// Success
}
}
+
+ /* Copypasta from DecimalType */
+ private static ByteBuffer decomposeBigDecimal(BigDecimal value)
+ {
+ if (value == null) return ByteBufferUtil.EMPTY_BYTE_BUFFER;
+
+ BigInteger bi = value.unscaledValue();
+ Integer scale = value.scale();
+ byte[] bibytes = bi.toByteArray();
+ byte[] sbytes = ByteBufferUtil.bytes(scale).array();
+ byte[] bytes = new byte[bi.toByteArray().length+4];
+
+ for (int i = 0 ; i < 4 ; i++) bytes[i] = sbytes[i];
+ for (int i = 4 ; i < bibytes.length+4 ; i++) bytes[i] = bibytes[i-4];
+
+ return ByteBuffer.wrap(bytes);
+ }
+
+ private static ByteBuffer wr(String value)
+ {
+ return ByteBuffer.wrap(value.getBytes());
+ }
}