types

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package types

Package types

Package types

Package types

Package types

Package types

Index

Constants

View Source
const (
	// DrvSqlite3 sqlite3.
	DrvSqlite3 = "sqlite3"

	// DrvMysql MySQL.
	DrvMysql = "mysql"

	// DrvClickhouse Yandex Clickhouse.
	DrvClickhouse = "clickhouse"

	// DrvRedshift Redshift.
	DrvRedshift = "redshift"

	// DrvTidb Tidb.
	DrvTidb = "tidb"

	// DrvPostgres Postgres SQL.
	DrvPostgres = "postgres"
)
View Source
const (
	// TBool The bool type.
	TBool = `bool`

	// TBytes The slice of bytes.
	TBytes = `bytes`

	// TFloat64 The float64 type.
	TFloat64 = `float64`

	// TInt64 The int64 type.
	TInt64 = `int64`

	// TString The string type.
	TString = `string`

	// TTime The time.Time type.
	TTime = `time`

	// TUint64 The uint64 type.
	TUint64 = `uint64`
)

Variables

View Source
var (
	// Abbreviations Main abbreviations.
	Abbreviations = []string{"API", "ASCII", "CPU", "CSS", "DNS", "EOF",
		"GUID", "HTML", "HTTP", "HTTPS", "ID", "IP", "JSON", "LHS", "QPS",
		"RAM", "RHS", "RPC", "SLA", "SMTP", "SSH", "TLS", "TTL", "UI",
		"UID", "UUID", "URI", "URL", "UTF8", "VM", "XML",
	}

	// NumberToWordMap Map for conversion first symbol of a structure fields from number to word.
	NumberToWordMap = map[rune]string{
		'0': "Nil", '1': "One", '2': "Two", '3': "Three", '4': "Four",
		'5': "Five", '6': "Six", '7': "Seven", '8': "Eight", '9': "Nine",
	}
)

Functions

This section is empty.

Types

type Base

type Base struct {
	Simple     string // Простейший базовый тип.
	IsNullable bool   // Флаг nullable, =true значение может быть NULL.
}

Base type.

func NewBase

func NewBase(simple string) *Base

NewBase Create new object type Base.

func (*Base) Nullable

func (bt *Base) Nullable(isNullable bool)

Nullable Set nullable flag.

func (*Base) String

func (bt *Base) String() string

String Return type as string.

type ColumnInfo

type ColumnInfo struct {
	Name            ColumnName // [COLUMN_NAME]               Название колонки.
	Default         *string    // [COLUMN_DEFAULT]            Значение по умолчанию для колонки.
	TypeSimple      string     // [DATA_TYPE]                 Тип колонки, простой вариант без расширения.
	TypeFull        string     // [COLUMN_TYPE]               Полный тип колонки используемый в запросе создания таблицы.
	Comment         string     // [COLUMN_COMMENT]            Комментарий к таблице.
	Size            *uint64    // [CHARACTER_MAXIMUM_LENGTH]  Максимальная длинна данных колонки.
	Precision       *uint64    // [NUMERIC_PRECISION]         Точность.
	Scale           *uint64    // [NUMERIC_SCALE]             Масштаб (количество знаков после запятой).
	IsNullable      bool       // [IS_NULLABLE]               =true - Значение может быть NULL.
	IsUnsigned      bool       // [COLUMN_TYPE]               =true - Колонка UNSIGNED.
	IsPrimary       bool       // [COLUMN_KEY]                Колонка является первичным ключём.
	IsAutoIncrement bool       // [EXTRA]                     Если колонка имеет атрибут auto_increment.
	TypeGolang      *Base      // Тип данных golang
}

ColumnInfo Информация о колонке.

type ColumnName

type ColumnName string

ColumnName Тип названия колонки.

func (*ColumnName) CamelCase

func (cn *ColumnName) CamelCase() (ret string)

CamelCase Преобразование имени колонки в верблюжью нотацию и совместимый с golang формат.

type Dialect

type Dialect interface {
	// DatabaseCurrent Получение имени текущей базы данных выбранной через DSN.
	DatabaseCurrent(db *sql.DB) (ret string, err error)

	// TableInfo Получение информации о структуре таблицы.
	TableInfo(db *sql.DB, databaseName string, tableName string) (ret *TableInfo, err error)
}

Dialect abstracts the details of specific SQL dialects.

type GoType

type GoType map[bool]string

GoType Golang types map.

func (*GoType) Nullable

func (gt *GoType) Nullable(isNulable bool) (ret string)

Nullable type to string.

type TableInfo

type TableInfo struct {
	Database string        // Название базы данных.
	Table    string        // Название таблицы.
	Package  string        // Название пакета.
	Struct   string        // Название структуры.
	Comment  string        // Комментарий к структуре, он же комментарий к таблице.
	Columns  []*ColumnInfo // Колонки таблицы.
}

TableInfo Информация о таблице.

Jump to

Keyboard shortcuts

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