pgsql

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2021 License: MIT Imports: 11 Imported by: 0

README

Postgresql

Tested with postgresql version >= 12

Currently supports:

  • Types (enum, composites)
  • Typed columns
  • All operations inherited from rdbms module (see ../rdbms/README.md for details)

Documentation

Index

Constants

View Source
const (
	TypeEnum      string = "enum"
	TypeComposite string = "composite"
)

Variables

This section is empty.

Functions

func HelperMapColumns

func HelperMapColumns(r *sql.Rows) ([]rdbms.Column, error)

func HelperTypeExists

func HelperTypeExists(t *Type, localTypes []Type) bool

func Merge

func Merge(
	mrg *StmtCtx,
	tableCtx *rdbms.MergeTableCtx,
	typeCtx *MergeTypeCtx) (string, error)

merge remote schema with local

func MergeComposite

func MergeComposite(
	r *StmtCtx,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx,
	lt *Type,
	rt *Type)

func MergeDropCompositeTypeColumnRefs

func MergeDropCompositeTypeColumnRefs(
	r *rdbms.StmtCtx,
	lt *Type,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx,
	c *rdbms.Column) []rdbms.MergeDropCtx

func MergeDropTypeRefs

func MergeDropTypeRefs(
	m *rdbms.StmtCtx,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx,
	lt *Type) []rdbms.MergeDropCtx

func MergeEnum

func MergeEnum(
	r *StmtCtx,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx,
	lt *Type, rt *Type)

func MergeTables

func MergeTables(ctx *StmtCtx, ts *rdbms.MergeTableCtx, ss *rdbms.MergeScriptCtx)

func MergeType

func MergeType(
	r *StmtCtx,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx,
	lt *Type, rt *Type)

func MergeTypes

func MergeTypes(
	m *StmtCtx,
	tt *MergeTypeCtx,
	ts *rdbms.MergeTableCtx,
	ss *rdbms.MergeScriptCtx)

func ParserElevateErrorType

func ParserElevateErrorType(tname string, err error) error

func ParserGetValidateObject

func ParserGetValidateObject(path string, fc []byte, args interface{}) error

func ParserValidateType

func ParserValidateType(ctx *rdbms.StmtCtx, t *Type, path string) error

func RemoteGetAllCheck

func RemoteGetAllCheck(db *sql.DB, tableName string) ([]rdbms.Check, error)

func RemoteGetAllColumn

func RemoteGetAllColumn(db *sql.DB, tableName string) ([]rdbms.Column, error)

func RemoteGetAllFK

func RemoteGetAllFK(db *sql.DB, tableName string) ([]rdbms.ForeignKey, error)

func RemoteGetAllIx

func RemoteGetAllIx(db *sql.DB, tableName string) ([]rdbms.Index, error)

func RemoteGetAllPK

func RemoteGetAllPK(db *sql.DB, tableName string) (*rdbms.PrimaryKey, error)

func RemoteGetAllUnique

func RemoteGetAllUnique(db *sql.DB, tableName string) ([]rdbms.Unique, error)

func RemoteGetMatchedTables

func RemoteGetMatchedTables(db *sql.DB, userTables []rdbms.Table) ([]rdbms.Table, error)

func RemoteGetTable

func RemoteGetTable(db *sql.DB, tableName string) (*rdbms.Table, error)

func RemoteGetTypedTableInfo

func RemoteGetTypedTableInfo(db *sql.DB, t *rdbms.Table) error

func StmtAddColumn

func StmtAddColumn(tableName string, c *rdbms.Column) string

func StmtAddIndex

func StmtAddIndex(tableName string, ix *rdbms.Index) string

func StmtAddType

func StmtAddType(t *Type) string

func StmtAlterColumn

func StmtAlterColumn(tableName string, sc, c *rdbms.Column) string

func StmtColumnType

func StmtColumnType(column *rdbms.Column) string

func StmtCreateTable

func StmtCreateTable(t *rdbms.Table) string

func StmtDropColumn

func StmtDropColumn(tablename string, c *rdbms.Column) string

func StmtDropIndex

func StmtDropIndex(tableName string, i *rdbms.Index) string

func StmtDropType

func StmtDropType(t *Type) string

func TargetCtxNew

func TargetCtxNew() *target.Ctx

func TargetGetCS

func TargetGetCS(target *target.Target) (string, error)

func TargetGetDB

func TargetGetDB(target *target.Target) (interface{}, error)

func TargetGetMergeScript

func TargetGetMergeScript(
	dbCtx interface{}, ectx *target.Target, args []string,
) (string, error)

Types

type DDObject

type DDObject struct {
	Table *rdbms.Table
	Type  *Type
}

func ParserGetObjectsInDir

func ParserGetObjectsInDir(ctx *StmtCtx, dir string) ([]DDObject, error)

type MergeTypeCtx

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

type ParseCtx

type ParseCtx struct {
	Stmt *StmtCtx
	// contains filtered or unexported fields
}

type StmtCtx

type StmtCtx struct {
	rdbms.StmtCtx
	// types dont really depend on tables
	DropType func(*Type) string
	AddType  func(*Type) string
}

func StmtNew

func StmtNew() *StmtCtx

type Type

type Type struct {
	Name    string
	Type    string
	Values  []string
	Columns []rdbms.Column
}

func MergeFindType

func MergeFindType(t *Type, ts []Type) *Type

func RemoteGetComposite

func RemoteGetComposite(db *sql.DB) ([]Type, error)

func RemoteGetEnum

func RemoteGetEnum(db *sql.DB) ([]Type, error)

func RemoteGetTypes

func RemoteGetTypes(db *sql.DB, localTypes []Type) ([]Type, error)

Jump to

Keyboard shortcuts

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