public Column GetColumn(string key, ColumnPath columnPath) { AssertColumnPath(columnPath); var op = new Operation<Column>(ClientCounter.READ_FAIL); op.Handler = client => { try { var cosc = client.get(Name, key, columnPath.ToThrift(), ConsistencyLevel.ToThrift()); return cosc == null ? null : cosc.Column.ToModel(); } catch (Apache.Cassandra051.NotFoundException ex) { op.Error = new NotFoundException("Column Not Found: key: " + key + ", " + columnPath.ToString(), ex); } return null; }; OperateWithFailover(op); if (op.HasError) throw op.Error; return op.Result; }
public void Remove(string key, ColumnPath columnPath) { var op = new VoidOperation(ClientCounter.WRITE_FAIL, client => { client.remove(Name, key, columnPath.ToThrift(), Util.UnixTimestamp, ConsistencyLevel.ToThrift()); } ); OperateWithFailover(op); }
public IDictionary<string, SuperColumn> MultigetSuperColumn(IList<string> keys, ColumnPath columnPath) { return MultigetSuperColumn(keys, columnPath, false, Int32.MaxValue); }
public IDictionary<string, SuperColumn> MultigetSuperColumn(IList<string> keys, ColumnPath columnPath, bool reversed, int size) { AssertSuperColumnPath(columnPath); var result = new Dictionary<string, SuperColumn>(); // only can get supercolumn by multigetSuperSlice var clp = new ColumnParent(columnPath.ColumnFamily, columnPath.SuperColumn); var sr = new SliceRange(reversed, size); var sp = new SlicePredicate(sr); var sclist = MultigetSuperSlice(keys, clp, sp); if (sclist == null || sclist.Count == 0) return result; foreach (var sc in sclist) if (sc.Value.Count > 0) result.Add(sc.Key, sc.Value[0]); return result; }
public IDictionary<string, Column> MultigetColumn(IList<string> keys, ColumnPath columnPath) { AssertColumnPath(columnPath); var op = new Operation<IDictionary<string, Column>>(ClientCounter.READ_FAIL, client => { var result = new Dictionary<string, Column>(); var cfmap = client.multiget(Name, new List<string>(keys), columnPath.ToThrift(), ConsistencyLevel.ToThrift()); foreach (var entry in cfmap.Transform(entry => new { entry.Key, Column = entry.Value.Column.ToModel() })) result.Add(entry.Key, entry.Column); return result; }); OperateWithFailover(op); return op.Result; }
public void Insert(string key, ColumnPath columnPath, string value) { Insert(key, columnPath, value.UTF()); }
public void Insert(string key, ColumnPath columnPath, byte[] value) { AssertColumnPath(columnPath); var op = new VoidOperation(ClientCounter.WRITE_FAIL, client => { client.insert(Name, key, columnPath.ToThrift(), value, Util.UnixTimestamp, ConsistencyLevel.ToThrift()); }); OperateWithFailover(op); }
//Override public SuperColumn GetSuperColumn(string key, ColumnPath columnPath, bool reversed, int size) { AssertSuperColumnPath(columnPath); var sliceRange = new Apache.Cassandra051.SliceRange(reversed, size); var op = new Operation<SuperColumn>(ClientCounter.READ_FAIL, client => { var columnParent = new Apache.Cassandra051.ColumnParent(columnPath.ColumnFamily, columnPath.SuperColumn); var predicate = new Apache.Cassandra051.SlicePredicate(null, sliceRange); var data = client.get_slice(Name, key, columnParent, predicate, ConsistencyLevel.ToThrift()); return new SuperColumn(columnPath.SuperColumn, GetColumnList(data)); }); OperateWithFailover(op); return op.Result; }
public SuperColumn GetSuperColumn(string key, ColumnPath columnPath) { return GetSuperColumn(key, columnPath, false, Int32.MaxValue); }