pgutil

package
v1.23.1-rc-multipart Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2021 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Overview

Package pgutil contains utilities for postgres

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByteaArray added in v1.8.1

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[].

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 DropSchema

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

DropSchema drops the named schema.

func Float8Array added in v1.8.1

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 Int4Array added in v1.8.1

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 added in v1.8.1

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 IsConstraintError

func IsConstraintError(err error) bool

IsConstraintError checks if given error is about constraint violation.

func NodeIDArray added in v1.8.1

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 OpenUnique added in v0.27.0

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/storj/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 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 added in v1.8.1

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 added in v1.14.1

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 added in v1.8.1

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 UnquoteIdentifier added in v0.27.0

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
Package pgerrcode implements postgres error extraction without depending on a postgres library.
Package pgerrcode implements postgres error extraction without depending on a postgres library.

Jump to

Keyboard shortcuts

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