driver

package
v0.0.0-...-d5321c7 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewConn

func NewConn(endpoint string, userAgent string) driver.Conn

NewConn initialise basically an http.Client wrapper

func NewQuery

func NewQuery(q string) ([]byte, error)

NewQuery initialise a marshal ready DruidQuery struct

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 {
}

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

func NewDriver

func NewDriver() *Driver

NewDriver creates a driver object

func (*Driver) Open

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

type DruidQuery

type DruidQuery struct {
	Query        string `json:"query"`
	ResultFormat string `json:"resultFormat"`
	Header       bool   `json:"header"`
	TypesHeader  bool   `json:"typesHeader"`
}

DruidQuery JSON format on /druid/v2/sql

type Rows

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

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) HasNextResultSet

func (r *Rows) HasNextResultSet() bool

HasNextResultSet implements driver.RowsNextResultSet

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.

func (*Rows) NextResultSet

func (r *Rows) NextResultSet() error

NextResultSet implements driver.RowsNextResultSet

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