database

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 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 dberrors contains errors related to database operations.
Package dberrors contains errors related to database operations.
Package models conatains the models of database qureies and forms
Package models conatains the models of database qureies and forms
Package queries provides a set of SQL queries based on the driver
Package queries provides a set of SQL queries based on the driver
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