pgsql

package
v0.1.24 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2025 License: MIT Imports: 9 Imported by: 3

Documentation

Index

Constants

View Source
const TimestampFormat = "YYYY-MM-DD hh:mm:ss"

Variables

View Source
var (
	DEBUG = false
	ALL   = all{}
)
View Source
var (
	Float = _Float{}
	Real  = _Real{}
)
View Source
var (
	Int      = _Int{}
	SmallInt = _SmallInt{}
	BigInt   = _BigInt{}
)
View Source
var (
	Text  = _Text{}
	UUID  = _UUID{}
	JSONB = _JSONB{}
)
View Source
var (
	Date        = _Date{}
	Timestamp   = _Timestamp{}
	TimestampTZ = _TimestampTZ{}
)
View Source
var (
	Bool = _Bool{}
)
View Source
var ErrDbIsNil = fmt.Errorf("*sql.DB must not be nil")

Functions

func Concat added in v0.0.46

func Concat(as string, entries ...SQLer) *concat

func Default

func Default[V any](def string, tp _Type[V]) _Type[V]

func DefaultBlank added in v0.0.30

func DefaultBlank[V any](def string, tp _Type[V]) _Type[V]

func NullAble

func NullAble[V any](ft _Type[V]) nullAble[V]

func Numeric

func Numeric(precision, scale int) _Numeric

NUMERIC(precision, scale), decimal is the same as numeric

func ScanMulti added in v0.1.11

func ScanMulti(targets ...sql.Scanner) *multiScanner

func Unique

func Unique[V any](ft _Type[V]) unique[V]

Types

type Dollar

type Dollar int

func (Dollar) NameSQL added in v0.0.13

func (d Dollar) NameSQL() string

func (Dollar) ValueToSQL

func (d Dollar) ValueToSQL(pos int) string

type FIELD

type FIELD[V any] struct {
	// contains filtered or unexported fields
}

func AddField added in v0.0.28

func AddField[V any](name string, tp _Type[V]) FIELD[V]

func (FIELD[V]) As

func (f FIELD[V]) As(name string) SQL

func (FIELD[V]) AsPrimaryKey

func (f FIELD[V]) AsPrimaryKey() FIELD[V]

func (*FIELD[V]) Compare added in v0.0.36

func (f *FIELD[V]) Compare(comp string, val string) *where

func (FIELD[V]) CreationSQL

func (f FIELD[V]) CreationSQL() string

func (FIELD[V]) Description

func (f FIELD[V]) Description() string

func (FIELD[V]) ILike added in v0.0.36

func (f FIELD[V]) ILike(value string) *where

func (FIELD[V]) InnerJoin

func (c FIELD[V]) InnerJoin(joinField FIELD[V]) Join

func (FIELD[V]) InnerJoinAlias

func (c FIELD[V]) InnerJoinAlias(joinField FIELD[V], alias string) Join

func (FIELD[V]) Is

func (f FIELD[V]) Is(value V) *where

func (FIELD[V]) IsEqualOrGreaterThan

func (f FIELD[V]) IsEqualOrGreaterThan(value V) *where

func (FIELD[V]) IsEqualOrLessThan

func (f FIELD[V]) IsEqualOrLessThan(value V) *where

func (FIELD[V]) IsGreaterThan

func (f FIELD[V]) IsGreaterThan(value V) *where

func (FIELD[V]) IsIn

func (f FIELD[V]) IsIn(value SQLer) *where

func (FIELD[V]) IsLessThan

func (f FIELD[V]) IsLessThan(value V) *where

func (FIELD[V]) IsNULL added in v0.0.22

func (f FIELD[V]) IsNULL() *where

func (FIELD[V]) IsNot

func (f FIELD[V]) IsNot(value V) *where

func (FIELD[V]) IsNotNULL added in v0.0.22

func (f FIELD[V]) IsNotNULL() *where

func (FIELD[V]) IsPrimaryKey

func (f FIELD[V]) IsPrimaryKey() bool

func (FIELD[V]) Like added in v0.0.36

func (f FIELD[V]) Like(value string) *where

func (FIELD[V]) Name

func (f FIELD[V]) Name() string

func (FIELD[V]) NameSQL added in v0.0.11

func (f FIELD[V]) NameSQL() string

func (FIELD[V]) OuterJoin

func (c FIELD[V]) OuterJoin(joinField FIELD[V]) Join

func (FIELD[V]) OuterJoinAlias

func (c FIELD[V]) OuterJoinAlias(joinField FIELD[V], alias string) Join

func (FIELD[V]) Reference

func (f FIELD[V]) Reference() Field

func (FIELD[V]) SQL

func (f FIELD[V]) SQL() string

func (FIELD[V]) Scan added in v0.0.46

func (f FIELD[V]) Scan(v any) *FieldScan

func (FIELD[V]) ScanMulti added in v0.1.11

func (f FIELD[V]) ScanMulti(v ...sql.Scanner) *FieldScan

func (FIELD[V]) ScanVal added in v0.0.46

func (f FIELD[V]) ScanVal(v *V) *FieldScan

func (FIELD[V]) Scanner added in v0.0.46

func (f FIELD[V]) Scanner(v sql.Scanner) *FieldScan

