sqlite

package
v2.0.0-...-08d8fda Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: Apache-2.0, BSD-3-Clause, MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Raw = jet.Raw

	RawBool      = jet.RawBool
	RawInt       = jet.RawInt
	RawFloat     = jet.RawFloat
	RawString    = jet.RawString
	RawTime      = jet.RawTime
	RawTimestamp = jet.RawTimestamp
	RawDate      = jet.RawDate
)

Raw can be used for any unsupported functions, operators or expressions. For example: Raw("current_database()") Raw helper methods for each of the sqlite types

View Source
var (
	// AND function adds AND operator between expressions.
	AND = jet.AND
	// OR function adds OR operator between expressions.
	OR = jet.OR
)

This functions can be used, instead of its method counterparts, to have a better indentation of a complex condition in the Go code and in the generated SQL.

View Source
var (
	YEARS   = modifier("YEARS")
	MONTHS  = modifier("MONTHS")
	DAYS    = modifier("DAYS")
	HOURS   = modifier("HOURS")
	MINUTES = modifier("MINUTES")
	SECONDS = modifier("SECONDS")

	START_OF_YEAR  = String("start of year")
	START_OF_MONTH = String("start of month")
	UNIXEPOCH      = String("unixepoch")
	LOCALTIME      = String("localtime")
	UTC            = String("UTC")

	WEEKDAY = func(value int) Expression {
		return String(fmt.Sprintf("WEEKDAY %d", value))
	}
)

time-value modifiers

View Source
var (
	STAR = jet.STAR
	NULL = jet.NULL
)

Keywords

View Source
var (
	UPDATE = jet.NewRowLock("UPDATE")
	SHARE  = jet.NewRowLock("SHARE")
)

Row lock types

View Source
var (
	PARTITION_BY = jet.PARTITION_BY
	ORDER_BY     = jet.ORDER_BY
	UNBOUNDED    = jet.UNBOUNDED
	CURRENT_ROW  = jet.CURRENT_ROW
)

Window function clauses

View Source
var ABSf = jet.ABSf

ABSf calculates absolute value from float expression

View Source
var ABSi = jet.ABSi

ABSi calculates absolute value from int expression

View Source
var AVG = jet.AVG

AVG is aggregate function used to calculate avg value from numeric expression

View Source
var BIT_NOT = jet.BIT_NOT

BIT_NOT inverts every bit in integer expression result

View Source
var Bool = jet.Bool

Bool creates new bool literal expression

View Source
var BoolColumn = jet.BoolColumn

BoolColumn creates named bool column.

View Source
var BoolExp = jet.BoolExp

BoolExp is bool expression wrapper around arbitrary expression. Allows go compiler to see any expression as bool expression. Does not add sql cast to generated sql builder output.

View Source
var CASE = jet.CASE

CASE create CASE operator with optional list of expressions

View Source
var CEIL = jet.CEIL

CEIL calculates ceil of float expression

View Source
var COALESCE = jet.COALESCE

COALESCE function returns the first of its arguments that is not null.

View Source
var COUNT = jet.COUNT

COUNT is aggregate function. Returns number of input rows for which the value of expression is not null.

View Source
var CUME_DIST = jet.CUME_DIST

CUME_DIST calculates cumulative distribution: (number of partition rows preceding or peer with current row) / total partition rows

View Source
var CURRENT_DATE = jet.CURRENT_DATE

CURRENT_DATE returns current date

View Source
var DENSE_RANK = jet.DENSE_RANK

DENSE_RANK returns rank of the current row without gaps; this function counts peer groups

View Source
var DISTINCT = jet.DISTINCT

DISTINCT operator can be used to return distinct values of expr

View Source
var DateColumn = jet.DateColumn

DateColumn creates named date column.

View Source
var DateExp = jet.DateExp

DateExp is date expression wrapper around arbitrary expression. Allows go compiler to see any expression as date expression. Does not add sql cast to generated sql builder output.

View Source
var DateTimeColumn = jet.TimestampColumn

DateTimeColumn creates named timestamp column

View Source
var DateTimeExp = jet.TimestampExp

DateTimeExp is timestamp expression wrapper around arbitrary expression. Allows go compiler to see any expression as timestamp expression. Does not add sql cast to generated sql builder output.

View Source
var Decimal = jet.Decimal

Decimal creates new float literal expression from string value

View Source
var Dialect = newDialect()

Dialect is implementation of SQL Builder for SQLite databases.

View Source
var EXISTS = jet.EXISTS

EXISTS checks for existence of the rows in subQuery

View Source
var FIRST_VALUE = jet.FIRST_VALUE

