database

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package database provides utilities for connecting to a PostgreSQL database.

Index

Constants

This section is empty.

Variables

View Source
var MySQLNumericDataTypes = []NumericDataType{
	{Type: "BIT", HasSize: true, HasDigit: false, HasAutoIncrement: false},
	{Type: "TINYINT", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "BOOL", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "BOOLEAN", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "SMALLINT", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "MEDIUMINT", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "INT", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "INTEGER", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "BIGINT", HasSize: true, HasDigit: false, HasAutoIncrement: true},
	{Type: "FLOAT", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "FLOAT_PRECISION", HasSize: true, HasDigit: false, HasAutoIncrement: false},
	{Type: "DOUBLE", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "DOUBLE PRECISION", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "DECIMAL", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "DEC", HasSize: true, HasDigit: true, HasAutoIncrement: false},
}
View Source
var MySQLStringDataTypes = []StringDataType{
	{Type: "CHAR", HasSize: true, HasValues: false},
	{Type: "VARCHAR", HasSize: true, HasValues: false},
	{Type: "BINARY", HasSize: true, HasValues: false},
	{Type: "VARBINARY", HasSize: true, HasValues: false},

	{Type: "TINYBLOB", HasSize: false, HasValues: false},
	{Type: "TINYTEXT", HasSize: false, HasValues: false},

	{Type: "TEXT", HasSize: true, HasValues: false},
	{Type: "BLOB", HasSize: true, HasValues: false},

	{Type: "MEDIUMTEXT", HasSize: false, HasValues: false},
	{Type: "MEDIUMBLOB", HasSize: false, HasValues: false},

	{Type: "LONGTEXT", HasSize: false, HasValues: false},
	{Type: "LONGBLOB", HasSize: false, HasValues: false},

	{Type: "ENUM", HasSize: false, HasValues: true},
	{Type: "SET", HasSize: false, HasValues: true},
}
View Source
var PostgresNumericDataTypes = []NumericDataType{
	{Type: "SMALLINT", HasDigit: false, HasAutoIncrement: true},
	{Type: "INT2", HasDigit: false, HasAutoIncrement: true},
	{Type: "INTEGER", HasDigit: false, HasAutoIncrement: true},
	{Type: "INT", HasDigit: false, HasAutoIncrement: true},
	{Type: "INT4", HasDigit: false, HasAutoIncrement: true},
	{Type: "BIGINT", HasDigit: false, HasAutoIncrement: true},
	{Type: "INT8", HasDigit: false, HasAutoIncrement: true},

	{Type: "DECIMAL", HasDigit: true, HasAutoIncrement: false},
	{Type: "NUMERIC", HasDigit: true, HasAutoIncrement: false},

	{Type: "REAL", HasDigit: false, HasAutoIncrement: false},
	{Type: "FLOAT4", HasDigit: false, HasAutoIncrement: false},
	{Type: "DOUBLE PRECISION", HasDigit: false, HasAutoIncrement: false},
	{Type: "FLOAT8", HasDigit: false, HasAutoIncrement: false},

	{Type: "SMALLSERIAL", HasDigit: false, HasAutoIncrement: true},
	{Type: "SERIAL2", HasDigit: false, HasAutoIncrement: true},
	{Type: "SERIAL", HasDigit: false, HasAutoIncrement: true},
	{Type: "SERIAL4", HasDigit: false, HasAutoIncrement: true},
	{Type: "BIGSERIAL", HasDigit: false, HasAutoIncrement: true},
	{Type: "SERIAL8", HasDigit: false, HasAutoIncrement: true},

	{Type: "MONEY", HasDigit: false, HasAutoIncrement: false},
}
View Source
var PostgresStringDataTypes = []StringDataType{
	{Type: "CHAR", HasSize: true, HasValues: false},
	{Type: "CHARACTER", HasSize: true, HasValues: false},
	{Type: "VARCHAR", HasSize: true, HasValues: false},
	{Type: "CHARACTER VARYING", HasSize: true, HasValues: false},
	{Type: "TEXT", HasValues: false},
	{Type: "BPCHAR", HasSize: true, HasValues: false},
	{Type: "BYTEA", HasValues: false},
	{Type: "UUID", HasValues: false},
	{Type: "JSON", HasValues: false},
	{Type: "JSONB", HasValues: false},
	{Type: "XML", HasValues: false},
	{Type: "CITEXT", HasValues: false},
}
View Source
var SqliteNumericDataTypes = []NumericDataType{
	{Type: "INT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "INTEGER", HasSize: false, HasDigit: false, HasAutoIncrement: true},
	{Type: "TINYINT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "SMALLINT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "MEDIUMINT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "BIGINT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "UNSIGNED BIG INT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "INT2", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "INT8", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "REAL", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "DOUBLE", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "DOUBLE PRECISION", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "FLOAT", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "NUMERIC", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "DECIMAL", HasSize: true, HasDigit: true, HasAutoIncrement: false},
	{Type: "BOOLEAN", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "DATE", HasSize: false, HasDigit: false, HasAutoIncrement: false},
	{Type: "DATETIME", HasSize: false, HasDigit: false, HasAutoIncrement: false},
}
View Source
var SqliteStringDataTypes = []StringDataType{
	{Type: "TEXT", HasSize: false, HasValues: false},
	{Type: "CHARACTER", HasSize: true, HasValues: false},
	{Type: "VARCHAR", HasSize: true, HasValues: false},
	{Type: "VARYING CHARACTER", HasSize: true, HasValues: false},
	{Type: "NCHAR", HasSize: true, HasValues: false},
	{Type: "NATIVE CHARACTER", HasSize: true, HasValues: false},
	{Type: "CLOB", HasSize: false, HasValues: false},
	{Type: "BLOB", HasSize: false, HasValues: false},
}

Functions

func CreateDBPool

func CreateDBPool(ctx context.Context, dbString string) (*pgxpool.Pool, error)

Types

type DataType

type DataType struct {
	Type             string `json:"type"`
	HasSize          bool   `json:"hasSize"`
	HasValues        bool   `json:"hasValues,omitempty"`
	Size             int    `json:"size,omitempty"`
	HasDigit         bool   `json:"hasDigit,omitempty"`
	HasAutoIncrement bool   `json:"hasAutoIncrement"`
	AutoIncrement    bool   `json:"autoIncrement,omitempty"`
}

type Input

type Input struct {
	ColName  string   `json:"colName"`
	IsNull   bool     `json:"isNull"`
	IsPK     bool     `json:"isPk"`
	IsUnique bool     `json:"isUnique"`
	DataType DataType `json:"dataType"`
}

type NumericDataType

type NumericDataType struct {
	Type             string `json:"type"`
	HasSize          bool   `json:"hasSize"`
	HasDigit         bool   `json:"hasDigit"`
	HasAutoIncrement bool   `json:"hasAutoIncrement"`
}

type StringDataType

type StringDataType struct {
	Type      string `json:"type"`
	HasSize   bool   `json:"hasSize"`
	HasValues bool   `json:"hasValues"`
}

Directories

Path Synopsis
Package repo contains the repository for the database
Package repo contains the repository for the database

Jump to

Keyboard shortcuts

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