Help us shape the future of Go! Take the 2026 Go Developer Survey

catalog

package
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Argument

type Argument struct {
	Name       string
	Type       *ast.TypeName
	HasDefault bool
	Mode       ast.FuncParamMode
}

type Catalog

type Catalog struct {
	Comment       string
	DefaultSchema string
	Name          string
	Schemas       []*Schema
	SearchPath    []string
	LoadExtension func(string) *Schema

	// TODO: un-export
	Extensions map[string]struct{}
}

Catalog describes a database instance consisting of metadata in which database objects are defined

func New

func New(defaultSchema string) *Catalog

New creates a new catalog

func (*Catalog) Build

func (c *Catalog) Build(stmts []ast.Statement) error

func (*Catalog) GetTable

func (c *Catalog) GetTable(rel *ast.TableName) (Table, error)

func (*Catalog) ListFuncsByName

func (c *Catalog) ListFuncsByName(rel *ast.FuncName) ([]Function, error)

func (*Catalog) ResolveFuncCall

func (c *Catalog) ResolveFuncCall(call *ast.FuncCall) (*Function, error)

func (*Catalog) Update

func (c *Catalog) Update(stmt ast.Statement, colGen columnGenerator) error

type Column

type Column struct {
	Name       string
	Type       ast.TypeName
	IsNotNull  bool
	IsUnsigned bool
	IsArray    bool
	ArrayDims  int
	Comment    string
	Length     *int
	// contains filtered or unexported fields
}

Column describes a set of data values of a particular type in a relational database table

TODO: Should this just be ast Nodes?

type CompositeType

type CompositeType struct {
	Name    string
	Comment string
}

func (*CompositeType) SetComment

func (ct *CompositeType) SetComment(c string)

type Enum

type Enum struct {
	Name    string
	Vals    []string
	Comment string
}

func (*Enum) SetComment

func (e *Enum) SetComment(c string)

type Function

type Function struct {
	Name               string
	Args               []*Argument
	ReturnType         *ast.TypeName
	Comment            string
	Desc               string
	ReturnTypeNullable bool
}

Function describes a database function

A database function is a method written to perform a specific operation on data within the database.

func (*Function) InArgs

func (f *Function) InArgs() []*Argument

func (*Function) OutArgs

func (f *Function) OutArgs() []*Argument

type Schema

type Schema struct {
	Name   string
	Tables []*Table
	Types  []Type
	Funcs  []*Function

	Comment string
}

Schema describes how the data in a relational database may relate to other tables or other data models

type Table

type Table struct {
	Rel     *ast.TableName
	Columns []*Column
	Comment string
}

Table describes a relational database table

A database table is a collection of related data held in a table format within a database. It consists of columns and rows.

type Type

type Type interface {
	SetComment(string)
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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