Author: jbellis
Date: Mon Jun  1 22:16:58 2009
New Revision: 780853

URL: http://svn.apache.org/viewvc?rev=780853&view=rev
Log:
add test covering use of column indexes.  patch by Jun Rao; reviewed by jbellis 
for CASSANDRA-210

Modified:
    incubator/cassandra/trunk/test/conf/storage-conf.xml
    incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java

Modified: incubator/cassandra/trunk/test/conf/storage-conf.xml
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/conf/storage-conf.xml?rev=780853&r1=780852&r2=780853&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/test/conf/storage-conf.xml Mon Jun  1 22:16:58 
2009
@@ -28,7 +28,7 @@
    <StoragePort>7000</StoragePort>
    <ControlPort>7001</ControlPort>
    <ThriftPort>9160</ThriftPort>
-   <ColumnIndexSizeInKB>256</ColumnIndexSizeInKB>
+   <ColumnIndexSizeInKB>4</ColumnIndexSizeInKB>
    <HttpPort>7002</HttpPort>
    <MetadataDirectory>build/test/cassandra/system</MetadataDirectory>
    <CommitLogDirectory>build/test/cassandra/commitlog</CommitLogDirectory>

Modified: 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java?rev=780853&r1=780852&r2=780853&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java 
(original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java 
Mon Jun  1 22:16:58 2009
@@ -266,6 +266,51 @@
         validateGetSliceFromAdvanced(table, ROW);
     }
 
+    @Test
+    public void testGetSliceFromLarge() throws Throwable
+    {
+        Table table = Table.open(TABLE_NAME);
+        String ROW = "row3";
+        RowMutation rm = new RowMutation(TABLE_NAME, ROW);
+        ColumnFamily cf = new ColumnFamily("Standard1", "Standard");
+        for (int i = 1000; i < 2000; i++)
+            cf.addColumn(new Column("col" + i, ("vvvvvvvvvvvvvvvv" + 
i).getBytes(), 1L));
+        rm.add(cf);
+        rm.apply();
+        // flush to disk
+        table.getColumnFamilyStore("Standard1").forceBlockingFlush();
+
+        Row result;
+        ColumnFamily cfres;
+        result = table.getSliceFrom(ROW, "Standard1:col1000", true, 3);
+        cfres = result.getColumnFamily("Standard1");
+        assertColumns(cfres, "col1000", "col1001", "col1002");
+        assertEquals(new String(cfres.getColumn("col1000").value()), 
"vvvvvvvvvvvvvvvv1000");
+        assertEquals(new String(cfres.getColumn("col1001").value()), 
"vvvvvvvvvvvvvvvv1001");
+        assertEquals(new String(cfres.getColumn("col1002").value()), 
"vvvvvvvvvvvvvvvv1002");
+
+        result = table.getSliceFrom(ROW, "Standard1:col1195", true, 3);
+        cfres = result.getColumnFamily("Standard1");
+        assertColumns(cfres, "col1195", "col1196", "col1197");
+        assertEquals(new String(cfres.getColumn("col1195").value()), 
"vvvvvvvvvvvvvvvv1195");
+        assertEquals(new String(cfres.getColumn("col1196").value()), 
"vvvvvvvvvvvvvvvv1196");
+        assertEquals(new String(cfres.getColumn("col1197").value()), 
"vvvvvvvvvvvvvvvv1197");
+
+        result = table.getSliceFrom(ROW, "Standard1:col1196", false, 3);
+        cfres = result.getColumnFamily("Standard1");
+        assertColumns(cfres, "col1194", "col1195", "col1196");
+        assertEquals(new String(cfres.getColumn("col1194").value()), 
"vvvvvvvvvvvvvvvv1194");
+        assertEquals(new String(cfres.getColumn("col1195").value()), 
"vvvvvvvvvvvvvvvv1195");
+        assertEquals(new String(cfres.getColumn("col1196").value()), 
"vvvvvvvvvvvvvvvv1196");
+
+        result = table.getSliceFrom(ROW, "Standard1:col1990", true, 3);
+        cfres = result.getColumnFamily("Standard1");
+        assertColumns(cfres, "col1990", "col1991", "col1992");
+        assertEquals(new String(cfres.getColumn("col1990").value()), 
"vvvvvvvvvvvvvvvv1990");
+        assertEquals(new String(cfres.getColumn("col1991").value()), 
"vvvvvvvvvvvvvvvv1991");
+        assertEquals(new String(cfres.getColumn("col1992").value()), 
"vvvvvvvvvvvvvvvv1992");
+    }
+
     private void assertColumns(ColumnFamily columnFamily, String... 
columnFamilyNames)
     {
         assertNotNull(columnFamily);


Reply via email to