Google Bigtable v2 API - Class BigtableVersionRange (3.12.0)

public class BigtableVersionRange : IEquatable<BigtableVersionRange>

Reference documentation and code samples for the Google Bigtable v2 API class BigtableVersionRange.

A contiguous range of versions.

Inheritance

object > BigtableVersionRange

Namespace

Google.Cloud.Bigtable.V2

Assembly

Google.Cloud.Bigtable.V2.dll

Remarks

Note: version values are stored on the server as if they are microseconds since the Unix epoch. However, the server only supports millisecond granularity, so the server only allows microseconds in multiples of 1,000. BigtableVersion attempts to hide this complexity by exposing its underlying Value in terms of milliseconds, so if desired, a custom versioning scheme of 1, 2, ... can be used rather than 1000, 2000, ... However, access to the underlying microsecond value is still provided via Micros.

Note: when using ReadModifyWriteRow, modified columns automatically use a server version, which is based on the current timestamp since the Unix epoch. For those columns, other reads and writes should use BigtableVersion values constructed from DateTime values, as opposed to using a custom versioning scheme with 64-bit values.

Constructors

BigtableVersionRange(BigtableVersion?, BigtableVersion?)

public BigtableVersionRange(BigtableVersion? start, BigtableVersion? end)

Creates a new BigtableVersionRange.

Parameters
NameDescription
startBigtableVersion

Inclusive lower bound. If null, interpreted as 0.

endBigtableVersion

Exclusive upper bound. If null, interpreted as infinity.

BigtableVersionRange(DateTime?, DateTime?)

public BigtableVersionRange(DateTime? startTimestamp, DateTime? endTimestamp)

Creates a new BigtableVersionRange.

Parameters
NameDescription
startTimestampDateTime

Inclusive lower bound timestamp whose milliseconds since the Unix epoch should be used as the version value. If null, interpreted as 0. It must be specified in UTC.

endTimestampDateTime

Exclusive upper bound timestamp whose milliseconds since the Unix epoch should be used as the version value. If null, interpreted as infinity. It must be specified in UTC.

Remarks

Note: version values are stored on the server as if they are microseconds since the Unix epoch. However, the server only supports millisecond granularity, so the server only allows microseconds in multiples of 1,000. BigtableVersion attempts to hide this complexity by exposing its underlying Value in terms of milliseconds, so if desired, a custom versioning scheme of 1, 2, ... can be used rather than 1000, 2000, ... However, access to the underlying microsecond value is still provided via Micros.

Note: when using ReadModifyWriteRow, modified columns automatically use a server version, which is based on the current timestamp since the Unix epoch. For those columns, other reads and writes should use BigtableVersion values constructed from DateTime values, as opposed to using a custom versioning scheme with 64-bit values.

BigtableVersionRange(long?, long?)

public BigtableVersionRange(long? start, long? end)

Creates a new BigtableVersionRange.

Parameters
NameDescription
startlong

Inclusive lower bound non-negative version value, or -1 to initialize from the milliseconds of DateTime.UtcNow. Must be less than or equal to 9223372036854775. If null, interpreted as 0.

endlong

Exclusive upper bound non-negative version value, or -1 to initialize from the milliseconds of DateTime.UtcNow. Must be less than or equal to 9223372036854775. If null, interpreted as infinity.

Remarks

Note: version values are stored on the server as if they are microseconds since the Unix epoch. However, the server only supports millisecond granularity, so the server only allows microseconds in multiples of 1,000. BigtableVersion attempts to hide this complexity by exposing its underlying Value in terms of milliseconds, so if desired, a custom versioning scheme of 1, 2, ... can be used rather than 1000, 2000, ... However, access to the underlying microsecond value is still provided via Micros.

Note: when using ReadModifyWriteRow, modified columns automatically use a server version, which is based on the current timestamp since the Unix epoch. For those columns, other reads and writes should use BigtableVersion values constructed from DateTime values, as opposed to using a custom versioning scheme with 64-bit values.

Properties

End

public BigtableVersion? End { get; }

Gets the exclusive upper bound. If null, interpreted as infinity.

Property Value
TypeDescription
BigtableVersion

Start

public BigtableVersion? Start { get; }

Gets the inclusive lower bound. If null, interpreted as 0.

Property Value
TypeDescription
BigtableVersion

Methods

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides