query

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: May 15, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrResultClosed = errors.New("result already closed")

ErrResultClosed is returned when trying to close an already closed result.

Functions

This section is empty.

Types

type AlterStmt

type AlterStmt struct {
	TableName    string
	NewTableName string
}

AlterStmt is a DSL that allows creating a full ALTER TABLE query.

func (AlterStmt) IsReadOnly

func (stmt AlterStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (AlterStmt) Run

func (stmt AlterStmt) Run(tx *database.Transaction, _ []expr.Param) (Result, error)

Run runs the ALTER TABLE statement in the given transaction. It implements the Statement interface.

type AlterTableAddField

type AlterTableAddField struct {
	TableName  string
	Constraint database.FieldConstraint
}

func (AlterTableAddField) IsReadOnly

func (stmt AlterTableAddField) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (AlterTableAddField) Run

Run runs the ALTER TABLE ADD FIELD statement in the given transaction. It implements the Statement interface.

type BeginStmt

type BeginStmt struct {
	Writable bool
}

BeginStmt is a statement that creates a new transaction.

func (BeginStmt) IsReadOnly

func (stmt BeginStmt) IsReadOnly() bool

func (BeginStmt) Run

func (stmt BeginStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

type CommitStmt

type CommitStmt struct{}

CommitStmt is a statement that commits the current active transaction.

func (CommitStmt) IsReadOnly

func (stmt CommitStmt) IsReadOnly() bool

func (CommitStmt) Run

func (stmt CommitStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

type CreateIndexStmt

type CreateIndexStmt struct {
	IndexName   string
	TableName   string
	Paths       []document.Path
	IfNotExists bool
	Unique      bool
}

CreateIndexStmt is a DSL that allows creating a full CREATE INDEX statement. It is typically created using the CreateIndex function.

func (CreateIndexStmt) IsReadOnly

func (stmt CreateIndexStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (CreateIndexStmt) Run

func (stmt CreateIndexStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

Run runs the Create index statement in the given transaction. It implements the Statement interface.

type CreateTableStmt

type CreateTableStmt struct {
	TableName   string
	IfNotExists bool
	Info        database.TableInfo
}

CreateTableStmt is a DSL that allows creating a full CREATE TABLE statement.

func (CreateTableStmt) IsReadOnly

func (stmt CreateTableStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (CreateTableStmt) Run

func (stmt CreateTableStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

Run runs the Create table statement in the given transaction. It implements the Statement interface.

type DropIndexStmt

type DropIndexStmt struct {
	IndexName string
	IfExists  bool
}

DropIndexStmt is a DSL that allows creating a DROP INDEX query.

func (DropIndexStmt) IsReadOnly

func (stmt DropIndexStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (DropIndexStmt) Run

func (stmt DropIndexStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

Run runs the DropIndex statement in the given transaction. It implements the Statement interface.

type DropTableStmt

type DropTableStmt struct {
	TableName string
	IfExists  bool
}

DropTableStmt is a DSL that allows creating a DROP TABLE query.

func (DropTableStmt) IsReadOnly

func (stmt DropTableStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (DropTableStmt) Run

func (stmt DropTableStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

Run runs the DropTable statement in the given transaction. It implements the Statement interface.

type Query

type Query struct {
	Statements []Statement
	// contains filtered or unexported fields
}

A Query can execute statements against the database. It can read or write data from any table, or even alter the structure of the database. Results are returned as streams.

func New

func New(statements ...Statement) Query

New creates a new query with the given statements.

func (Query) Exec

func (q Query) Exec(tx *database.Transaction, args []expr.Param) (*Result, error)

Exec the query within the given transaction.

func (Query) Run

func (q Query) Run(ctx context.Context, db *database.Database, args []expr.Param) (*Result, error)

Run executes all the statements in their own transaction and returns the last result.

type ReIndexStmt

type ReIndexStmt struct {
	TableOrIndexName string
}

ReIndexStmt is a DSL that allows creating a full REINDEX statement.

func (ReIndexStmt) IsReadOnly

func (stmt ReIndexStmt) IsReadOnly() bool

IsReadOnly always returns false. It implements the Statement interface.

func (ReIndexStmt) Run

func (stmt ReIndexStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

Run runs the Reindex statement in the given transaction. It implements the Statement interface.

type Result

type Result struct {
	Iterator document.Iterator
	Tx       *database.Transaction
	// contains filtered or unexported fields
}

Result of a query.

func (*Result) Close

func (r *Result) Close() (err error)

Close the result stream. After closing the result, Stream is not supposed to be used. If the result stream was already closed, it returns ErrResultClosed.

func (*Result) Iterate

func (r *Result) Iterate(fn func(d document.Document) error) error

type RollbackStmt

type RollbackStmt struct{}

RollbackStmt is a statement that rollbacks the current active transaction.

func (RollbackStmt) IsReadOnly

func (stmt RollbackStmt) IsReadOnly() bool

func (RollbackStmt) Run

func (stmt RollbackStmt) Run(tx *database.Transaction, args []expr.Param) (Result, error)

type Statement

type Statement interface {
	Run(*database.Transaction, []expr.Param) (Result, error)
	IsReadOnly() bool
}

A Statement represents a unique action that can be executed against the database.

Directories

Path Synopsis
Package glob implements wildcard pattern matching algorithms for strings.
Package glob implements wildcard pattern matching algorithms for strings.

Jump to

Keyboard shortcuts

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