FIRST_VALUE returns value evaluated at the row that is the first row of the window frame

View Source
var FLOOR = jet.FLOOR

FLOOR calculates floor of float expression

View Source
var Float = jet.Float

Float creates new float literal expression from float64 value

View Source
var FloatColumn = jet.FloatColumn

FloatColumn creates named float column.

View Source
var FloatExp = jet.FloatExp

FloatExp is date expression wrapper around arbitrary expression. Allows go compiler to see any expression as float expression. Does not add sql cast to generated sql builder output.

View Source
var Func = jet.Func

Func can be used to call custom or unsupported database functions.

View Source
var Int = jet.Int

Int is constructor for 64 bit signed integer expressions literals.

View Source
var Int16 = jet.Int16

Int16 is constructor for 16 bit signed integer expressions literals.

View Source
var Int32 = jet.Int32

Int32 is constructor for 32 bit signed integer expressions literals.

View Source
var Int64 = jet.Int

Int64 is constructor for 64 bit signed integer expressions literals.

View Source
var Int8 = jet.Int8

Int8 is constructor for 8 bit signed integer expressions literals.

View Source
var IntExp = jet.IntExp

IntExp is int expression wrapper around arbitrary expression. Allows go compiler to see any expression as int expression. Does not add sql cast to generated sql builder output.

View Source
var IntegerColumn = jet.IntegerColumn

IntegerColumn creates named integer column.

View Source
var LAG = jet.LAG

LAG returns value evaluated at the row that is offset rows before the current row within the partition; if there is no such row, instead return default (which must be of the same type as value). Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null

View Source
var LAST_VALUE = jet.LAST_VALUE

LAST_VALUE returns value evaluated at the row that is the last row of the window frame

View Source
var LEAD = jet.LEAD

LEAD returns value evaluated at the row that is offset rows after the current row within the partition; if there is no such row, instead return default (which must be of the same type as value). Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null

View Source
var LN = jet.LN

LN calculates natural algorithm of float expression

View Source
var LOG = jet.LOG

LOG calculates logarithm of float expression

View Source
var LOWER = jet.LOWER

LOWER returns string expression in lower case

View Source
var LTRIM = jet.LTRIM

LTRIM removes the longest string containing only characters from characters (a space by default) from the start of string

View Source
var MAX = jet.MAX

MAX is aggregate function. Returns maximum value of expression across all input values

View Source
var MAXf = jet.MAXf

MAXf is aggregate function. Returns maximum value of float expression across all input values

View Source
var MAXi = jet.MAXi

MAXi is aggregate function. Returns maximum value of int expression across all input values

View Source
var MIN = jet.MIN

MIN is aggregate function. Returns minimum value of int expression across all input values

View Source
var MINf = jet.MINf

MINf is aggregate function. Returns minimum value of float expression across all input values

View Source
var MINi = jet.MINi

MINi is aggregate function. Returns minimum value of int expression across all input values

View Source
var NOT = jet.NOT

NOT returns negation of bool expression result

View Source
var NTH_VALUE = jet.NTH_VALUE

NTH_VALUE returns value evaluated at the row that is the nth row of the window frame (counting from 1); null if no such row

View Source
var NTILE = jet.NTILE

NTILE returns integer ranging from 1 to the argument value, dividing the partition as equally as possible

View Source
var NULLIF = jet.NULLIF

NULLIF function returns a null value if value1 equals value2; otherwise it returns value1.

View Source
var NewEnumValue = jet.NewEnumValue

NewEnumValue creates new named enum value

View Source
var PERCENT_RANK = jet.PERCENT_RANK

PERCENT_RANK calculates relative rank of the current row: (rank - 1) / (total partition rows - 1)

View Source
var POW = jet.POW

POW calculates power of base with exponent

View Source
var POWER = jet.POWER

POWER calculates power of base with exponent

View Source
var RANK = jet.RANK

RANK of the current row with gaps; same as row_number of its first peer

View Source
var REGEXP_LIKE = jet.REGEXP_LIKE

REGEXP_LIKE Returns 1 if the string expr matches the regular expression specified by the pattern pat, 0 otherwise.

View Source
var REPLACE = jet.REPLACE

REPLACE replaces all occurrences in string of substring from with substring to

View Source
var REVERSE = jet.REVERSE

REVERSE returns reversed string.

View Source
var ROUND = jet.ROUND

ROUND calculates round of a float expressions with optional precision

View Source
var ROW_NUMBER = jet.ROW_NUMBER

ROW_NUMBER returns number of the current row within its partition, counting from 1

View Source
var RTRIM = jet.RTRIM

