public string UpdateColumnFamily(Server server, CfDef definition)
        {
            _cachedKeyspaceDescription = null;

            using (var session = new CassandraSession(new ConnectionBuilder(KeyspaceName, server.Host, server.Port)))
                return(session.GetClient().system_update_column_family(definition));
        }
        public string UpdateColumnFamily(CfDef definition)
        {
            Keyspace.ClearCachedKeyspaceSchema();

            return(ExecuteOperation(new SimpleOperation <string>(ctx => {
                return ctx.Session.GetClient().system_update_column_family(definition);
            })));
        }
Example #3
0
        public static CfDef ToCfDefFromColumnFamily(ColumnFamily cf)
        {
            CfDef cfdef = new CfDef();

            cfdef.Name     = cf.Name;
            cfdef.Keyspace = cf.Keyspace;
            return(cfdef);
        }
Example #4
0
        public static ColumnFamily ToColumnFamilyFromCfDef(CfDef cfdef)
        {
            ColumnFamily cf = new ColumnFamily();

            cf.Name     = cfdef.Name;
            cf.Keyspace = cfdef.Keyspace;
            return(cf);
        }
Example #5
0
        public static CfDef ToCassandraCfDef(this ColumnFamily columnFamily, string keyspace)
        {
            if (columnFamily == null)
            {
                return(null);
            }
            var result = new CfDef
            {
                Id              = columnFamily.Id,
                Name            = columnFamily.Name,
                Keyspace        = keyspace,
                Column_type     = "Standard",
                Comparator_type = columnFamily.ComparatorType.ToString(),
                Caching         = columnFamily.ToCassandraCachingValue()
            };

            if (columnFamily.Compression != null)
            {
                result.Compression_options = columnFamily.Compression.ToCassandraCompressionDef();
            }
            if (columnFamily.GCGraceSeconds.HasValue)
            {
                result.Gc_grace_seconds = columnFamily.GCGraceSeconds.Value;
            }
            if (columnFamily.ReadRepairChance != null)
            {
                result.Read_repair_chance = columnFamily.ReadRepairChance.Value;
            }

            var compactionStrategy = columnFamily.CompactionStrategy;

            if (compactionStrategy != null)
            {
                result.Compaction_strategy         = compactionStrategy.CompactionStrategyType.ToStringValue();
                result.Compaction_strategy_options = compactionStrategy.CompactionStrategyOptions.ToCassandraCompactionStrategyOptions();
            }

            if (columnFamily.BloomFilterFpChance.HasValue)
            {
                result.Bloom_filter_fp_chance = columnFamily.BloomFilterFpChance.Value;
            }

            if (columnFamily.DefaultTtl.HasValue)
            {
                result.Default_time_to_live = columnFamily.DefaultTtl.Value;
            }

            return(result);
        }
Example #6
0
        public static ColumnFamily FromCassandraCfDef(this CfDef cfDef)
        {
            if (cfDef == null)
            {
                return(null);
            }
            var result = new ColumnFamily
            {
                Name           = cfDef.Name,
                Id             = cfDef.Id,
                ComparatorType = new ColumnComparatorType(cfDef.Comparator_type)
            };

            if (cfDef.__isset.gc_grace_seconds)
            {
                result.GCGraceSeconds = cfDef.Gc_grace_seconds;
            }
            if (cfDef.__isset.caching)
            {
                result.Caching = cfDef.Caching.ToColumnFamilyCaching();
            }
            if (cfDef.__isset.read_repair_chance)
            {
                result.ReadRepairChance = cfDef.Read_repair_chance;
            }
            if (cfDef.Compression_options != null)
            {
                result.Compression = cfDef.Compression_options.FromCassandraCompressionOptions();
            }

            var compactionStrategyType    = cfDef.Compaction_strategy.FromStringValue <CompactionStrategyType>();
            var compactionStrategyOptions = cfDef.Compaction_strategy_options.FromCassandraCompactionStrategyOptions();

            result.CompactionStrategy = new CompactionStrategy(compactionStrategyType, compactionStrategyOptions);

            if (cfDef.__isset.bloom_filter_fp_chance)
            {
                result.BloomFilterFpChance = cfDef.Bloom_filter_fp_chance;
            }

            if (cfDef.__isset.default_time_to_live)
            {
                result.DefaultTtl = cfDef.Default_time_to_live;
            }

            return(result);
        }
        public CassandraColumnFamilySchema(CfDef def)
        {
            _def = def;

            KeyspaceName = def.Keyspace;

            var familyType = ColumnType.Standard;

            Enum.TryParse <ColumnType>(def.Column_type, out familyType);

            var defaultKeyValueType    = CassandraType.GetCassandraType(def.Key_validation_class);
            var defaultColumnValueType = CassandraType.GetCassandraType(def.Default_validation_class);

            CassandraType columnNameType, superColumnNameType;

            if (familyType == ColumnType.Super)
            {
                superColumnNameType = CassandraType.GetCassandraType(def.Comparator_type);
                columnNameType      = CassandraType.GetCassandraType(def.Subcomparator_type);
            }
            else
            {
                superColumnNameType = null;
                columnNameType      = CassandraType.GetCassandraType(def.Comparator_type);
            }

            FamilyType        = familyType;
            FamilyName        = def.Name;
            FamilyDescription = def.Comment;

            KeyName      = CassandraObject.GetCassandraObjectFromDatabaseByteArray(def.Key_alias, DefaultKeyNameType);
            KeyValueType = defaultKeyValueType;

            SuperColumnNameType    = superColumnNameType;
            ColumnNameType         = columnNameType;
            DefaultColumnValueType = defaultColumnValueType;

            Columns = def.Column_metadata.Select(col => new CassandraColumnSchema(col, columnNameType)).ToList();
        }