ramsql

package
v0.0.22 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2020 License: BSD-3-Clause Imports: 17 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitSchemas

func InitSchemas(db *sql.DB, sqlfile string) error

InitSchemas execute each query in provided sql file Expected sql file path into $GOPATH/src

Types

type Conn

type Conn struct {
	// contains filtered or unexported fields
}

Conn implements sql/driver Conn interface

func (*Conn) Begin

func (c *Conn) Begin() (driver.Tx, error)

Begin starts and returns a new transaction.

func (*Conn) Close

func (c *Conn) Close() error

Close invalidates and potentially stops any current prepared statements and transactions, marking this connection as no longer in use.

Because the sql package maintains a free pool of connections and only calls Close when there's a surplus of idle connections, it shouldn't be necessary for drivers to do their own connection caching.

func (*Conn) Prepare

func (c *Conn) Prepare(query string) (driver.Stmt, error)

Prepare returns a prepared statement, bound to this connection.

type Driver

type Driver struct {
	// Mutex protect the map of Server
	sync.Mutex
	// contains filtered or unexported fields
}

Driver is the driver entrypoint, implementing database/sql/driver interface

func (*Driver) Open

func (rs *Driver) Open(dsn string) (conn driver.Conn, err error)

Open return an active connection so RamSQL server If there is no connection in pool, start a new server. After first instantiation of the server,

type Result

type Result struct {
	// contains filtered or unexported fields
}

Result is the type returned by sql/driver after an Exec statement.

func (*Result) LastInsertId

func (r *Result) LastInsertId() (int64, error)

LastInsertId returns the database's auto-generated ID after, for example, an INSERT into a table with primary key.

func (*Result) RowsAffected

func (r *Result) RowsAffected() (int64, error)

RowsAffected returns the number of rows affected by the query.

type Rows

type Rows struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Rows implements the sql/driver Rows interface

func (*Rows) Close

func (r *Rows) Close() error

Close closes the rows iterator.

func (*Rows) Columns

func (r *Rows) Columns() []string

Columns returns the names of the columns. The number of columns of the result is inferred from the length of the slice. If a particular column name isn't known, an empty string should be returned for that entry.

func (*Rows) Next

func (r *Rows) Next(dest []driver.Value) (err error)

Next is called to populate the next row of data into the provided slice. The provided slice will be the same size as the Columns() are wide.

The dest slice may be populated only with a driver Value type, but excluding string. All string values must be converted to []byte.

Next should return io.EOF when there are no more rows.

type Server

type Server struct {

	// Kill server on last connection closing
	sync.Mutex
	// contains filtered or unexported fields
}

Server structs holds engine for each sql.DB instance. This way a sql.DB cann open as much connection to engine as wanted without colliding with another engine (during tests for example) with the unique constraint of providing a unique DataSourceName

type Stmt

type Stmt struct {
	// contains filtered or unexported fields
}

Stmt implements the Statement interface of sql/driver

func (*Stmt) Close

func (s *Stmt) Close() error

Close closes the statement.

As of Go 1.1, a Stmt will not be closed if it's in use by any queries.

func (*Stmt) Exec

func (s *Stmt) Exec(args []driver.Value) (r driver.Result, err error)

Exec executes a query that doesn't return rows, such as an INSERT or UPDATE.

func (*Stmt) NumInput

func (s *Stmt) NumInput() int

NumInput returns the number of placeholder parameters.

If NumInput returns >= 0, the sql package will sanity check argument counts from callers and return errors to the caller before the statement's Exec or Query methods are called.

NumInput may also return -1, if the driver doesn't know its number of placeholders. In that case, the sql package will not sanity check Exec or Query argument counts.

func (*Stmt) Query

func (s *Stmt) Query(args []driver.Value) (r driver.Rows, err error)

Query executes a query that may return rows, such as a SELECT.

type Tx

type Tx struct {
	// contains filtered or unexported fields
}

Tx implements SQL transaction method

func (*Tx) Commit

func (t *Tx) Commit() error

Commit the transaction on server

func (*Tx) Rollback

func (t *Tx) Rollback() error

Rollback all changes

Jump to

Keyboard shortcuts

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