model

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2023 License: MIT Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Coalesce

func Coalesce(s ...string) string

Coalesce picks the first non-empty string from a list

func QSingleString

func QSingleString(db *sql.DB, q string) (sql.NullString, error)

Types

type Catalog

type Catalog struct {
	CatalogName             sql.NullString `json:"catalogName"`
	CatalogOwner            sql.NullString `json:"catalogOwner"`
	DefaultCharacterSetName sql.NullString `json:"defaultCharacterSetName"`
	DBMSVersion             sql.NullString `json:"dbmsVersion"`
	Comment                 sql.NullString `json:"comment"`
}

func CurrentCatalog

func CurrentCatalog(db *sql.DB, q string) (Catalog, error)

CurrentCatalog returns the current catalog

type CheckConstraint

type CheckConstraint struct {
	TableCatalog   sql.NullString `json:"tableCatalog"`
	TableSchema    sql.NullString `json:"tableSchema"`
	TableName      sql.NullString `json:"tableName"`
	ConstraintName sql.NullString `json:"constraintName"`
	CheckClause    sql.NullString `json:"checkClause"`
	Status         sql.NullString `json:"status"`
	Comment        sql.NullString `json:"comment"`
}

CheckConstraint contains details for referential constraints

func CheckConstraints

func CheckConstraints(db *sql.DB, q, tableSchema, tableName string) ([]CheckConstraint, error)

CheckConstraints returns a slice of Check Constraints for the (tableSchema, tableName) parameters

type Column

type Column struct {
	TableCatalog    sql.NullString `json:"tableCatalog"`
	TableSchema     sql.NullString `json:"tableSchema"`
	TableName       sql.NullString `json:"tableName"`
	ColumnName      sql.NullString `json:"columnName"`
	OrdinalPosition sql.NullInt32  `json:"ordinalPosition"`
	DataType        sql.NullString `json:"dataType"`
	IsNullable      sql.NullString `json:"isNullable"`
	ColumnDefault   sql.NullString `json:"columnDefault"`
	DomainCatalog   sql.NullString `json:"domainCatalog"`
	DomainSchema    sql.NullString `json:"domainSchema"`
	DomainName      sql.NullString `json:"domainName"`
	Comment         sql.NullString `json:"comment"`
}

Column contains details for Columns

func Columns

func Columns(db *sql.DB, q, tableSchema, tableName string) ([]Column, error)

Columns returns a slice of Columns for the (tableSchema, tableName) parameters

type Dependency

type Dependency struct {
	ObjectCatalog    sql.NullString `json:"objectCatalog"`
	ObjectSchema     sql.NullString `json:"objectSchema"`
	ObjectName       sql.NullString `json:"objectName"`
	ObjectOwner      sql.NullString `json:"objectOwner"`
	ObjectType       sql.NullString `json:"objectType"`
	DepObjectCatalog sql.NullString `json:"depObjectCatalog"`
	DepObjectSchema  sql.NullString `json:"depObjectSchema"`
	DepObjectName    sql.NullString `json:"depObjectName"`
	DepObjectOwner   sql.NullString `json:"depObjectOwner"`
	DepObjectType    sql.NullString `json:"depObjectType"`
}

Dependency contains details for Dependencies

func Dependencies

func Dependencies(db *sql.DB, q, objectSchema, objectName string) ([]Dependency, error)

Dependencies returns a slice of Dependecies for the (objectSchema, objectName) parameters

type Domain

type Domain struct {
	DomainCatalog sql.NullString `json:"domainCatalog"`
	DomainSchema  sql.NullString `json:"domainSchema"`
	DomainName    sql.NullString `json:"domainName"`
	DomainOwner   sql.NullString `json:"domainOwner"`
	DataType      sql.NullString `json:"dataType"`
	DomainDefault sql.NullString `json:"domainDefault"`
	CheckClause   sql.NullString `json:"checkClause"`
	Comment       sql.NullString `json:"comment"`
}

Domain contains details for (user defined) domains

func Domains

func Domains(db *sql.DB, q, schemaName string) ([]Domain, error)

Domains returns a slice of Domains for the (schemaName) parameter

type Index

type Index struct {
	IndexCatalog sql.NullString `json:"indexCatalog"`
	IndexSchema  sql.NullString `json:"indexSchema"`
	IndexName    sql.NullString `json:"indexName"`
	IndexType    sql.NullString `json:"indexType"`
	IndexColumns sql.NullString `json:"indexColumns"`
	TableCatalog sql.NullString `json:"tableCatalog"`
	TableSchema  sql.NullString `json:"tableSchema"`
	TableName    sql.NullString `json:"tableName"`
	IsUnique     sql.NullString `json:"isUnique"`
	Comment      sql.NullString `json:"comment"`
}

Index contains details for Indexes

func Indexes

func Indexes(db *sql.DB, q, tableSchema, tableName string) ([]Index, error)

Indexes returns a slice of Indexes for the (tableSchema, tableName) parameters

