/// <summary> /// Creates a <see cref="Mutation"/> which deletes cells from the specified column, optionally /// restricting the deletions to a given version range. /// </summary> /// <remarks> /// <para> /// Note that string is implicitly convertible to <see cref="BigtableByteString"/>, /// so <paramref name="columnQualifier"/> can be specified using a string as well and /// its UTF-8 representations will be used. /// </para> /// </remarks> /// <param name="familyName"> /// The name of the family from which cells should be deleted. /// Must match `[-_.a-zA-Z0-9]+` /// </param> /// <param name="columnQualifier"> /// The qualifier of the column from which cells should be deleted. /// Can be any byte string, including the empty string. /// </param> /// <param name="versionRange"> /// [Optional] The range of versions within which cells should be deleted. /// If unspecified, all versions will be deleted. /// </param> /// <returns>The created Mutation instance.</returns> public static Mutation DeleteFromColumn( string familyName, BigtableByteString columnQualifier, BigtableVersionRange versionRange = null) => new Mutation { DeleteFromColumn = new Mutation.Types.DeleteFromColumn { FamilyName = ValidateFamilyName(familyName), ColumnQualifier = columnQualifier.Value, TimeRange = versionRange.ToTimestampRange() } };
/// <summary> /// Creates a new <see cref="RowFilter"/> instance which matches only cells /// with versions within the given range. /// </summary> /// <param name="range"> /// The range of versions from which cells should be matched. Must not be null. /// </param> /// <returns>The created row filter.</returns> public static RowFilter VersionRange(BigtableVersionRange range) => new RowFilter { TimestampRangeFilter = GaxPreconditions.CheckNotNull(range, nameof(range)).ToTimestampRange() };