Documentation ¶
Index ¶
- Constants
- func NewCRDBDatastore(url string, options ...Option) (datastore.Datastore, error)
- type Option
- func ConnHealthCheckInterval(interval time.Duration) Option
- func ConnMaxIdleTime(idle time.Duration) Option
- func ConnMaxLifetime(lifetime time.Duration) Option
- func DisableStats(disable bool) Option
- func FollowerReadDelay(delay time.Duration) Option
- func GCWindow(window time.Duration) Option
- func MaxOpenConns(conns int) Option
- func MaxRetries(maxRetries uint8) Option
- func MaxRevisionStalenessPercent(stalenessPercent float64) Option
- func MinOpenConns(conns int) Option
- func OverlapKey(key string) Option
- func OverlapStrategy(strategy string) Option
- func RevisionQuantization(bucketSize time.Duration) Option
- func SplitAtUsersetCount(splitAtUsersetCount uint16) Option
- func WatchBufferLength(watchBufferLength uint16) Option
- func WithEnablePrometheusStats(enablePrometheusStats bool) Option
Constants ¶
const (
Engine = "cockroachdb"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Option ¶ added in v1.0.0
type Option func(*crdbOptions)
Option provides the facility to configure how clients within the CRDB datastore interact with the running CockroachDB database.
func ConnHealthCheckInterval ¶ added in v1.12.0
ConnHealthCheckInterval is the frequency at which both idle and max lifetime connections are checked, and also the frequency at which the minimum number of connections is checked. This happens asynchronously.
This is not the only approach to evaluate these counts: connection idle/max lifetime is also checked when connections are released to the pool.
There is no guarantee connections won't last longer than their specified idle/max lifetime. It's largely dependent on the health-check goroutine being able to pull them from the connection pool. The health-check may not be able to clean up those connections if they are held by the application very frequently.
This value defaults to 30s.
func ConnMaxIdleTime ¶
ConnMaxIdleTime is the duration after which an idle connection will be automatically closed by the health check.
This value defaults to having no maximum.
func ConnMaxLifetime ¶
ConnMaxLifetime is the duration since creation after which a connection will be automatically closed.
This value defaults to having no maximum.
func DisableStats ¶ added in v1.11.0
DisableStats disables recording counts to the stats table
func FollowerReadDelay ¶ added in v1.2.0
FollowerReadDelay is the time delay to apply to enable historial reads.
This value defaults to 0 seconds.
func GCWindow ¶
GCWindow is the maximum age of a passed revision that will be considered valid.
This value defaults to 24 hours.
func MaxOpenConns ¶
MaxOpenConns is the maximum size of the connection pool.
This value defaults to having no maximum.
func MaxRetries ¶ added in v1.0.0
MaxRetries is the maximum number of times a retriable transaction will be client-side retried. Default: 5
func MaxRevisionStalenessPercent ¶ added in v1.0.0
MaxRevisionStalenessPercent is the amount of time, expressed as a percentage of the revision quantization window, that a previously computed rounded revision can still be advertised after the next rounded revision would otherwise be ready.
This value defaults to 0.1 (10%).
func MinOpenConns ¶
MinOpenConns is the minimum size of the connection pool. The health check will increase the number of connections to this amount if it had dropped below.
This value defaults to zero.
func OverlapKey ¶ added in v1.0.0
OverlapKey is a key touched on every write if OverlapStrategy is "static" Default: 'key'
func OverlapStrategy ¶ added in v1.0.0
OverlapStrategy is the strategy used to generate overlap keys on write. Default: 'static'
func RevisionQuantization ¶
RevisionQuantization is the time bucket size to which advertised revisions will be rounded.
This value defaults to 5 seconds.
func SplitAtUsersetCount ¶ added in v1.5.0
SplitAtUsersetCount is the batch size for which userset queries will be split into smaller queries.
This defaults to 1024.
func WatchBufferLength ¶
WatchBufferLength is the number of entries that can be stored in the watch buffer while awaiting read by the client.
This value defaults to 128.
func WithEnablePrometheusStats ¶ added in v1.12.0
WithEnablePrometheusStats marks whether Prometheus metrics provided by the Postgres clients being used by the datastore are enabled.
Prometheus metrics are disabled by default.