RTRIM removes the longest string containing only characters from characters (a space by default) from the end of string

View Source
var SIGN = jet.SIGN

SIGN returns sign of float expression

View Source
var SQRT = jet.SQRT

SQRT calculates square root of numeric expression

View Source
var SUBSTR = jet.SUBSTR

SUBSTR extracts substring

View Source
var SUM = jet.SUM

SUM is aggregate function. Returns sum of all expressions

View Source
var SUMf = jet.SUMf

SUMf is aggregate function. Returns sum of float expression.

View Source
var SUMi = jet.SUMi

SUMi is aggregate function. Returns sum of integer expression.

View Source
var SetLogger = jet.SetLoggerFunc

SetLogger sets automatic statement logging. Deprecated: use SetQueryLogger instead.

View Source
var SetQueryLogger = jet.SetQueryLogger

SetQueryLogger sets automatic query logging function.

View Source
var String = jet.String

String creates new string literal expression

View Source
var StringColumn = jet.StringColumn

StringColumn creates named string column.

View Source
var StringExp = jet.StringExp

StringExp is string expression wrapper around arbitrary expression. Allows go compiler to see any expression as string expression. Does not add sql cast to generated sql builder output.

View Source
var TRUNC = TRUNCATE

TRUNC calculates trunc of float expression with precision

View Source
var TRUNCATE = func(floatExpression jet.FloatExpression, precision jet.IntegerExpression) jet.FloatExpression {
	return jet.NewFloatFunc("TRUNCATE", floatExpression, precision)
}

TRUNCATE calculates trunc of float expression with precision

View Source
var TimeColumn = jet.TimeColumn

TimeColumn creates named time column

View Source
var TimeExp = jet.TimeExp

TimeExp is time expression wrapper around arbitrary expression. Allows go compiler to see any expression as time expression. Does not add sql cast to generated sql builder output.

View Source
var TimestampColumn = jet.TimestampColumn

TimestampColumn creates named timestamp column

View Source
var TimestampExp = jet.TimestampExp

TimestampExp is timestamp expression wrapper around arbitrary expression. Allows go compiler to see any expression as timestamp expression. Does not add sql cast to generated sql builder output.

View Source
var UPPER = jet.UPPER

UPPER returns string expression in upper case

View Source
var UUID = jet.UUID

UUID is a helper function to create string literal expression from uuid object value can be any uuid type with a String method

View Source
var Uint16 = jet.Uint16

Uint16 is constructor for 16 bit unsigned integer expressions literals.

View Source
var Uint32 = jet.Uint32

Uint32 is constructor for 32 bit unsigned integer expressions literals.

View Source
var Uint64 = jet.Uint64

Uint64 is constructor for 64 bit unsigned integer expressions literals.

View Source
var Uint8 = jet.Uint8

Uint8 is constructor for 8 bit unsigned integer expressions literals.

View Source
var Window = jet.WindowName

Window is used to specify window reference from WINDOW clause

Functions

func CAST

func CAST(expr Expression) cast

CAST function converts a expr (of any type) into latter specified datatype.

func CBRT

CBRT calculates cube root of numeric expression

func FOLLOWING

func FOLLOWING(offset interface{}) jet.FrameExtent

FOLLOWING window frame clause

func LENGTH

LENGTH returns number of characters in string with a given encoding

func PRECEDING

func PRECEDING(offset interface{}) jet.FrameExtent

PRECEDING window frame clause

func SET

func SET(assigments ...ColumnAssigment) conflictAction

SET creates conflict action for ON_CONFLICT clause

func UNION

func UNION(lhs, rhs jet.SerializerStatement, selects ...jet.SerializerStatement) setStatement

UNION effectively appends the result of sub-queries(select statements) into single query. It eliminates duplicate rows from its result.

func UNION_ALL

func UNION_ALL(lhs, rhs jet.SerializerStatement, selects ...jet.SerializerStatement) setStatement

UNION_ALL effectively appends the result of sub-queries(select statements) into single query. It does not eliminates duplicate rows from its result.

func WITH

func WITH(cte ...CommonTableExpression) func(statement jet.Statement) Statement

WITH function creates new WITH statement from list of common table expressions

func WITH_RECURSIVE

func WITH_RECURSIVE(cte ...CommonTableExpression) func(statement jet.Statement) Statement

WITH_RECURSIVE function creates new WITH RECURSIVE statement from list of common table expressions

Types

type BoolExpression

type BoolExpression = jet.BoolExpression

BoolExpression interface

type Column

type Column = jet.ColumnExpression

Column is common column interface for all types of columns.

type ColumnAssigment

type ColumnAssigment = jet.ColumnAssigment

