Documentation ¶
Index ¶
- func CreateTable(t *testing.T, sqlDB *gosql.DB, tableName, schema string, numRows int, ...)
- func IntToEnglish(val int) string
- func PGUrl(t testing.TB, servingAddr, prefix string, user *url.Userinfo) (url.URL, func())
- func QueryDatabaseID(sqlDB *gosql.DB, dbName string) (uint32, error)
- func QueryTableID(sqlDB *gosql.DB, dbName, tableName string) (uint32, error)
- func RowEnglishFn(row int) parser.Datum
- func RowIdxFn(row int) parser.Datum
- type GenRowFn
- type GenValueFn
- type Row
- type SQLRunner
- func (sr *SQLRunner) CheckQueryResults(query string, expected [][]string)
- func (sr *SQLRunner) Exec(query string, args ...interface{}) gosql.Result
- func (sr *SQLRunner) ExecRowsAffected(expRowsAffected int, query string, args ...interface{})
- func (sr *SQLRunner) Query(query string, args ...interface{}) *gosql.Rows
- func (sr *SQLRunner) QueryRow(query string, args ...interface{}) *Row
- func (sr *SQLRunner) QueryStr(query string, args ...interface{}) [][]string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateTable ¶
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 ¶
IntToEnglish returns an English (pilot style) string for the given integer, for example:
IntToEnglish(135) = "one-three-five"
func PGUrl ¶
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 QueryDatabaseID ¶
QueryDatabaseID returns the database ID of the specified database using the system.namespace table.
func QueryTableID ¶
QueryTableID returns the table ID of the specified database.table using the system.namespace table.
func RowEnglishFn ¶
RowEnglishFn is a GenValueFn which returns an English representation of the row number, as a DString
Types ¶
type GenRowFn ¶
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 ¶
func ToRowFn(fn ...GenValueFn) GenRowFn
ToRowFn creates a GenRowFn that returns rows of values generated by the given GenValueFns (one per column).
type GenValueFn ¶
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 ¶
func RowModuloFn(modulo int) GenValueFn
RowModuloFn creates a GenValueFn that returns the row number modulo a given value as a DInt
type SQLRunner ¶
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 ¶
MakeSQLRunner returns a SQLRunner for the given database connection.
func (*SQLRunner) CheckQueryResults ¶
CheckQueryResults checks that the rows returned by a query match the expected response.
func (*SQLRunner) ExecRowsAffected ¶
ExecRowsAffected executes the statement and verifies that RowsAffected() matches the expected value. It kills the test on errors.