public static FluentColumn ConvertColumnToFluentColumn(Column col, CassandraColumnFamilySchema schema = null) { var colSchema = new CassandraColumnSchema(); if (schema != null) { var name = CassandraObject.GetTypeFromDatabaseValue(col.Name, schema.ColumnNameType); colSchema = schema.Columns.Where(x => x.Name == name).FirstOrDefault(); if (colSchema == null) { colSchema = new CassandraColumnSchema(); colSchema.NameType = schema.ColumnNameType; colSchema.Name = name; colSchema.ValueType = schema.DefaultColumnValueType; } } var fcol = new FluentColumn(colSchema) { ColumnName = CassandraObject.GetTypeFromDatabaseValue(col.Name, colSchema.NameType), ColumnValue = CassandraObject.GetTypeFromDatabaseValue(col.Value, colSchema.ValueType), ColumnTimestamp = UnixStart.AddMilliseconds(col.Timestamp), }; if (col.__isset.ttl) fcol.ColumnSecondsUntilDeleted = col.Ttl; return fcol; }
public ColumnOrSuperColumn(Column column, SuperColumn superColumn) { if(column != null) Column = column; if(superColumn != null) Super_column = superColumn; }
// private string columnFamily = "users"; // private string keyspace = "test"; // private string key = "testKey"; // // Insert statement //// private byte[] key = ByteEncoderHelper.LongEncoder.ToByteArray(i); // private byte[] key = ByteEncoderHelper.LongEncoder.ToByteArray(2); // private ColumnParent columnParent; // private Column column; // private ColumnPath columnPath; // private ICluster cluster; // // // //cluster.Execute(new ExecutionBlock(delegate(CassandraClient client) { // client.insert(key, columnParent, column, ConsistencyLevel.ONE); // return null; //}), keyspace); // // Get statement // byte[] key = ByteEncoderHelper.LongEncoder.ToByteArray(2); // // ICluster cluster = AquilesHelper.RetrieveCluster("Cassandra1"); // object rtnValue = cluster.Execute(new ExecutionBlock(delegate(CassandraClient client) // { // return client.get(key, columnPath, ConsistencyLevel.ONE); // }), keyspace); public void Run() { string columnFamily = "TestColumnFamily"; string keyspace = "TestKeyspace"; string key = "testKey"; string columnName = "testColumn"; string columnValue = "testValue"; // Insert statement byte[] key2 = ByteEncoderHelper.LongEncoder.ToByteArray(1); ColumnParent columnParent = new ColumnParent(); Column column = new Column() { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray(columnName), Timestamp = UnixHelper.UnixTimestamp, Value = ByteEncoderHelper.UTF8Encoder.ToByteArray(columnValue), }; columnParent.Column_family = columnFamily; ICluster cluster = AquilesHelper.RetrieveCluster("Cassandra1"); cluster.Execute(new ExecutionBlock(delegate(CassandraClient client) { client.insert(key, columnParent, column, ConsistencyLevel.ONE); return null; }), keyspace); }
public static Column ToModel(this Apache.Cassandra.Column c) { return(new Column { Name = c.Name.UTFDecode(), Value = c.Value.UTFDecode(), Timestamp = c.Timestamp, }); }
public static FluentColumn ConvertColumnToFluentColumn(Column col, CassandraColumnSchema colSchema) { colSchema = colSchema ?? new CassandraColumnSchema(); var fcol = new FluentColumn(colSchema) { ColumnName = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, colSchema.NameType), ColumnValue = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Value, colSchema.ValueType), ColumnTimestamp = TimestampHelper.FromCassandraTimestamp(col.Timestamp), }; if (col.__isset.ttl) fcol.ColumnSecondsUntilDeleted = col.Ttl; return fcol; }
public static FluentColumn ConvertColumnToFluentColumn(Column col, CassandraColumnFamilySchema schema) { var colSchema = new CassandraColumnSchema(); if (schema != null) { var name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, schema.ColumnNameType); colSchema = schema.Columns.Where(x => x.Name == name).FirstOrDefault(); if (colSchema == null) { colSchema = new CassandraColumnSchema(); colSchema.NameType = schema.ColumnNameType; colSchema.Name = name; colSchema.ValueType = schema.DefaultColumnValueType; } } return ConvertColumnToFluentColumn(col, colSchema); }
public static Column CreateColumn(FluentColumn column) { var col = new Column { Name = column.ColumnName.TryToBigEndian(), Value = column.ColumnValue.TryToBigEndian(), Timestamp = column.ColumnTimestamp.ToCassandraTimestamp() }; if (column.ColumnSecondsUntilDeleted.HasValue) col.Ttl = column.ColumnSecondsUntilDeleted.Value; return col; }
public static Column CreateColumn(CassandraColumn column) { var ccol = new Column { Name = column.Name.TryToBigEndian(), Value = column.Value.TryToBigEndian(), Timestamp = column.Timestamp.ToCassandraTimestamp() }; if (column.Ttl.HasValue && column.Ttl.Value > 0) ccol.Ttl = column.Ttl.Value; return ccol; }
public void send_insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) { oprot_.WriteMessageBegin(new TMessage("insert", TMessageType.Call, seqid_)); insert_args args = new insert_args(); args.Key = key; args.Column_parent = column_parent; args.Column = column; args.Consistency_level = consistency_level; args.Write(oprot_); oprot_.WriteMessageEnd(); oprot_.Transport.Flush(); }
private void GenerateParentUpdateForSubfolder(InventoryFolderBase child, byte[] parentIdArray, Dictionary<byte[], Dictionary<string, List<Mutation>>> muts, long timeStamp) { //never mutate the zero ID folder if (new Guid(parentIdArray) == Guid.Empty) return; List<Mutation> folderMutList = new List<Mutation>(); Mutation propertiesMut = new Mutation(); propertiesMut.Column_or_supercolumn = new ColumnOrSuperColumn(); propertiesMut.Column_or_supercolumn.Super_column = new SuperColumn(); propertiesMut.Column_or_supercolumn.Super_column.Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("sub_folders"); Column subfolderCol = new Column { Name = ByteEncoderHelper.GuidEncoder.ToByteArray(child.ID.Guid), Value = SubFolderData.Encode(child.Name, child.Type), Timestamp = timeStamp }; List<Column> propertiesColumns = new List<Column>(); propertiesColumns.Add(subfolderCol); propertiesMut.Column_or_supercolumn.Super_column.Columns = propertiesColumns; folderMutList.Add(propertiesMut); muts[parentIdArray].Add(FOLDERS_CF, folderMutList); }
public void send_insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) #endif { oprot_.WriteMessageBegin(new TMessage("insert", TMessageType.Call, seqid_)); insert_args args = new insert_args(); args.Key = key; args.Column_parent = column_parent; args.Column = column; args.Consistency_level = consistency_level; args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return oprot_.Transport.BeginFlush(callback, state); #else oprot_.Transport.Flush(); #endif }
public IAsyncResult send_insert(AsyncCallback callback, object state, byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level)
/// <summary> /// Insert a Column at the given column_parent.column_family and optional column_parent.super_column. /// </summary> /// <param name="key"></param> /// <param name="column_parent"></param> /// <param name="column"></param> /// <param name="consistency_level"></param> public void insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) { #if !SILVERLIGHT send_insert(key, column_parent, column, consistency_level); recv_insert(); #else var asyncResult = Begin_insert(null, null, key, column_parent, column, consistency_level); End_insert(asyncResult); #endif }
public IAsyncResult Begin_insert(AsyncCallback callback, object state, byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) { return send_insert(callback, state, key, column_parent, column, consistency_level); }
public void Insert(string family, string key, string superColumnName, string columnName, string value) { ICluster cluster = AquilesHelper.RetrieveCluster(Cluster); byte[] keyAsByteArray = Encoding.ASCII.GetBytes(key); byte[] valueAsByteArray = Encoding.ASCII.GetBytes(value); var columnParent = new ColumnParent { Column_family = family, }; var column = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray(columnName), Timestamp = UnixHelper.UnixTimestamp, Value = valueAsByteArray }; cluster.Execute(new ExecutionBlock(client => { // http://www.dotnetperls.com/convert-string-byte-array client.insert(keyAsByteArray, columnParent, column, ConsistencyLevel.ONE); return null; }), keyspaceName); }
private static void InsertIntoCassandraDB(string url, FileInfo fileInfo) { CheckCassandraIsRunning(); byte[] key = ByteEncoderHelper.UTF8Encoder.ToByteArray(url); byte[] extension = ByteEncoderHelper.UTF8Encoder.ToByteArray(fileInfo.Extension); byte[] size = ByteEncoderHelper.UTF8Encoder.ToByteArray(fileInfo.Length.ToString()); ColumnParent columnParent = new ColumnParent(); Column urlColumn = new Column() { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("url"), Timestamp = UnixHelper.UnixTimestamp, Value = key }; Column extensionColumn = new Column() { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("extension"), Timestamp = UnixHelper.UnixTimestamp, Value = extension }; Column sizeColumn = new Column() { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("size"), Timestamp = UnixHelper.UnixTimestamp, Value = size }; columnParent.Column_family = "resource"; ICluster cluster = Aquiles.Cassandra10.AquilesHelper.RetrieveCluster("Test Cluster"); cluster.Execute(new Aquiles.Cassandra10.ExecutionBlock(delegate(Cassandra.Client client) { client.insert(key, columnParent, urlColumn, ConsistencyLevel.ONE); client.insert(key, columnParent, extensionColumn, ConsistencyLevel.ONE); client.insert(key, columnParent, sizeColumn, ConsistencyLevel.ONE); return null; }), KEYSPACENAME); }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.String) { Name = iprot.ReadBinary(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.List) { { Columns = new List<Column>(); TList _list0 = iprot.ReadListBegin(); for( int _i1 = 0; _i1 < _list0.Count; ++_i1) { Column _elem2 = new Column(); _elem2 = new Column(); _elem2.Read(iprot); Columns.Add(_elem2); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
private AquilesColumn BuildColumn(Column column) { AquilesColumn aquilesColumn = new AquilesColumn(); aquilesColumn.ColumnName = ByteEncoderHelper.FromByteArray(column.Name); aquilesColumn.Timestamp = column.Timestamp; aquilesColumn.Value = ByteEncoderHelper.FromByteArray(column.Value); return aquilesColumn; }
private void GetFolderStorageMutations(InventoryFolderBase folder, byte[] folderIdBytes, byte[] userIdBytes, FolderMutationSelector mutationTypes, Dictionary<byte[], Dictionary<string, List<Mutation>>> outMuts, Guid newParent, long timeStamp) { //Folder CF mutations List<Mutation> folderMutList = new List<Mutation>(); Mutation propertiesMut = new Mutation(); propertiesMut.Column_or_supercolumn = new ColumnOrSuperColumn(); propertiesMut.Column_or_supercolumn.Super_column = new SuperColumn(); propertiesMut.Column_or_supercolumn.Super_column.Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("properties"); List<Column> propertiesColumns = new List<Column>(); if (mutationTypes == FolderMutationSelector.All || mutationTypes == FolderMutationSelector.AllButParent) { Column nameCol = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("name"), Value = ByteEncoderHelper.UTF8Encoder.ToByteArray(folder.Name), Timestamp = timeStamp, }; Column typeCol = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("type"), Value = ByteEncoderHelper.LittleEndianInt32Encoder.ToByteArray(folder.Type), Timestamp = timeStamp, }; Column userIdCol = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("user_id"), Value = ByteEncoderHelper.GuidEncoder.ToByteArray(folder.Owner.Guid), Timestamp = timeStamp, }; Column levelCol = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("level"), Value = new byte[] { (byte)folder.Level }, Timestamp = timeStamp, }; propertiesColumns.Add(nameCol); propertiesColumns.Add(typeCol); propertiesColumns.Add(userIdCol); propertiesColumns.Add(levelCol); } if (mutationTypes == FolderMutationSelector.All || mutationTypes == FolderMutationSelector.ParentOnly) { Column parentIdCol = new Column { Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("parent"), Value = ByteEncoderHelper.GuidEncoder.ToByteArray(newParent), Timestamp = timeStamp, }; propertiesColumns.Add(parentIdCol); } propertiesMut.Column_or_supercolumn.Super_column.Columns = propertiesColumns; folderMutList.Add(propertiesMut); Dictionary<string, List<Mutation>> folderKeyMuts = new Dictionary<string, List<Mutation>>(); folderKeyMuts[FOLDERS_CF] = folderMutList; //version increment Mutation versionMut = VersionIncrement(); folderKeyMuts[FOLDERVERSIONS_CF] = new List<Mutation> { versionMut }; outMuts[folderIdBytes] = folderKeyMuts; //UserFolder CF mutations if (!outMuts.ContainsKey(userIdBytes)) { outMuts[userIdBytes] = new Dictionary<string, List<Mutation>>(); } if (!outMuts[userIdBytes].ContainsKey(USERFOLDERS_CF)) { outMuts[userIdBytes].Add(USERFOLDERS_CF, new List<Mutation>()); } List<Mutation> userKeyMuts = outMuts[userIdBytes][USERFOLDERS_CF]; List<Mutation> userFolderMutList = new List<Mutation>(); //userfolders index, the list of all folders per user Mutation userFolderPropertiesMut = new Mutation(); userFolderPropertiesMut.Column_or_supercolumn = new ColumnOrSuperColumn(); userFolderPropertiesMut.Column_or_supercolumn.Super_column = this.BuildFolderIndexEntry(folder, folderIdBytes, mutationTypes, newParent, timeStamp); userKeyMuts.Add(userFolderPropertiesMut); }
protected void CreateMutation(List<Mutation> mutList, String column, Byte[] value, Int64 timestamp) { Mutation mutation = new Mutation(); Column col = new Column(); col.Name = column.ToCassandraByte(); col.Value = value; col.Timestamp = timestamp; Int32 ttl = LevelMapping.GetTtl(); if (ttl > 0) col.Ttl = 0; ColumnOrSuperColumn cosc = new ColumnOrSuperColumn(); cosc.Column = col; mutation.Column_or_supercolumn = cosc; mutList.Add(mutation); }
public void insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) { send_insert(key, column_parent, column, consistency_level); recv_insert(); }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Struct) { this.column = new Column(); this.column.Read(iprot); this.__isset.column = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { this.super_column = new SuperColumn(); this.super_column.Read(iprot); this.__isset.super_column = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.String) { Key = iprot.ReadBinary(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { Column_parent = new ColumnParent(); Column_parent.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Struct) { Column = new Column(); Column.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 4: if (field.Type == TType.I32) { Consistency_level = (ConsistencyLevel)iprot.ReadI32(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
public ColumnOrSuperColumn(Column column) : this(column, null) { }