ColumnAssigment is interface wrapper around column assigment

type ColumnBool

type ColumnBool = jet.ColumnBool

ColumnBool is interface for SQL boolean columns.

type ColumnDate

type ColumnDate = jet.ColumnDate

ColumnDate is interface of SQL date columns.

type ColumnDateTime

type ColumnDateTime = jet.ColumnTimestamp

ColumnDateTime is interface of SQL timestamp columns.

type ColumnFloat

type ColumnFloat = jet.ColumnFloat

ColumnFloat is interface for SQL real, numeric, decimal or double precision column.

type ColumnInteger

type ColumnInteger = jet.ColumnInteger

ColumnInteger is interface for SQL smallint, integer, bigint columns.

type ColumnList

type ColumnList = jet.ColumnList

ColumnList function returns list of columns that be used as projection or column list for UPDATE and INSERT statement.

type ColumnString

type ColumnString = jet.ColumnString

ColumnString is interface for SQL text, character, character varying bytea, uuid columns and enums types.

type ColumnTime

type ColumnTime = jet.ColumnTime

ColumnTime is interface for SQL time column.

type ColumnTimestamp

type ColumnTimestamp = jet.ColumnTimestamp

ColumnTimestamp is interface of SQL timestamp columns.

type CommonTableExpression

type CommonTableExpression interface {
	SelectTable

	AS(statement jet.SerializerStatement) CommonTableExpression
	AS_NOT_MATERIALIZED(statement jet.SerializerStatement) CommonTableExpression
	// ALIAS is used to create another alias of the CTE, if a CTE needs to appear multiple times in the main query.
	ALIAS(alias string) SelectTable
	// contains filtered or unexported methods
}

CommonTableExpression defines set of interface methods for postgres CTEs

func CTE

func CTE(name string, columns ...jet.ColumnExpression) CommonTableExpression

CTE creates new named commonTableExpression

type DateExpression

type DateExpression = jet.DateExpression

DateExpression interface

func DATE

func DATE(timeValue interface{}, modifiers ...Expression) DateExpression

DATE function creates new date from time-value and zero or more time modifiers

func Date

func Date(year int, month time.Month, day int) DateExpression

Date creates new date literal expression

type DateTimeExpression

type DateTimeExpression = jet.TimestampExpression

DateTimeExpression interface

func DATETIME

func DATETIME(timeValue interface{}, modifiers ...Expression) DateTimeExpression

DATETIME function creates new DateTime from time-value and zero or more time modifiers

func DateTime

func DateTime(year int, month time.Month, day, hour, minute, second int, nanoseconds ...time.Duration) DateTimeExpression

DateTime creates new datetime(timestamp) literal expression

type DeleteStatement

type DeleteStatement interface {
	Statement

	WHERE(expression BoolExpression) DeleteStatement
	ORDER_BY(orderByClauses ...OrderByClause) DeleteStatement
	LIMIT(limit int64) DeleteStatement
	RETURNING(projections ...Projection) DeleteStatement
}

DeleteStatement is interface for MySQL DELETE statement

type Expression

type Expression = jet.Expression

Expression is common interface for all expressions. Can be Bool, Int, Float, String, Date, Time or Timestamp expressions.

func ROW

func ROW(expressions ...Expression) Expression

ROW is construct one table row from list of expressions.

type FloatExpression

type FloatExpression = jet.FloatExpression

FloatExpression interface

func JULIANDAY

func JULIANDAY(timeValue interface{}, modifiers ...Expression) FloatExpression

JULIANDAY returns the number of days since noon in Greenwich on November 24, 4714 B.C

type GroupByClause

type GroupByClause = jet.GroupByClause

GroupByClause interface to use as input for GROUP_BY

type InsertStatement

type InsertStatement interface {
	Statement

	VALUES(value interface{}, values ...interface{}) InsertStatement
	MODEL(data interface{}) InsertStatement
	MODELS(data interface{}) InsertStatement
	QUERY(selectStatement SelectStatement) InsertStatement
	DEFAULT_VALUES() InsertStatement

	ON_CONFLICT(indexExpressions ...jet.ColumnExpression) onConflict
	RETURNING(projections ...Projection) InsertStatement
}

InsertStatement is interface for SQL INSERT statements

type IntegerExpression

type IntegerExpression = jet.IntegerExpression

IntegerExpression interface

type NumericExpression

type NumericExpression = jet.NumericExpression

NumericExpression is shared interface for integer or real expression

type OrderByClause

type OrderByClause = jet.OrderByClause

OrderByClause is the combination of an expression and the wanted ordering to use as input for ORDER BY.

