sqlutils

package
v0.19.4 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const DateTimeFormat = "2006-01-02 15:04:05.999999"

Variables

This section is empty.

Functions

func Args

func Args(args ...any) []any

Convert variable length arguments into arguments array

func ExecNoPrepare

func ExecNoPrepare(db *sql.DB, query string, args ...any) (res sql.Result, err error)

ExecNoPrepare executes given query using given args on given DB, without using prepared statements.

func GetGenericDB

func GetGenericDB(driverName, dataSourceName string) (*sql.DB, bool, error)

GetGenericDB returns a DB instance based on uri. bool result indicates whether the DB was returned from cache; err

func GetSQLiteDB

func GetSQLiteDB(dbFile string) (*sql.DB, bool, error)

GetSQLiteDB returns a SQLite DB instance based on DB file name. bool result indicates whether the DB was returned from cache; err

func IsAlterTable

func IsAlterTable(statement string) bool

func IsCreateIndex

func IsCreateIndex(statement string) bool

func IsCreateTable

func IsCreateTable(statement string) bool

func IsDropIndex

func IsDropIndex(statement string) bool

func IsInsert

func IsInsert(statement string) bool

func NilIfZero

func NilIfZero(i int64) any

func QueryRowsMap

func QueryRowsMap(db *sql.DB, query string, on_row func(RowMap) error, args ...any) (err error)

QueryRowsMap is a convenience function allowing querying a result set while poviding a callback function activated per read row.

func ScanRowsToArrays

func ScanRowsToArrays(rows *sql.Rows, on_row func([]CellData) error) error

ScanRowsToArrays is a convenience function, typically not called directly, which maps rows already read from the databse into arrays of NullString

func ScanRowsToMaps

func ScanRowsToMaps(rows *sql.Rows, on_row func(RowMap) error) error

ScanRowsToMaps is a convenience function, typically not called directly, which maps rows already read from the databse into RowMap entries.

func ToSqlite3CreateTable

func ToSqlite3CreateTable(statement string) string

func ToSqlite3Dialect

func ToSqlite3Dialect(statement string) (translated string)

func ToSqlite3Insert

func ToSqlite3Insert(statement string) string

Types

type CellData

type CellData sql.NullString

CellData is the result of a single (atomic) column in a single row

func RowToArray

func RowToArray(rows *sql.Rows, columns []string) ([]CellData, error)

RowToArray is a convenience function, typically not called directly, which maps a single read database row into a NullString

func (*CellData) MarshalJSON

func (this *CellData) MarshalJSON() ([]byte, error)

func (*CellData) NullString

func (this *CellData) NullString() *sql.NullString

func (*CellData) UnmarshalJSON

func (this *CellData) UnmarshalJSON(b []byte) error

UnmarshalJSON reds this object from JSON

type RowData

type RowData []CellData

RowData is the result of a single row, in positioned array format

func (*RowData) MarshalJSON

func (this *RowData) MarshalJSON() ([]byte, error)

MarshalJSON will marshal this map as JSON

type RowMap

type RowMap map[string]CellData

RowMap represents one row in a result set. Its objective is to allow for easy, typed getters by column name.

func (*RowMap) GetBool

func (this *RowMap) GetBool(key string) bool

func (*RowMap) GetInt

func (this *RowMap) GetInt(key string) int

func (*RowMap) GetInt32 added in v0.17.0

func (this *RowMap) GetInt32(key string) int32

func (*RowMap) GetInt64

func (this *RowMap) GetInt64(key string) int64

func (*RowMap) GetNullInt64

func (this *RowMap) GetNullInt64(key string) sql.NullInt64

func (*RowMap) GetString

func (this *RowMap) GetString(key string) string

func (*RowMap) GetTime

func (this *RowMap) GetTime(key string) time.Time

func (*RowMap) GetUint

func (this *RowMap) GetUint(key string) uint

func (*RowMap) GetUint32 added in v0.17.0

func (this *RowMap) GetUint32(key string) uint32

func (*RowMap) GetUint64

func (this *RowMap) GetUint64(key string) uint64

Jump to

Keyboard shortcuts

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