public class BigtableVersionRange : IEquatable<BigtableVersionRange>
Reference documentation and code samples for the Google Bigtable v2 API class BigtableVersionRange.
A contiguous range of versions.
Implements
IEquatableBigtableVersionRangeNamespace
Google.Cloud.Bigtable.V2Assembly
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 | |
---|---|
Name | Description |
start | BigtableVersion Inclusive lower bound. If null, interpreted as 0. |
end | BigtableVersion Exclusive upper bound. If null, interpreted as infinity. |
BigtableVersionRange(DateTime?, DateTime?)
public BigtableVersionRange(DateTime? startTimestamp, DateTime? endTimestamp)
Creates a new BigtableVersionRange.
Parameters | |
---|---|
Name | Description |
startTimestamp | DateTime 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. |
endTimestamp | DateTime 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. |
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 | |
---|---|
Name | Description |
start | long 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. |
end | long 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. |
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 | |
---|---|
Type | Description |
BigtableVersion |
Start
public BigtableVersion? Start { get; }
Gets the inclusive lower bound. If null, interpreted as 0.
Property Value | |
---|---|
Type | Description |
BigtableVersion |
Methods
GetHashCode()
public override int GetHashCode()
Returns | |
---|---|
Type | Description |
int |
ToString()
public override string ToString()
Returns | |
---|---|
Type | Description |
string |