pgutil

package
v0.0.0-...-0123b22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 22 Imported by: 6

Documentation

Overview

Deprecated: Use storj.io/common/pgutil instead.

Package pgutil contains utilities for postgres

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByteaArray

func ByteaArray(bytesArray [][]byte) *pgtype.ByteaArray

ByteaArray returns an object usable by pg drivers for passing a [][]byte slice into a database as type BYTEA[].

If any elements of bytesArray are nil, they will be represented in the database as an empty bytes array (not NULL). See also NullByteaArray.

func CheckApplicationName

func CheckApplicationName(s string, app string) (string, error)

CheckApplicationName ensures that the Connection String contains an application name.

func ConnstrWithSchema

func ConnstrWithSchema(connstr, schema string) string

ConnstrWithSchema adds schema to a connection string.

func CreateRandomTestingSchemaName

func CreateRandomTestingSchemaName(n int) string

CreateRandomTestingSchemaName creates a random schema name string.

func CreateSchema

func CreateSchema(ctx context.Context, db Execer, schema string) (err error)

CreateSchema creates a schema if it doesn't exist.

func DateArray

func DateArray(timeSlice []time.Time) *pgtype.DateArray

DateArray returns an object usable by pg drivers for passing a []time.Time slice into a database as type Date[].

func DropSchema

func DropSchema(ctx context.Context, db Execer, schema string) error

DropSchema drops the named schema.

func Float8Array

func Float8Array(floats []float64) *pgtype.Float8Array

Float8Array returns an object usable by pg drivers for passing a []float64 slice into a database as type FLOAT8[].

func Int2Array

func Int2Array(ints []int16) *pgtype.Int2Array

Int2Array returns an object usable by pg drivers for passing a []int16 slice into a database as type INT2[].

func Int4Array

func Int4Array(ints []int32) *pgtype.Int4Array

Int4Array returns an object usable by pg drivers for passing a []int32 slice into a database as type INT4[].

func Int8Array

func Int8Array(bigInts []int64) *pgtype.Int8Array

Int8Array returns an object usable by pg drivers for passing a []int64 slice into a database as type INT8[].

func NodeIDArray

func NodeIDArray(nodeIDs []storj.NodeID) *pgtype.ByteaArray

NodeIDArray returns an object usable by pg drivers for passing a []storj.NodeID slice into a database as type BYTEA[].

func NullByteaArray

func NullByteaArray(bytesArray [][]byte) *pgtype.ByteaArray

NullByteaArray returns an object usable by pg drivers for passing a [][]byte slice into a database as type BYTEA[]. It allows for elements of bytesArray to be nil, which will correspond to a NULL value in the database.

This is probably the way that ByteaArray should have worked all along, but we won't change it now in case some things depend on the existing behavior.

func NullTimestampTZArray

func NullTimestampTZArray(timeSlice []*time.Time) *pgtype.TimestamptzArray

NullTimestampTZArray returns an object usable by pg drivers for passing a []*time.Time slice into a database as type TIMESTAMPTZ[].

func OpenUnique

func OpenUnique(ctx context.Context, connstr string, schemaPrefix string) (*dbutil.TempDatabase, error)

OpenUnique opens a postgres database with a temporary unique schema, which will be cleaned up when closed. It is expected that this should normally be used by way of "storj.io/private/dbutil/tempdb".OpenUnique() instead of calling it directly.

func ParseSchemaFromConnstr

func ParseSchemaFromConnstr(connstr string) (string, error)

ParseSchemaFromConnstr returns the name of the schema parsed from the connection string if one is provided.

func PlacementConstraintArray

func PlacementConstraintArray(constraints []storj.PlacementConstraint) *pgtype.Int2Array

PlacementConstraintArray returns an object usable by pg drivers for passing a []storj.PlacementConstraint slice into a database as type INT2[].

func QueryData

func QueryData(ctx context.Context, db dbschema.Queryer, schema *dbschema.Schema) (*dbschema.Data, error)

QueryData loads all data from tables.

func QuerySchema

func QuerySchema(ctx context.Context, db dbschema.Queryer) (*dbschema.Schema, error)

QuerySchema loads the schema from postgres database.

func QuerySnapshot

func QuerySnapshot(ctx context.Context, db dbschema.Queryer) (*dbschema.Snapshot, error)

QuerySnapshot loads snapshot from database.

func QuoteIdentifier

func QuoteIdentifier(ident string) string

QuoteIdentifier quotes an identifier for use in an interpolated SQL string.

func QuoteSchema

func QuoteSchema(schema string) string

QuoteSchema quotes schema name for.

func TextArray

func TextArray(stringSlice []string) *pgtype.TextArray

TextArray returns an object usable by pg drivers for passing a []string slice into a database as type TEXT[].

func TimestampTZArray

func TimestampTZArray(timeSlice []time.Time) *pgtype.TimestamptzArray

TimestampTZArray returns an object usable by pg drivers for passing a []time.Time slice into a database as type TIMESTAMPTZ[].

func UUIDArray

func UUIDArray(uuids []uuid.UUID) *pgtype.ByteaArray

UUIDArray returns an object usable by pg drivers for passing a []uuid.UUID slice into a database as type BYTEA[].

func UnquoteIdentifier

func UnquoteIdentifier(quotedIdent string) string

UnquoteIdentifier is the analog of QuoteIdentifier.

Types

type Execer

type Execer interface {
	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
}

Execer is for executing sql.

Directories

Path Synopsis
Deprecated: Use storj.io/common/pgerrcode instead.
Deprecated: Use storj.io/common/pgerrcode instead.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL