resultset

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2025 License: Apache-2.0 Imports: 8 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Arguments added in v1.5.2

type Arguments = query.Arguments

Arguments represents the executor arguments.

type Column

type Column interface {
	// Name returns the column name.
	Name() string
	// DataType returns the data type.
	DataType() DataType
	// Constraint returns the column constraint.
	Constraint() Constraint
	// IsFunction returns true whether the column is a function.
	IsFunction() bool
	// Function returns the function if the column is a function.
	Function() (Function, bool)
	// Arguments returns the executor arguments.
	Arguments() Arguments
	// DefinitionString returns the definition string representation.
	DefinitionString() string
	// String returns the string representation of the column.
	String() string
	// ColumnHelper provides additional methods for columns in a query.
	ColumnHelper
}

Column represents a column interface in a resultset.

func NewColumn

func NewColumn(opts ...ColumnOption) Column

ResultSetColumn represents a resultset column interface.

func NewColumnFrom

func NewColumnFrom(column query.Column) (Column, error)

NewColumnFrom returns a new resultset column from the specified column.

func NewColumnsFrom

func NewColumnsFrom(column query.Columns) []Column

NewColumnsFrom returns a new resultset columns from the specified column list.

type ColumnHelper added in v1.5.2

type ColumnHelper interface {
	// IsAsterisk returns true if the column is an asterisk.
	IsAsterisk() bool
	// IsFunction returns true if the column is a function.
	IsFunction() bool
}

ColumnHelper provides additional methods for columns in a query.

type ColumnOption

type ColumnOption func(*column)

ResultSetColumnOptions represents a functional option for resultsetColumn.

func WithColumnConstraint

func WithColumnConstraint(c Constraint) ColumnOption

WithColumnConstraint returns a functional option for resultsetColumn.

func WithColumnFunction added in v1.5.2

func WithColumnFunction(fn Function) ColumnOption

WithColumnFunction returns a functional option for resultsetColumn.

func WithColumnName

func WithColumnName(name string) ColumnOption

WithColumnName returns a functional option for resultsetColumn.

func WithColumnType

func WithColumnType(t DataType) ColumnOption

WithColumnType returns a functional option for resultsetColumn.

type Constraint

type Constraint = query.Constraint

Constraint represents a column constraint.

type DataType

type DataType = query.DataType

DataType represents a data type.

type Function added in v1.5.2

type Function = query.Function

Function represents a function in a column.

type MapRow added in v1.5.2

type MapRow = map[string]any

MapRow represents a single row in a result set as a map.

type MapRows added in v1.5.2

type MapRows = []map[string]any

MapRows is a slice of map[string]any.

func NewMapRows added in v1.5.2

func NewMapRows() MapRows

NewMapRows creates a new MapRows instance.

type ResultSet

type ResultSet interface {
	// Schema returns the schema.
	Schema() Schema
	// Next returns the next row.
	Next() bool
	// Row returns the current row.
	Row() (Row, error)
	// RowsAffected returns the number of rows affected.
	RowsAffected() uint
	// Close closes the resultset.
	Close() error
}

ResultSet represents a response resultset interface.

func NewResultSet

func NewResultSet(opts ...ResultSetOption) ResultSet

NewResultSet returns a new ResultSet.

func NewResultSetFrom added in v1.5.2

func NewResultSetFrom(opts ...ResultSetOption) (ResultSet, error)

NewResultSetFrom creates a new ResultSet from the given options.

type ResultSetOption

type ResultSetOption func(*resultset) error

ResultSet represents a response resultset interface.

func WithResultSetLimit added in v1.5.2

func WithResultSetLimit(limit uint) ResultSetOption

WithResultSetLimit returns a resultset option to set the limit.

func WithResultSetOffset added in v1.5.2

func WithResultSetOffset(offset uint) ResultSetOption

WithResultSetOffset returns a resultset option to set the offset.

func WithResultSetRows added in v1.5.0

func WithResultSetRows(rows []Row) ResultSetOption

WithResultSetRows returns a resultset option to set the rows.

func WithResultSetRowsAffected added in v1.5.0

func WithResultSetRowsAffected(rowsAffected uint) ResultSetOption

