Documentation ¶
Overview ¶
Package oracle implements gdb.Driver, which supports operations for Oracle.
Index ¶
- func New() gdb.Driver
- type Driver
- 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) FilteredLink() string
- 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)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Driver ¶
Driver is the driver for oracle database.
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 for given table. This function is usually used for custom interface definition, you do not need call it manually. The parameter `data` can be type of map/gmap/struct/*struct/[]map/[]struct, etc. Eg: Data(g.Map{"uid": 10000, "name":"john"}) Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
The parameter `option` values are as follows: 0: insert: just insert, if there's unique/primary key in the data, it returns error; 1: replace: if there's unique/primary key in the data, it deletes it from table and inserts a new one; 2: save: if there's unique/primary key in the data, it updates it or else inserts a new one; 3: ignore: if there's unique/primary key in the data, it ignores the inserting;
func (*Driver) FilteredLink ¶
FilteredLink retrieves and returns filtered `linkInfo` that can be using for logging or tracing purpose.
func (*Driver) New ¶
New creates and returns a database object for oracle. It implements the interface of gdb.Driver for extra database driver installation.
func (*Driver) TableFields ¶
func (d *Driver) TableFields( ctx context.Context, table string, schema ...string, ) (fields map[string]*gdb.TableField, err error)
TableFields retrieves and returns the fields' information of specified table of current schema.
Also see DriverMysql.TableFields.