cockroach: github.com/abhinavdahiya/cockroach/testutils/sqlutils Index | Files

package sqlutils

import "github.com/abhinavdahiya/cockroach/testutils/sqlutils"

Index

Package Files

pg_url.go sql_runner.go table_gen.go

func CreateTable Uses

func CreateTable(
    t *testing.T, sqlDB *gosql.DB, tableName, schema string, numRows int, fn GenRowFn,
)

CreateTable creates a table in the "test" database with the given number of rows and using the given row generation function.

func IntToEnglish Uses

func IntToEnglish(val int) string

IntToEnglish returns an English (pilot style) string for the given integer, for example:

IntToEnglish(135) = "one-three-five"

func PGUrl Uses

func PGUrl(t testing.TB, servingAddr, user, prefix string) (url.URL, func())

PGUrl returns a postgres connection url which connects to this server with the given user, and a cleanup function which must be called after all connections created using the connection url have been closed.

In order to connect securely using postgres, this method will create temporary on-disk copies of certain embedded security certificates. The certificates will be created in a new temporary directory. The returned cleanup function will delete this temporary directory. Note that two calls to this function for the same `user` will generate different copies of the certificates, so the cleanup function must always be called.

Args:

prefix: A prefix to be prepended to the temp file names generated, for debugging.

func RowEnglishFn Uses

func RowEnglishFn(row int) parser.Datum

RowEnglishFn is a GenValueFn which returns an English representation of the row number, as a DString

func RowIdxFn Uses

func RowIdxFn(row int) parser.Datum

RowIdxFn is a GenValueFn that returns the row number as a DInt

type GenRowFn Uses

type GenRowFn func(row int) []parser.Datum

GenRowFn is a function that takes a (1-based) row index and returns a row of Datums that will be converted to strings to form part of an INSERT statement.

func ToRowFn Uses

func ToRowFn(fn ...GenValueFn) GenRowFn

ToRowFn creates a GenRowFn that returns rows of values generated by the given GenValueFns (one per column).

type GenValueFn Uses

type GenValueFn func(row int) parser.Datum

GenValueFn is a function that takes a (1-based) row index and returns a Datum which will be converted to a string to form part of an INSERT statement.

func RowModuloFn Uses

func RowModuloFn(modulo int) GenValueFn

RowModuloFn creates a GenValueFn that returns the row number modulo a given value as a DInt

type SQLRunner Uses

type SQLRunner struct {
    testing.TB
    DB  *gosql.DB
}

SQLRunner wraps a testing.TB and *gosql.DB connection and provides convenience functions to run SQL statements and fail the test on any errors.

func MakeSQLRunner Uses

func MakeSQLRunner(tb testing.TB, db *gosql.DB) *SQLRunner

MakeSQLRunner returns a SQLRunner for the given database connection.

func (*SQLRunner) Exec Uses

func (sr *SQLRunner) Exec(query string, args ...interface{}) gosql.Result

Exec is a wrapper around gosql.Exec that kills the test on error.

func (*SQLRunner) ExecRowsAffected Uses

func (sr *SQLRunner) ExecRowsAffected(expRowsAffected int, query string, args ...interface{})

ExecRowsAffected executes the statement and verifies that RowsAffected() matches the expected value. It kills the test on errors.

func (*SQLRunner) Query Uses

func (sr *SQLRunner) Query(query string, args ...interface{}) *gosql.Rows

Query is a wrapper around gosql.Query that kills the test on error.

Package sqlutils imports 14 packages (graph). Updated 2017-03-13. Refresh now. Tools for package owners. This is a dead-end fork (no commits since the fork).