public static ColumnOrSuperColumn CreateColumnOrSuperColumn(IFluentBaseColumn column) { if (column is FluentColumn) { return(new ColumnOrSuperColumn { Column = CreateColumn((FluentColumn)column) }); } else if (column is FluentSuperColumn) { var colY = (FluentSuperColumn)column; var superColumn = new SuperColumn { Name = colY.ColumnName.TryToBigEndian(), Columns = new List <Column>() }; foreach (var col in colY.Columns.OfType <FluentColumn>()) { superColumn.Columns.Add(CreateColumn(col)); } return(new ColumnOrSuperColumn { Super_column = superColumn }); } else { return(null); } }
public static FluentSuperColumn ConvertSuperColumnToFluentSuperColumn(SuperColumn col, CassandraColumnFamilySchema schema) { var superColSchema = new CassandraColumnSchema { Name = col.Name }; if (schema != null) { superColSchema = new CassandraColumnSchema { NameType = schema.SuperColumnNameType, Name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, schema.SuperColumnNameType), ValueType = schema.ColumnNameType } } ; var superCol = new FluentSuperColumn(superColSchema) { ColumnName = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, superColSchema.NameType) }; ((ILoadable)superCol).BeginLoad(); foreach (var xcol in col.Columns) { superCol.Columns.Add(ConvertColumnToFluentColumn(xcol, schema)); } ((ILoadable)superCol).EndLoad(); return(superCol); }
public void AddSuperColumn() { var bm = new BatchMutation(); var sc = new SuperColumn("sc_name", new List<Column> { new Column("c_name1", "c_val1"), new Column("c_name2", "c_val2"), }); bm.AddSuperColumn("key1", cfs, sc); Assert.Equal(1, bm["key1"].Count); var sc2 = new SuperColumn("sc_name2", new List<Column> { new Column("c_name1", "c_val1") }); bm.AddSuperColumn("key1", cfs, sc2); Assert.Equal(2, bm["key1"]["Standard1"].Count); }
public void AddSuperColumn() { var bm = new BatchMutation(); var sc = new SuperColumn("sc_name", new List <Column> { new Column("c_name1", "c_val1"), new Column("c_name2", "c_val2"), }); bm.AddSuperColumn("key1", cfs, sc); Assert.Equal(1, bm["key1"].Count); var sc2 = new SuperColumn("sc_name2", new List <Column> { new Column("c_name1", "c_val1") }); bm.AddSuperColumn("key1", cfs, sc2); Assert.Equal(2, bm["key1"]["Standard1"].Count); }
public static Mutation CreateInsertedOrChangedMutation(FluentMutation mutation) { switch (mutation.Type) { case MutationType.Added: case MutationType.Changed: var column = mutation.Column; if (column is FluentColumn) { return(new Mutation { Column_or_supercolumn = new ColumnOrSuperColumn { Column = CreateColumn((FluentColumn)column) } }); } else if (column is FluentSuperColumn) { var colY = (FluentSuperColumn)column; var superColumn = new SuperColumn { Name = colY.ColumnName.TryToBigEndian(), Columns = new List <Column>() }; foreach (var col in colY.MutationTracker.GetMutations().Select(x => x.Column).OfType <FluentColumn>()) { superColumn.Columns.Add(CreateColumn(col)); } return(new Mutation { Column_or_supercolumn = new ColumnOrSuperColumn { Super_column = superColumn } }); } break; } return(null); }
public static FluentSuperColumn <CompareWith, CompareSubcolumnWith> ConvertSuperColumnToFluentSuperColumn <CompareWith, CompareSubcolumnWith>(SuperColumn col) where CompareWith : CassandraType where CompareSubcolumnWith : CassandraType { var superCol = new FluentSuperColumn <CompareWith, CompareSubcolumnWith> { ColumnName = CassandraType.GetType <CompareWith>(col.Name) }; foreach (var xcol in col.Columns) { superCol.Columns.Add(ConvertColumnToFluentColumn <CompareSubcolumnWith>(xcol)); } return(superCol); }
public ColumnOrSuperColumn(SuperColumn superColumn) : this(null, superColumn) { }
public ColumnOrSuperColumn(Column column, SuperColumn superColumn) { Column = column; SuperColumn = superColumn; }