Author: jbellis
Date: Fri Apr 17 01:48:50 2009
New Revision: 765830

URL: http://svn.apache.org/viewvc?rev=765830&view=rev
Log:
use isSuper instead of DatabaseDescriptor.getColumnType.
patch by jbellis; reviewed by Sandeep Tata for #85

Modified:
    incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamily.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/CountFilter.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/DBManager.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/IdentityFilter.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/NamesFilter.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/RangeFilter.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/Row.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/RowMutation.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/TimeFilter.java
    
incubator/cassandra/trunk/src/org/apache/cassandra/net/http/ColumnFamilyFormatter.java

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamily.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamily.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamily.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamily.java Fri 
Apr 17 01:48:50 2009
@@ -49,6 +49,7 @@
     private static Logger logger_ = Logger.getLogger( ColumnFamily.class );
     private static Map<String, String> columnTypes_ = new HashMap<String, 
String>();
     private static Map<String, String> indexTypes_ = new HashMap<String, 
String>();
+    private String type_;
 
     static
     {
@@ -122,15 +123,10 @@
                return columnComparator_;
        }
 
-    public ColumnFamily(String cfName)
-    {
-        name_ = cfName;
-        createColumnFactoryAndColumnSerializer();
-    }
-
     public ColumnFamily(String cfName, String columnType)
     {
-        this(cfName);
+        name_ = cfName;
+        type_ = columnType;
         createColumnFactoryAndColumnSerializer(columnType);
     }
 
