> org.apache.cassandra.thrift.Column column; // initialize this with name, > value, timestamp, TTL This is the wrong object to use.
one overload of addColumn() accepts IColumn which is from org.apache.cassanda.db . The thrift classes are only use for the thrift API. > What is the difference between calling writer.addColumn() on the column's > name, value and timestamp, and writer.addExpiringColumn() on the column's > name, value, TTL, timestamp and expiration timestamp ? They both add an column to the row. addExpiringColumn() adds an expiring column, and addColumn adds a normal one. only addExpiringColumn accepts a TTL (in seconds) for the column. > Does the former result in the column expiring still , in cassandra 1.2.x > (i.e. does setting the TTL on a Column object change the name or value in a > way so as to ensure the column will expire as required) ? No. An expiring column must be an ExpiringColumn column instance. The base IColumn interface does not have a TTL, only expiring columns do. > If not , what is the TTL attribute used for in the Column object ? The org.apache.cassandra.db.Column class does not have a TTL. Cheers ----------------- Aaron Morton New Zealand @aaronmorton Co-Founder & Principal Consultant Apache Cassandra Consulting http://www.thelastpickle.com On 26/09/2013, at 12:44 AM, Jayadev Jayaraman <jdisal...@gmail.com> wrote: > Can someone answer this doubt reg. SSTableSimpleWriter ? I'd asked about this > earlier but it probably missed. Apologies for repeating the question (with > minor additions) : > > """ > Let's say I've initialized a SSTableSimpleWriter instance and a new column > with TTL set : > > org.apache.cassandra.io.sstable.SSTableSimpleWriter writer = new > SSTableSimpleWriter( ... /* params here */); > org.apache.cassandra.thrift.Column column; // initialize this with name, > value, timestamp, TTL > > What is the difference between calling writer.addColumn() on the column's > name, value and timestamp, and writer.addExpiringColumn() on the column's > name, value, TTL, timestamp and expiration timestamp ? Does the former result > in the column expiring still , in cassandra 1.2.x (i.e. does setting the TTL > on a Column object change the name or value in a way so as to ensure the > column will expire as required) ? If not , what is the TTL attribute used for > in the Column object ? > """ > > Thanks, > Jayadev > > > On Tue, Sep 24, 2013 at 2:48 PM, Jayadev Jayaraman <jdisal...@gmail.com> > wrote: > Let's say I've initialized a SSTableSimpleWriter instance and a new column > with TTL set : > > SSTableSimpleWriter writer = new SSTableSimpleWriter( ... /* params here */); > Column column; > > What is the difference between calling writer.addColumn() on the column's > name and value, and writer.addExpiringColumn() on the column and its TTL ? > Does the former result in the column expiring still , in cassandra 1.2.x ? Or > does it not ? > > >