public CassandraCqlRowSchema(CqlResult result, string familyName) { #if DEBUG _def = result.Schema; #endif var def = result.Schema; var colNameType = CassandraType.GetCassandraType(def.Default_name_type); var colValueType = CassandraType.GetCassandraType(def.Default_value_type); FamilyName = familyName; DefaultColumnNameType = colNameType; DefaultColumnValueType = colValueType; Columns = new List <CassandraColumnSchema>(); var colNameTypes = new Dictionary <CassandraObject, CassandraType>(); foreach (var c in def.Name_types) { var type = CassandraType.GetCassandraType(c.Value); var name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(c.Key, CassandraType.BytesType); colNameTypes.Add(name, type); } // columns returned foreach (var c in def.Value_types) { var type = CassandraType.GetCassandraType(c.Value); var nameType = colNameType; var name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(c.Key, CassandraType.BytesType); if (colNameTypes.ContainsKey(name)) { nameType = colNameTypes[name]; } var colSchema = new CassandraColumnSchema { NameType = nameType, Name = name, ValueType = type }; Columns.Add(colSchema); } }
private void ResolveMarshallersFromSchema(CqlMetadata cqlMetadata) { _KeyMarshaller = new Marshal.BytesType(); _ColumnNameMarshaller = TypeResolver.GetMarshalledTypeForName(cqlMetadata.Default_name_type); _ColumnValueMarshaller = TypeResolver.GetMarshalledTypeForName(cqlMetadata.Default_value_type); }