WithResultSetRowsAffected returns a resultset option to set the rows affected.

func WithResultSetRowsOf added in v1.5.2

func WithResultSetRowsOf(v any) ResultSetOption

WithResultSetRowsOf returns a resultset option to set the rows from a given value.

func WithResultSetSchema added in v1.5.0

func WithResultSetSchema(schema Schema) ResultSetOption

WithResultSetSchema returns a resultset option to set the schema.

type Row

type Row interface {
	// Object returns the row object.
	Object() map[string]any
	// Values returns the row values.
	Values() []any
	// ValueAt returns the row value at the specified index.
	ValueAt(int) (any, error)
	// ValueBy returns the row value by the specified name.
	ValueBy(string) (any, error)
	// Scan scans the values.
	Scan(...any) error
	// ScanAt scans the value at the specified index.
	ScanAt(int, any) error
	// ScanBy scans the value by the specified name.
	ScanBy(string, any) error
}

Row represents a row interface.

func NewRow

func NewRow(opts ...RowOption) Row

NewRow returns a new resultsetRow.

func NewRows added in v1.5.2

func NewRows(opts ...RowsOption) ([]Row, error)

NewRows creates a new rows instance with the opt

type RowOption added in v1.4.2

type RowOption func(*row)

RowOption represents a functional option for Row.

func WithRowObject

func WithRowObject(object map[string]any) RowOption

WithRowObject returns a functional option for row object.

func WithRowSchema

func WithRowSchema(schema Schema) RowOption

WithRowSchema returns a functional option for row schema.

func WithRowValues

func WithRowValues(values []any) RowOption

WithRowValues returns a functional option for row values.

type RowsOption added in v1.5.2

type RowsOption func(*rows) error

RowsOption represents a functional option for rows.

func WithRowsGroupBy added in v1.5.2

func WithRowsGroupBy(groupBy string) RowsOption

WithRowsGroupBy sets the group by clause for the rows.

func WithRowsMapRows added in v1.5.2

func WithRowsMapRows(v MapRows) RowsOption

WithRowsMapRows sets the rows from a slice of map[string]any.

func WithRowsSchema added in v1.5.2

func WithRowsSchema(schema Schema) RowsOption

WithRowsSchema sets the schema for the rows.

func WithRowsSelectors added in v1.5.2

func WithRowsSelectors(selectors query.Selectors) RowsOption

WithRowsSelector sets the selectors for the rows.

type Schema

type Schema interface {
	// DatabaseName returns the database name.
	DatabaseName() string
	// TableName returns the table name.
	TableName() string
	// Selectows returns the selectors.
	Selectors() query.Selectors
	// Columns returns the columns.
	Columns() []Column
	// LookupColumn returns the column by the specified name.
	LookupColumn(name string) (Column, error)
}

Schema represents a schema interface in a resultset.

func NewSchema

func NewSchema(opts ...SchemaOption) Schema

NewSchema returns a new Schema with the specified options.

func NewSchemaFrom

func NewSchemaFrom(opts ...SchemaOption) (Schema, error)

NewSchemaFrom returns a new Schema from the specified options.

type SchemaOption added in v1.4.2

type SchemaOption func(*schema) error

SchemaOption represents a functional option for resultsetSchema.

func WithSchemaColumns added in v1.4.2

func WithSchemaColumns(columns []Column) SchemaOption

WithSchemaColumns returns a functional option for resultsetSchema.

func WithSchemaDatabaseName

func WithSchemaDatabaseName(name string) SchemaOption

WithSchemaDatabaseName returns a functional option for resultsetSchema.

func WithSchemaQuerySchema added in v1.5.2

func WithSchemaQuerySchema(querySchema query.Schema) SchemaOption

WithSchemaQuerySchema returns a functional option for WithSchemaSelector().

func WithSchemaSelectors added in v1.5.2

func WithSchemaSelectors(selectors query.Selectors) SchemaOption

WithSchemaSelector returns a functional option for resultsetSchema.

func WithSchemaTableName

func WithSchemaTableName(name string) SchemaOption

WithSchemaTableName returns a functional option for resultsetSchema.

Jump to

Keyboard shortcuts

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