type PrintableStatement

type PrintableStatement = jet.PrintableStatement

PrintableStatement is a statement which sql query can be logged

type Projection

type Projection = jet.Projection

Projection is interface for all projection types. Types that can be part of, for instance SELECT clause.

type ProjectionList

type ProjectionList = jet.ProjectionList

ProjectionList can be used to create conditional constructed projection list.

type QueryInfo

type QueryInfo = jet.QueryInfo

QueryInfo contains information about executed query

type RawArgs

type RawArgs = map[string]interface{}

RawArgs is type used to pass optional arguments to Raw method

type ReadableTable

type ReadableTable interface {
	jet.Serializer
	// contains filtered or unexported methods
}

ReadableTable interface

type RowLock

type RowLock = jet.RowLock

RowLock is interface for SELECT statement row lock types

type Rows

type Rows = jet.Rows

Rows wraps sql.Rows type with a support for query result mapping

type SelectStatement

type SelectStatement interface {
	Statement
	jet.HasProjections
	Expression

	DISTINCT() SelectStatement
	FROM(tables ...ReadableTable) SelectStatement
	WHERE(expression BoolExpression) SelectStatement
	GROUP_BY(groupByClauses ...GroupByClause) SelectStatement
	HAVING(boolExpression BoolExpression) SelectStatement
	WINDOW(name string) windowExpand
	ORDER_BY(orderByClauses ...OrderByClause) SelectStatement
	LIMIT(limit int64) SelectStatement
	OFFSET(offset int64) SelectStatement
	FOR(lock RowLock) SelectStatement
	LOCK_IN_SHARE_MODE() SelectStatement

	UNION(rhs SelectStatement) setStatement
	UNION_ALL(rhs SelectStatement) setStatement

	AsTable(alias string) SelectTable
}

SelectStatement is interface for MySQL SELECT statement

func SELECT

func SELECT(projection Projection, projections ...Projection) SelectStatement

SELECT creates new SelectStatement with list of projections

type SelectTable

type SelectTable interface {
	jet.SelectTable
	// contains filtered or unexported methods
}

SelectTable is interface for MySQL sub-queries

type Statement

type Statement = jet.Statement

Statement is common interface for all statements(SELECT, INSERT, UPDATE, DELETE, LOCK)

func RawStatement

func RawStatement(rawQuery string, namedArguments ...RawArgs) Statement

RawStatement creates new sql statements from raw query and optional map of named arguments

type StringExpression

type StringExpression = jet.StringExpression

StringExpression interface

func STRFTIME

func STRFTIME(format StringExpression, timeValue interface{}, modifiers ...Expression) StringExpression

STRFTIME routine returns the date formatted according to the format string specified as the first argument.

type Table

type Table interface {
	jet.SerializerTable

	INSERT(columns ...jet.Column) InsertStatement
	UPDATE(columns ...jet.Column) UpdateStatement
	DELETE() DeleteStatement
	// contains filtered or unexported methods
}

Table is interface for MySQL tables

func NewTable

func NewTable(schemaName, name, alias string, columns ...jet.ColumnExpression) Table

NewTable creates new table with schema Name, table Name and list of columns

type TimeExpression

type TimeExpression = jet.TimeExpression

TimeExpression interface

func CURRENT_TIME

func CURRENT_TIME() TimeExpression

CURRENT_TIME returns current time with time zone

func TIME

func TIME(timeValue interface{}, modifiers ...Expression) TimeExpression

TIME function creates new time from time-value and zero or more time modifiers

func Time

func Time(hour, minute, second int, nanoseconds ...time.Duration) TimeExpression

Time creates new time literal expression

type TimestampExpression

type TimestampExpression = jet.TimestampExpression

TimestampExpression interface

func CURRENT_TIMESTAMP

func CURRENT_TIMESTAMP() TimestampExpression

CURRENT_TIMESTAMP returns current timestamp with time zone

func TIMESTAMP

TIMESTAMP return a datetime value based on the arguments:

func UNIX_TIMESTAMP

func UNIX_TIMESTAMP(str StringExpression) TimestampExpression

UNIX_TIMESTAMP returns unix timestamp

type UpdateStatement

type UpdateStatement interface {
	jet.Statement

	SET(value interface{}, values ...interface{}) UpdateStatement
	MODEL(data interface{}) UpdateStatement

	FROM(tables ...ReadableTable) UpdateStatement
	WHERE(expression BoolExpression) UpdateStatement
	RETURNING(projections ...Projection) UpdateStatement
}

UpdateStatement is interface of SQL UPDATE statement

Jump to

Keyboard shortcuts

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