Documentation ¶
Overview ¶
Package pgsql implements gdb.Driver, which supports operations for database PostgreSQL.
Note: 1. It does not support Save/Replace features. 2. It does not support Insert Ignore features.
Index ¶
- func New() gdb.Driver
- type Driver
- func (d *Driver) CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue interface{}) (gdb.LocalType, error)
- func (d *Driver) ConvertValueForLocal(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error)
- func (d *Driver) DoExec(ctx context.Context, link gdb.Link, sql string, args ...interface{}) (result sql.Result, err error)
- func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error)
- func (d *Driver) DoInsert(ctx context.Context, link gdb.Link, table string, list gdb.List, ...) (result sql.Result, err error)
- func (d *Driver) GetChars() (charLeft string, charRight string)
- func (d *Driver) New(core *gdb.Core, node *gdb.ConfigNode) (gdb.DB, error)
- func (d *Driver) Open(config *gdb.ConfigNode) (db *sql.DB, err error)
- func (d *Driver) TableFields(ctx context.Context, table string, schema ...string) (fields map[string]*gdb.TableField, err error)
- func (d *Driver) Tables(ctx context.Context, schema ...string) (tables []string, err error)
- type Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Driver ¶
Driver is the driver for postgresql database.
func (*Driver) CheckLocalTypeForField ¶
func (d *Driver) CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue interface{}) (gdb.LocalType, error)
CheckLocalTypeForField checks and returns corresponding local golang type for given db type.
func (*Driver) ConvertValueForLocal ¶
func (d *Driver) ConvertValueForLocal(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error)
ConvertValueForLocal converts value to local Golang type of value according field type name from database. The parameter `fieldType` is in lower case, like: `float(5,2)`, `unsigned double(5,2)`, `decimal(10,2)`, `char(45)`, `varchar(100)`, etc.
func (*Driver) DoExec ¶
func (d *Driver) DoExec(ctx context.Context, link gdb.Link, sql string, args ...interface{}) (result sql.Result, err error)
DoExec commits the sql string and its arguments to underlying driver through given link object and returns the execution result.
func (*Driver) DoFilter ¶
func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error)
DoFilter deals with the sql string before commits it to underlying sql driver.
func (*Driver) DoInsert ¶
func (d *Driver) DoInsert(ctx context.Context, link gdb.Link, table string, list gdb.List, option gdb.DoInsertOption) (result sql.Result, err error)
DoInsert inserts or updates data forF given table.
func (*Driver) GetChars ¶
GetChars returns the security char for this type of database.
func (*Driver) New ¶
New creates and returns a database object for postgresql. It implements the interface of gdb.Driver for extra database driver installation.
func (*Driver) Open ¶
Open creates and returns an underlying sql.DB object for pgsql. https://pkg.go.dev/github.com/lib/pq