/// <summary> /// Create list append items operation with policy. /// Server appends each input list item to list bin. /// Server returns list size. /// </summary> public static Operation AppendItems(ListPolicy policy, string binName, IList list, params CTX[] ctx) { Packer packer = new Packer(); CDT.Init(packer, ctx, APPEND_ITEMS, 3); packer.PackList(list); packer.PackNumber(policy.attributes); packer.PackNumber(policy.flags); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(packer.ToByteArray()))); }
/// <summary> /// Create list insert items operation with policy. /// Server inserts each input list item starting at specified index of list bin. /// Server returns list size. /// </summary> public static Operation InsertItems(ListPolicy policy, string binName, int index, IList list, params CTX[] ctx) { Packer packer = new Packer(); CDT.Init(packer, ctx, INSERT_ITEMS, 3); packer.PackNumber(index); packer.PackList(list); packer.PackNumber(policy.flags); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(packer.ToByteArray()))); }
/// <summary> /// Create list insert items operation with policy. /// Server inserts each input list item starting at specified index of list bin. /// Server returns list size. /// </summary> public static Operation InsertItems(ListPolicy policy, string binName, int index, IList list) { Packer packer = new Packer(); packer.PackRawShort(INSERT_ITEMS); packer.PackArrayBegin(3); packer.PackNumber(index); packer.PackList(list); packer.PackNumber(policy.flags); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(packer.ToByteArray()))); }
/// <summary> /// Create list append items operation with policy. /// Server appends each input list item to list bin. /// Server returns list size. /// </summary> public static Operation AppendItems(ListPolicy policy, string binName, IList list) { Packer packer = new Packer(); packer.PackRawShort(APPEND_ITEMS); packer.PackArrayBegin(3); packer.PackList(list); packer.PackNumber(policy.attributes); packer.PackNumber(policy.flags); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(packer.ToByteArray()))); }
/// <summary> /// Create list set operation with policy. /// Server sets item value at specified index in list bin. /// Server does not return a result by default. /// </summary> public static Operation Set(ListPolicy policy, string binName, int index, Value value, params CTX[] ctx) { return(CDT.CreateOperation(SET, Operation.Type.CDT_MODIFY, binName, ctx, index, value, policy.flags)); }
/// <summary> /// Create list increment operation. /// Server increments list[index] by value. /// Value should be integer(IntegerValue, LongValue) or double(DoubleValue, FloatValue). /// Server returns list[index] after incrementing. /// </summary> public static Operation Increment(ListPolicy policy, string binName, int index, Value value, params CTX[] ctx) { return(CDT.CreateOperation(INCREMENT, Operation.Type.CDT_MODIFY, binName, ctx, index, value, policy.attributes, policy.flags)); }
/// <summary> /// Create list set operation with policy. /// Server sets item value at specified index in list bin. /// Server does not return a result by default. /// </summary> public static Operation Set(ListPolicy policy, string binName, int index, Value value, params CTX[] ctx) { byte[] bytes = PackUtil.Pack(ListOperation.SET, index, value, policy.flags, ctx); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(bytes))); }
/// <summary> /// Create list increment operation with policy. /// Server increments list[index] by 1. /// Server returns list[index] after incrementing. /// </summary> public static Operation Increment(ListPolicy policy, string binName, int index, params CTX[] ctx) { byte[] bytes = PackUtil.Pack(ListOperation.INCREMENT, index, Value.Get(1), policy.attributes, policy.flags, ctx); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(bytes))); }
/// <summary> /// Create list insert items operation with policy. /// Server inserts each input list item starting at specified index of list bin. /// Server returns list size. /// </summary> public static Operation InsertItems(ListPolicy policy, string binName, int index, IList list, params CTX[] ctx) { byte[] bytes = PackUtil.Pack(ListOperation.INSERT_ITEMS, index, list, policy.flags, ctx); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(bytes))); }
/// <summary> /// Create list append items operation with policy. /// Server appends each input list item to list bin. /// Server returns list size. /// </summary> public static Operation AppendItems(ListPolicy policy, string binName, IList list, params CTX[] ctx) { byte[] bytes = PackUtil.Pack(ListOperation.APPEND_ITEMS, list, policy.attributes, policy.flags, ctx); return(new Operation(Operation.Type.CDT_MODIFY, binName, Value.Get(bytes))); }
/// <summary> /// Create list insert operation with policy. /// Server inserts value to specified index of list bin. /// Server returns list size. /// </summary> public static Operation Insert(ListPolicy policy, string binName, int index, Value value) { return(CDT.CreateOperation(INSERT, Operation.Type.CDT_MODIFY, binName, index, value, policy.flags)); }