func (FIELD[V]) Set

func (f FIELD[V]) Set(v V) *FieldVal[V]

func (FIELD[V]) SetNull added in v0.0.46

func (f FIELD[V]) SetNull() nullVal

func (FIELD[V]) SetVar added in v0.0.46

func (f FIELD[V]) SetVar(v value.Var[V]) *FieldVar[V]

func (FIELD[V]) Table

func (f FIELD[V]) Table() *TABLE

func (FIELD[V]) ToTable added in v0.0.28

func (f FIELD[V]) ToTable(t *TABLE) FIELD[V]

func (FIELD[V]) Type

func (f FIELD[V]) Type() Type

func (FIELD[V]) ValueToSQL

func (f FIELD[V]) ValueToSQL(pos int, v value.Var[V]) string

func (FIELD[V]) WithDescription

func (f FIELD[V]) WithDescription(descr string) FIELD[V]

func (FIELD[V]) WithReference

func (f FIELD[V]) WithReference(ref FIELD[V]) FIELD[V]

type Field

type Field interface {
	Name() string
	CreationSQL() string
	Table() *TABLE
	Reference() Field
	IsPrimaryKey() bool
	Description() string
	Type() Type
	//	ValueToSQL(pos int) string
	NameSQL() string
	Compare(comp string, val string) *where
	SQLer
}

type FieldScan added in v0.0.46

type FieldScan struct {
	Field
	// contains filtered or unexported fields
}

func (*FieldScan) GetTarget added in v0.0.46

func (f *FieldScan) GetTarget() any

type FieldVal added in v0.0.46

type FieldVal[V any] struct {
	FIELD[V]
	// contains filtered or unexported fields
}

func (*FieldVal[V]) ValueToSQL added in v0.0.46

func (f *FieldVal[V]) ValueToSQL(pos int) string

type FieldVar added in v0.0.46

type FieldVar[V any] struct {
	FIELD[V]
	// contains filtered or unexported fields
}

func (*FieldVar[V]) ValueToSQL added in v0.0.46

func (f *FieldVar[V]) ValueToSQL(pos int) string

type InsertField added in v0.1.10

type InsertField interface {
	NameSQL() string
	ValueToSQL(pos int) string
}

type Join

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

type Pager added in v0.0.46

type Pager struct {
	OrderBy SQLer
	DESC    bool // if false: ASC
	Limit   int
	Offset  int
}

Pager allows to page through Select statements that return more than one row

type SQL

type SQL string

func AND

func AND(wheres ...SQLer) SQL

func OR

func OR(wheres ...SQLer) SQL

func (SQL) SQL

func (s SQL) SQL() string

type SQLer

type SQLer interface {
	SQL() string
}

type Scanner

type Scanner interface {
	Err() error
	Next() bool
}

type SelectScanner added in v0.0.46

type SelectScanner interface {
	GetTarget() any
	SQLer
}

type Seq

type Seq interface {
	Each() iter.Seq[Scanner]
	Err() error
}

func Each

func Each(sc Scanner, err error) Seq

type String added in v0.0.46

type String string

func (String) SQL added in v0.0.46

func (s String) SQL() string

type TABLE

type TABLE struct {
	Name string

	Fields []Field
	// contains filtered or unexported fields
}

func (*TABLE) AddPrimaryKey added in v0.0.19

func (t *TABLE) AddPrimaryKey(f ...Field) *TABLE

func (*TABLE) AddUnique added in v0.0.12

func (t *TABLE) AddUnique(f ...Field) *TABLE

func (TABLE) COUNT added in v0.0.46

func (t TABLE) COUNT(f SQLer) *_Select

func (TABLE) CREATE added in v0.0.11

func (t TABLE) CREATE() *_Create

func (TABLE) DELETE added in v0.0.11

func (t TABLE) DELETE() *_Delete

func (TABLE) DROP added in v0.0.15

func (t TABLE) DROP(cascade, ifexists bool) *_Drop

func (*TABLE) GetField added in v0.0.36

func (t *TABLE) GetField(name string) Field

func (TABLE) INSERT added in v0.0.11

func (t TABLE) INSERT(fields ...InsertField) *_Insert

func (TABLE) Rows added in v0.0.46

func (t TABLE) Rows(pg Pager) *_Select

func (TABLE) SELECT added in v0.0.11

func (t TABLE) SELECT(fields ...SQLer) *_Select

func (TABLE) SQL

func (t TABLE) SQL() string

func (*TABLE) SetName

func (t *TABLE) SetName(name string)

func (t *TABLE) New() { t.copied = true }

func (TABLE) UPDATE added in v0.0.11

func (t TABLE) UPDATE(fields ...InsertField) *_Update

type Type

type Type interface {
	SQLer
	IsNullAble() bool
	IsUnique() bool
}

type VarChar

type VarChar int

func (VarChar) Escape

func (v VarChar) Escape(val string) string

func (VarChar) IsNullAble

func (v VarChar) IsNullAble() bool

func (VarChar) IsUnique

func (v VarChar) IsUnique() bool

func (VarChar) SQL

func (v VarChar) SQL() string

Jump to

Keyboard shortcuts

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