type PrimaryKey

type PrimaryKey struct {
	TableCatalog      sql.NullString `json:"tableCatalog"`
	TableSchema       sql.NullString `json:"tableSchema"`
	TableName         sql.NullString `json:"tableName"`
	ConstraintName    sql.NullString `json:"constraintName"`
	ConstraintColumns sql.NullString `json:"constraintColumns"`
	ConstraintStatus  sql.NullString `json:"constraintStatus"`
	Comment           sql.NullString `json:"comment"`
}

PrimaryKey contains primary key columns for tables

func PrimaryKeys

func PrimaryKeys(db *sql.DB, q, schemaName, tableName string) ([]PrimaryKey, error)

PrimaryKeys returns a slice of primary keys for the (schemaName, tableName) parameters

type ReferentialConstraint

type ReferentialConstraint struct {
	TableCatalog      sql.NullString `json:"tableCatalog"`
	TableSchema       sql.NullString `json:"tableSchema"`
	TableName         sql.NullString `json:"tableName"`
	TableColumns      sql.NullString `json:"tableColumns"`
	ConstraintName    sql.NullString `json:"constraintName"`
	RefTableCatalog   sql.NullString `json:"refTableCatalog"`
	RefTableSchema    sql.NullString `json:"refTableSchema"`
	RefTableName      sql.NullString `json:"refTableName"`
	RefTableColumns   sql.NullString `json:"refTableColumns"`
	RefConstraintName sql.NullString `json:"refConstraintName"`
	MatchOption       sql.NullString `json:"matchOption"`
	UpdateRule        sql.NullString `json:"updateRule"`
	DeleteRule        sql.NullString `json:"deleteRule"`
	IsEnforced        sql.NullString `json:"isEnforced"`
	//is_deferrable
	//initially_deferred
	Comment sql.NullString `json:"comment"`
}

ReferentialConstraint contains details for referential constraints

func ReferentialConstraints

func ReferentialConstraints(db *sql.DB, q, schemaName, tableName string) ([]ReferentialConstraint, error)

ReferentialConstraints returns a slice of Referential Constraints for the (schemaName, tableName) parameters

type Schema

type Schema struct {
	CatalogName                sql.NullString `json:"catalogName"`
	SchemaName                 sql.NullString `json:"schemaName"`
	SchemaOwner                sql.NullString `json:"schemaOwner"`
	DefaultCharacterSetCatalog sql.NullString `json:"defaultCharacterSetCatalog"`
	DefaultCharacterSetSchema  sql.NullString `json:"defaultCharacterSetSchema"`
	DefaultCharacterSetName    sql.NullString `json:"defaultCharacterSetName"`
	Comment                    sql.NullString `json:"comment"`
}

Schema contains details for Schemata

func Schemata

func Schemata(db *sql.DB, q, nclude, xclude string) ([]Schema, error)

Schemata returns a slice of Schemas, optionally filtered on the (nclude, xclude) parameters

type Table

type Table struct {
	TableCatalog   sql.NullString `json:"tableCatalog"`
	TableSchema    sql.NullString `json:"tableSchema"`
	TableName      sql.NullString `json:"tableName"`
	TableOwner     sql.NullString `json:"tableOwner"`
	TableType      sql.NullString `json:"tableType"`
	RowCount       sql.NullInt64  `json:"rowCount"`
	Comment        sql.NullString `json:"comment"`
	ViewDefinition sql.NullString `json:"viewDefinition"`
}

Table contains details for tables and views

func Tables

func Tables(db *sql.DB, q, tableSchema string) ([]Table, error)

Tables returns a slice of Tables for the (schema) parameter

type Type

type Type struct {
	TypeCatalog sql.NullString `json:"typeCatalog"`
	TypeSchema  sql.NullString `json:"typeSchema"`
	TypeName    sql.NullString `json:"typeName"`
	TypeOwner   sql.NullString `json:"typeOwner"`
	//DataType    sql.NullString `json:"dataType"`
	Comment sql.NullString `json:"comment"`
}

Type contains details for user defined types

func Types

func Types(db *sql.DB, q, schemaName string) ([]Type, error)

Types returns a slice of Types for the (schemaName) parameter

type UniqueConstraint

type UniqueConstraint struct {
	TableCatalog      sql.NullString `json:"tableCatalog"`
	TableSchema       sql.NullString `json:"tableSchema"`
	TableName         sql.NullString `json:"tableName"`
	ConstraintName    sql.NullString `json:"constraintName"`
	ConstraintColumns sql.NullString `json:"constraintColumns"`
	Status            sql.NullString `json:"status"`
	Comment           sql.NullString `json:"comment"`
}

UniqueConstraint contains details for Unique Constraints

func UniqueConstraints

func UniqueConstraints(db *sql.DB, q, schemaName, tableName string) ([]UniqueConstraint, error)

UniqueConstraints returns a slice of Unique Constraints for the (schemaName, tableName) parameters

Jump to

Keyboard shortcuts

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