@@ -162,7 +158,7 @@
 
     ColumnFamily cloneMe()
     {
-       ColumnFamily cf = new ColumnFamily(name_);
+       ColumnFamily cf = new ColumnFamily(name_, type_);
        cf.markedForDeleteAt = markedForDeleteAt;
        cf.columns_ = columns_.cloneMe();
        return cf;
@@ -220,7 +216,7 @@
 
     public boolean isSuper()
     {
-        return DatabaseDescriptor.getColumnType(name_).equals("Super");
+        return type_.equals("Super");
     }
 
     public void addColumn(String name, byte[] value)
@@ -329,7 +325,7 @@
      */
     ColumnFamily diff(ColumnFamily columnFamily)
     {
-       ColumnFamily cfDiff = new ColumnFamily(columnFamily.name());
+       ColumnFamily cfDiff = new ColumnFamily(columnFamily.name(), 
columnFamily.type_);
         Map<String, IColumn> columns = columnFamily.getColumns();
         Set<String> cNames = columns.keySet();
 
@@ -421,6 +417,11 @@
         return markedForDeleteAt;
     }
 
+    public String type()
+    {
+        return type_;
+    }
+
     public static class ColumnFamilySerializer implements 
ICompactSerializer2<ColumnFamily>
     {
         /*
@@ -473,7 +474,7 @@
         private ColumnFamily defreezeColumnFamily(DataInputStream dis) throws 
IOException
         {
             String name = dis.readUTF();
-            ColumnFamily cf = new ColumnFamily(name);
+            ColumnFamily cf = new ColumnFamily(name, 
DatabaseDescriptor.getColumnFamilyType(name));
             cf.delete(dis.readLong());
             return cf;
         }

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java 
(original)
+++ 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java 
Fri Apr 17 01:48:50 2009
@@ -70,8 +70,9 @@
     private static int compactionMemoryThreshold_ = 1 << 30;
     private static Logger logger_ = Logger.getLogger(ColumnFamilyStore.class);
 
-    private String table_;
-    public String columnFamily_;
+    private final String table_;
+    public final String columnFamily_;
+    private final boolean isSuper_;
     
     private volatile Integer memtableSwitchCount = 0;
 
@@ -91,10 +92,11 @@
     /* Flag indicates if a compaction is in process */
     private AtomicBoolean isCompacting_ = new AtomicBoolean(false);
 
-    ColumnFamilyStore(String table, String columnFamily, int indexValue) 
throws IOException
+    ColumnFamilyStore(String table, String columnFamily, boolean isSuper, int 
indexValue) throws IOException
     {
         table_ = table;
         columnFamily_ = columnFamily;
+        isSuper_ = isSuper;
         fileIndexGenerator_.set(indexValue);
         memtable_ = new AtomicReference<Memtable>(new Memtable(table_, 
columnFamily_));
         binaryMemtable_ = new AtomicReference<BinaryMemtable>(new 
BinaryMemtable(table_, columnFamily_));
@@ -130,7 +132,7 @@
         Collections.sort(indices);
         int value = (indices.size() > 0) ? (indices.get(indices.size() - 1)) : 
0;
 
-        ColumnFamilyStore cfs = new ColumnFamilyStore(table, columnFamily, 
value);
+        ColumnFamilyStore cfs = new ColumnFamilyStore(table, columnFamily, 
"Super".equals(DatabaseDescriptor.getColumnType(columnFamily)), value);
 
         MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
         try
@@ -579,8 +581,8 @@
             return null;
 
         // start from nothing so that we don't include potential deleted 
columns from the first instance
-        String cfname = columnFamilies.get(0).name();
-        ColumnFamily cf = new ColumnFamily(cfname);
+        ColumnFamily cf0 = columnFamilies.get(0);
+        ColumnFamily cf = new ColumnFamily(cf0.name(), cf0.type());
 
         // merge
         for (ColumnFamily cf2 : columnFamilies)
@@ -1383,7 +1385,7 @@
 
     public boolean isSuper()
     {
-        return 
DatabaseDescriptor.getColumnType(getColumnFamilyName()).equals("Super");
+        return isSuper_;
     }
 
     public void flushMemtableOnRecovery() throws IOException

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/CountFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/CountFilter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/CountFilter.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/CountFilter.java Fri 
Apr 17 01:48:50 2009
@@ -49,8 +49,7 @@
         if ( columnFamily == null )
             return columnFamily;
 
-               String cfName = columnFamily.name();
-               ColumnFamily filteredCf = new ColumnFamily(cfName);
+        ColumnFamily filteredCf = new ColumnFamily(columnFamily.name(), 
columnFamily.type());
                if( countLimit_ <= 0 )
                {
                        isDone_ = true;

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/DBManager.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/DBManager.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/DBManager.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/DBManager.java Fri 
Apr 17 01:48:50 2009
@@ -130,7 +130,7 @@
 
             String key = FBUtilities.getHostName();
             row = new Row(key);
-            ColumnFamily cf = new ColumnFamily(SystemTable.cfName_);
+            ColumnFamily cf = new ColumnFamily(SystemTable.cfName_, 
"Standard");
             cf.addColumn(new Column(SystemTable.token_, token.toByteArray()));
             cf.addColumn(new Column(SystemTable.generation_, 
BasicUtilities.intToByteArray(generation)));
             row.addColumnFamily(cf);

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/db/IdentityFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/IdentityFilter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/IdentityFilter.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/IdentityFilter.java 
Fri Apr 17 01:48:50 2009
@@ -25,13 +25,13 @@
        if( columnFamily == null )
                return columnFamily;
                String cfName = columnFamily.name();
-               if ( values.length == 2 && 
!DatabaseDescriptor.getColumnType(cfName).equals("Super") )
+               if (values.length == 2 && !columnFamily.isSuper())
                {
                        Collection<IColumn> columns = 
columnFamily.getAllColumns();
                        if(columns.size() >= 1)
                                isDone_ = true;
                }
-               if ( values.length == 3 && 
DatabaseDescriptor.getColumnType(cfName).equals("Super"))
+               if (values.length == 3 && columnFamily.isSuper())
                {
                Collection<IColumn> columns = columnFamily.getAllColumns();
                for(IColumn column : columns)

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java Fri Apr 
17 01:48:50 2009
@@ -314,7 +314,7 @@
                 IColumn column = cFamily.getColumn(values[1]); // super or 
normal column
                 if (column != null )
                 {
-                    columnFamily = new ColumnFamily(cfName_);
+                    columnFamily = new ColumnFamily(cfName_, cFamily.type());
                     columnFamily.addColumn(column);
                 }
                }
@@ -327,7 +327,7 @@
                     IColumn subColumn = superColumn.getSubColumn(values[2]);
                     if (subColumn != null)
                     {
-                        columnFamily = new ColumnFamily(cfName_);
+                        columnFamily = new ColumnFamily(cfName_, 
cFamily.type());
                         columnFamily.addColumn(values[1] + ":" + values[2], 
subColumn.value(), subColumn.timestamp(), subColumn.isMarkedForDelete());
                     }
                 }

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/NamesFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/NamesFilter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/NamesFilter.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/NamesFilter.java Fri 
Apr 17 01:48:50 2009
@@ -46,8 +46,7 @@
             return columnFamily;
         }
        String[] values = RowMutation.getColumnAndColumnFamily(cf);
-               String cfName = columnFamily.name();
-               ColumnFamily filteredCf = new ColumnFamily(cfName);
+        ColumnFamily filteredCf = new ColumnFamily(columnFamily.name(), 
columnFamily.type());
                if( values.length == 1 )
                {
                        Collection<IColumn> columns = 
columnFamily.getAllColumns();
@@ -64,7 +63,7 @@
                                }
                        }
                }
