public FdbDynamicSubspacePartition Using([NotNull] IFdbKeyEncoding encoding) { Contract.NotNull(encoding, nameof(encoding)); var encoder = encoding.GetDynamicEncoder(); return(UsingEncoder(encoder)); }
public static IFdbDynamicSubspace CreateDynamic([NotNull] ITuple tuple, IFdbKeyEncoding encoding = null) { Contract.NotNull(tuple, nameof(tuple)); var encoder = (encoding ?? TypeSystem.Default).GetDynamicEncoder(); return(new FdbDynamicSubspace(tuple.ToSlice(), true, encoder)); }
static TypeSystem() { var tuples = new TupleKeyEncoding(); Tuples = tuples; // default is the same a Tuples (for now?) Default = tuples; }
/// <summary>Returns the same view but using a different Type System</summary> /// <param name="encoding">Type System that will code keys in this new view</param> /// <returns>Review that will partition this subspace using a different Type System</returns> /// <remarks> /// This should only be used for one-off usages where creating a new subspace just to encode one key would be overkill. /// If you are calling this in a loop, consider creating a new subspace using that encoding. /// </remarks> public FdbDynamicSubspacePartition Using([NotNull] IFdbKeyEncoding encoding) { if (encoding == null) { throw new ArgumentNullException("encoding"); } var encoder = encoding.GetDynamicEncoder(); return(UsingEncoder(encoder)); }
public static IFdbDynamicSubspace CreateDynamic([NotNull] IFdbTuple tuple, IFdbKeyEncoding encoding = null) { if (tuple == null) { throw new ArgumentNullException("tuple"); } var encoder = (encoding ?? TypeSystem.Default).GetDynamicEncoder(); return(new FdbDynamicSubspace(tuple.ToSlice(), true, encoder)); }
public static IFdbDynamicSubspace CreateDynamic <TKey>([NotNull] TKey key, IFdbKeyEncoding encoding = null) where TKey : IFdbKey { if (key == null) { throw new ArgumentNullException("key"); } var encoder = (encoding ?? TypeSystem.Default).GetDynamicEncoder(); return(new FdbDynamicSubspace(key.ToFoundationDbKey(), encoder)); }
/// <summary>Return a version of this subspace, which uses a different type system to produces the keys and values</summary> /// <param name="subspace">Instance of a generic subspace</param> /// <param name="encoding">If non-null, uses this specific instance of the TypeSystem. If null, uses the default instance for this particular TypeSystem</param> /// <returns>Subspace equivalent to <paramref name="subspace"/>, but augmented with a specific TypeSystem</returns> public static IFdbDynamicSubspace Using([NotNull] this IFdbSubspace subspace, [NotNull] IFdbKeyEncoding encoding) { if (subspace == null) { throw new ArgumentNullException("subspace"); } if (encoding == null) { throw new ArgumentNullException("encoding"); } return(FdbSubspace.CopyDynamic(subspace, encoding)); }
public IFdbDynamicSubspace ByKey(T1 value1, T2 value2, IFdbKeyEncoding encoding) { return(FdbSubspace.CreateDynamic(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value1, value2)), encoding)); }
/// <summary>Return a version of this subspace, which uses a different type system to produces the keys and values</summary> /// <param name="subspace">Instance of a generic subspace</param> /// <param name="encoding">Custom key encoder</param> /// <returns>Subspace equivalent to <paramref name="subspace"/>, but augmented with a specific TypeSystem</returns> public static IFdbEncoderSubspace <T> UsingEncoder <T>([NotNull] this IFdbSubspace subspace, [NotNull] IFdbKeyEncoding encoding) { if (subspace == null) { throw new ArgumentNullException("subspace"); } if (encoding == null) { throw new ArgumentNullException("encoding"); } return(FdbSubspace.CopyEncoder <T>(subspace, encoding)); }
public static IFdbDynamicSubspace CopyDynamic([NotNull] IFdbSubspace subspace, IFdbKeyEncoding encoding = null) { var encoder = (encoding ?? TypeSystem.Default).GetDynamicEncoder(); return(new FdbDynamicSubspace(subspace.Key, true, encoder)); }
public static IFdbEncoderSubspace <T1, T2, T3, T4> CopyEncoder <T1, T2, T3, T4>([NotNull] IFdbSubspace subspace, IFdbKeyEncoding encoding = null) { var encoder = (encoding ?? TypeSystem.Default).GetEncoder <T1, T2, T3, T4>(); return(new FdbEncoderSubspace <T1, T2, T3, T4>(subspace.Key, true, encoder)); }
public static IFdbEncoderSubspace <T1, T2> UsingEncoder <T1, T2>([NotNull] this IFdbSubspace subspace, [NotNull] IFdbKeyEncoding encoding) { Contract.NotNull(subspace, nameof(subspace)); Contract.NotNull(encoding, nameof(encoding)); return(FdbSubspace.CopyEncoder <T1, T2>(subspace, encoding)); }
public IFdbDynamicSubspace ByKey(T1 value1, T2 value2, T3 value3, T4 value4, [NotNull] IFdbKeyEncoding encoding) { return(FdbSubspace.CreateDynamic(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value1, value2, value3, value4)), encoding)); }
public IFdbDynamicSubspace ByKey(T value, [NotNull] IFdbKeyEncoding encoding) { return(FdbSubspace.CreateDynamic(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value)), encoding)); }
public static IFdbDynamicSubspace CreateDynamic(Slice slice, IFdbKeyEncoding encoding = null) { var encoder = (encoding ?? TypeSystem.Default).GetDynamicEncoder(); return(new FdbDynamicSubspace(slice, encoder)); }
public IFdbEncoderSubspace <TNext> ByKey <TNext>(T1 value1, T2 value2, IFdbKeyEncoding encoding) { return(FdbSubspace.CreateEncoder <TNext>(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value1, value2)), encoding)); }
public IFdbEncoderSubspace <TNext> ByKey <TNext>(T value, [NotNull] IFdbKeyEncoding encoding) { return(FdbSubspace.CreateEncoder <TNext>(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value)), encoding)); }
public static IFdbEncoderSubspace <T1, T2, T3, T4> CreateEncoder <T1, T2, T3, T4>(Slice slice, IFdbKeyEncoding encoding = null) { var encoder = (encoding ?? TypeSystem.Default).GetEncoder <T1, T2, T3, T4>(); return(new FdbEncoderSubspace <T1, T2, T3, T4>(slice, encoder)); }
public IFdbEncoderSubspace <TNext> ByKey <TNext>(T1 value1, T2 value2, T3 value3, T4 value4, [NotNull] IFdbKeyEncoding encoding) { return(FdbSubspace.CreateEncoder <TNext>(this.Subspace.ConcatKey(this.Encoder.EncodeKey(value1, value2, value3, value4)), encoding)); }
public static IFdbDynamicSubspace Using([NotNull] this IFdbSubspace subspace, [NotNull] IFdbKeyEncoding encoding) { Contract.NotNull(subspace, nameof(subspace)); Contract.NotNull(encoding, nameof(encoding)); return(FdbSubspace.CopyDynamic(subspace, encoding)); }