sql

package
v0.70.0 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2023 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

View Source
const (
	TagColumnKey      = "db"
	TagPkValue        = "pk"
	TagUqValue        = "uq"
	TagGeneratedValue = "generated"
)

Variables

View Source
var (
	ErrAnyIsNil              = errors.New("value (any - interface{}) is nil")
	ErrAnyNotPointerOrStruct = errors.New("value (any - interface{}) not a pointer, not a struct")
	ErrAnyNotTagged          = errors.New("value (any - interface{}) not tagged")
	ErrColumnFilterFuncIsNil = errors.New("columnFilterFunc is nil")
	ErrEvalColumnFuncIsNil   = errors.New("evalColumnFunc is nil")
)

Functions

func ColumnFilter

func ColumnFilter(values []string) bool

func CreateDeleteSQL

func CreateDeleteSQL(table string, value any, _ DriverName, paramHolder ParamHolder, fn01 ColumnFilterFunc) string

func CreateInsertSQL

func CreateInsertSQL(table string, value any, driverName DriverName, paramHolder ParamHolder) string

func CreateSelectSQL

func CreateSelectSQL(table string, value any, _ DriverName, paramHolder ParamHolder, fn01 ColumnFilterFunc) string

func CreateUpdateSQL

func CreateUpdateSQL(table string, value any, _ DriverName, paramHolder ParamHolder, fn01 ColumnFilterFunc) string

func CreateUpsertSQL added in v0.70.0

func CreateUpsertSQL(table string, value any, driverName DriverName, paramHolder ParamHolder) string

func ErrSQLGenerationFailed added in v0.5.0

func ErrSQLGenerationFailed(errs ...error) error

func EvalNameOnly

func EvalNameOnly(name string, _ int, separator string) string

func EvalNameValueNamed

func EvalNameValueNamed(name string, _ int, separator string) string

func EvalNameValueNumbered

func EvalNameValueNumbered(name string, cont int, separator string) string

func EvalNameValueQuestioned

func EvalNameValueQuestioned(name string, _ int, separator string) string

func EvalValueOnlyNamed

func EvalValueOnlyNamed(name string, _ int, separator string) string

func EvalValueOnlyNumbered

func EvalValueOnlyNumbered(_ string, cont int, separator string) string

func EvalValueOnlyQuestioned

func EvalValueOnlyQuestioned(_ string, _ int, separator string) string

func GeneratedColumnFilter

func GeneratedColumnFilter(values []string) bool

func KeyColumnFilter

func KeyColumnFilter(values []string) bool

func NoneColumnFilter

func NoneColumnFilter(_ []string) bool

func NonePkGeneratedColumnFilter

func NonePkGeneratedColumnFilter(values []string) bool

func NoneUqGeneratedColumnFilter

func NoneUqGeneratedColumnFilter(values []string) bool

func ParseColumnAsNameValueSequence

func ParseColumnAsNameValueSequence(value any, initChar string, endChar string, separator string, cont int, fn01 ColumnFilterFunc, fn02 EvalColumnFunc) (string, int, error)

func PkColumnFilter

func PkColumnFilter(values []string) bool

func PkGeneratedColumnFilter

func PkGeneratedColumnFilter(values []string) bool

func RetrieveColumnNames

func RetrieveColumnNames(value any, columnFilterFunc ColumnFilterFunc) ([]string, error)

func RetrieveFields added in v0.5.0

func RetrieveFields(reflectedValue reflect.Value) []*reflect.StructField

func RetrieveReflectedStruct added in v0.5.0

func RetrieveReflectedStruct(value any) (*reflect.Value, error)

func UqColumnFilter

func UqColumnFilter(values []string) bool

func UqGeneratedColumnFilter

func UqGeneratedColumnFilter(values []string) bool

Types

type ColumnFilterFunc

type ColumnFilterFunc func(values []string) bool

type DriverName

type DriverName int
const (
	UndefinedDriverName DriverName = iota
	OracleDriverName
	MysqlDriverName
	PostgresDriverName
)

func (DriverName) String

func (enum DriverName) String() string

func (DriverName) ValueFromCardinal added in v0.3.0

func (enum DriverName) ValueFromCardinal(driver int) DriverName

func (DriverName) ValueFromName added in v0.3.0

func (enum DriverName) ValueFromName(driverName string) DriverName

type DriverNameCtxKey added in v0.70.0

type DriverNameCtxKey struct{}

type EvalColumnFunc

type EvalColumnFunc func(name string, cont int, separator string) string

type ParamHolder

type ParamHolder int
const (
	UndefinedParamHolder ParamHolder = iota
	NamedParamHolder
	NumberedParamHolder
	QuestionedParamHolder
)

func (ParamHolder) EvalNameValue

func (enum ParamHolder) EvalNameValue() EvalColumnFunc

func (ParamHolder) EvalValueOnly

func (enum ParamHolder) EvalValueOnly() EvalColumnFunc

func (ParamHolder) String added in v0.3.0

func (enum ParamHolder) String() string

func (ParamHolder) ValueFromCardinal added in v0.3.0

func (enum ParamHolder) ValueFromCardinal(paramHolder int) ParamHolder

func (ParamHolder) ValueFromName added in v0.3.0

func (enum ParamHolder) ValueFromName(paramHolderName string) ParamHolder

Jump to

Keyboard shortcuts

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