-               else if ( values.length == 2 && 
DatabaseDescriptor.getColumnType(cfName).equals("Super"))
+               else if (values.length == 2 && columnFamily.isSuper())
                {
                Collection<IColumn> columns = columnFamily.getAllColumns();
                for(IColumn column : columns)

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/RangeFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/RangeFilter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/RangeFilter.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/RangeFilter.java Fri 
Apr 17 01:48:50 2009
@@ -63,7 +63,7 @@
             return null;
         }
 
-        ColumnFamily filteredColumnFamily = new ColumnFamily(cfName);
+        ColumnFamily filteredColumnFamily = new ColumnFamily(cfName, 
cf.type());
 
         Collection<IColumn> columns = cf.getAllColumns();
         for (IColumn c : columns)

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/Row.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/Row.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/Row.java (original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/Row.java Fri Apr 17 
01:48:50 2009
@@ -120,7 +120,7 @@
             ColumnFamily cf = columnFamilies_.get(cfName);
             if (cf == null)
             {
-                cf = new ColumnFamily(cfName);
+                cf = new ColumnFamily(cfName, cf.type());
                 columnFamilies_.put(cfName, cf);
             }
             cf.repair(columnFamilies.get(cfName));

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/RowMutation.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/RowMutation.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/RowMutation.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/RowMutation.java Fri 
Apr 17 01:48:50 2009
@@ -185,19 +185,19 @@
 
         ColumnFamily columnFamily = modifications_.get(cfName);
         if (columnFamily == null)
-            columnFamily = new ColumnFamily(cfName);
+            columnFamily = new ColumnFamily(cfName, 
DatabaseDescriptor.getColumnType(cfName));
         if (values.length == 2)
         {
-            if 
(DatabaseDescriptor.getColumnFamilyType(cfName).equals("Standard"))
-            {
-                columnFamily.addColumn(values[1], ArrayUtils.EMPTY_BYTE_ARRAY, 
timestamp, true);
-            }
-            else
+            if (columnFamily.isSuper())
             {
                 SuperColumn sc = new SuperColumn(values[1]);
                 sc.markForDeleteAt(timestamp);
                 columnFamily.addColumn(sc);
             }
+            else
+            {
+                columnFamily.addColumn(values[1], ArrayUtils.EMPTY_BYTE_ARRAY, 
timestamp, true);
+            }
         }
         else if (values.length == 3)
         {

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/TimeFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/TimeFilter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/TimeFilter.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/TimeFilter.java Fri 
Apr 17 01:48:50 2009
@@ -51,9 +51,8 @@
                return columnFamily;
 
         String[] values = RowMutation.getColumnAndColumnFamily(cf);
-               String cfName = columnFamily.name();
-               ColumnFamily filteredCf = new ColumnFamily(cfName);
-               if( values.length == 1 && 
!DatabaseDescriptor.getColumnType(cfName).equals("Super"))
+        ColumnFamily filteredCf = new ColumnFamily(columnFamily.name(), 
columnFamily.type());
+               if (values.length == 1 && !columnFamily.isSuper())
                {
                Collection<IColumn> columns = columnFamily.getAllColumns();
                int i =0; 
@@ -74,7 +73,7 @@
                        isDone_ = true;
                }
                }       
-       else if ( values.length == 2 && 
DatabaseDescriptor.getColumnType(cfName).equals("Super") )
+       else if (values.length == 2 && columnFamily.isSuper())
        {
                /* 
                 * TODO : For super columns we need to re-visit this issue.

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/net/http/ColumnFamilyFormatter.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/net/http/ColumnFamilyFormatter.java?rev=765830&r1=765829&r2=765830&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/org/apache/cassandra/net/http/ColumnFamilyFormatter.java
 (original)
+++ 
incubator/cassandra/trunk/src/org/apache/cassandra/net/http/ColumnFamilyFormatter.java
 Fri Apr 17 01:48:50 2009
@@ -35,9 +35,8 @@
        // first print the column family specific data
        sb.append("ColumnFamily = " + cf.name() + "<br>");
 
-       String columnFamilyType = DatabaseDescriptor.getColumnType(cf.name());
        Collection<IColumn> cols = cf.getAllColumns();
-       if("Super".equals(columnFamilyType))
+       if (cf.isSuper())
        {
                printSuperColumns(sb, cols);
        }


Reply via email to