defaultDriver

package
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DbDataTypeDefineFunMaps = map[DDTType]func(size int, decimal ...int) string{
	DbDataInt: func(size int, decimal ...int) string {
		return "int"
	},
	DbDataTinyint: func(size int, decimal ...int) string {
		if size == 0 {
			return fmt.Sprintf("tinyint")
		}
		return fmt.Sprintf("tinyint(%d)", size)
	},
	DbDataSmallint: func(size int, decimal ...int) string {
		if size == 0 {
			size = DbDataTypeSizes[DbDataSmallint][0]
		}
		return fmt.Sprintf("smallint(%d)", size)
	},
	DbDataBigint: func(size int, decimal ...int) string {
		return "bigint"
	},
	DbDataFloat: func(size int, decimal ...int) string {
		return "float"
	},
	DbDataDouble: func(size int, decimal ...int) string {
		return "double"
	},
	DbDataDecimal: func(size int, decimal ...int) string {
		if size == 0 && len(decimal) > 0 {
			size = decimal[0] + 2
			return fmt.Sprintf("decimal(%d,%d)", size, decimal[0])
		} else if size == 0 && len(decimal) == 0 {
			return "decimal"
		} else if size > 0 && len(decimal) > 0 {
			if size < decimal[0] {
				size = decimal[0] + 2
			}
			return fmt.Sprintf("decimal(%d,%d)", size, decimal[0])
		} else if size > 0 && len(decimal) == 0 {
			return fmt.Sprintf("decimal(%d, 0)", size)
		} else {
			return "decimal"
		}
	},
	DbDataDate: func(size int, decimal ...int) string {
		return "date"
	},
	DbDataTime: func(size int, decimal ...int) string {
		return "time"
	},
	DbDataDateTime: func(size int, decimal ...int) string {
		return "datetime"
	},
	DbDataTimestamp: func(size int, decimal ...int) string {
		return "timestamp"
	},
	DbDataChar: func(size int, decimal ...int) string {
		if size == 0 {
			size = DbDataTypeSizes[DbDataChar][0]
		}
		return fmt.Sprintf("char(%d)", size)
	},
	DbDataVarchar: func(size int, decimal ...int) string {
		if size == 0 {
			size = DbDataTypeSizes[DbDataVarchar][0]
		}
		return fmt.Sprintf("varchar(%d)", size)
	},
	DbDataTinytext: func(size int, decimal ...int) string {
		return "tinytext"
	},
	DbDataText: func(size int, decimal ...int) string {
		return "text"
	},
	DbDataLongText: func(size int, decimal ...int) string {
		return "longtext"
	},
	DbDataTinyblob: func(size int, decimal ...int) string {
		return "tinyblob"
	},
	DbDataBlob: func(size int, decimal ...int) string {
		return "blob"
	},
	DbDataLongblob: func(size int, decimal ...int) string {
		return "longblob"
	},
	DbDataBinary: func(size int, decimal ...int) string {
		if size == 0 {
			size = DbDataTypeSizes[DbDataBinary][0]
		}
		return fmt.Sprintf("binary(%d)", size)
	},
	DbDataVarbinary: func(size int, decimal ...int) string {
		if size == 0 {
			size = DbDataTypeSizes[DbDataVarbinary][0]
		}
		return fmt.Sprintf("varbinary(%d)", size)
	},
}
View Source
var DbDataTypeSizes = map[DDTType][]int{
	DbDataInt:      {0, 4},
	DbDataTinyint:  {0, 1},
	DbDataSmallint: {6, 6},
	DbDataBigint:   {0, 8},

	DbDataFloat:   {0, 4},
	DbDataDouble:  {0, 8},
	DbDataDecimal: {0, 18},

	DbDataDate:      {0, 3},
	DbDataTime:      {0, 3},
	DbDataDateTime:  {0, 8},
	DbDataTimestamp: {0, 4},

	DbDataChar:     {128, 255},
	DbDataVarchar:  {128, 65535},
	DbDataTinytext: {0, 255},
	DbDataText:     {0, 65535},
	DbDataLongText: {0, 4294967295},

	DbDataBlob:     {0, 65535},
	DbDataTinyblob: {0, 255},
	DbDataLongblob: {0, 4294967295},

	DbDataBinary:    {1, 65535},
	DbDataVarbinary: {128, 65535},
}

Functions

This section is empty.

Types

type DDTType

type DDTType = DbDataType

type TDbDefaultDriver

type TDbDefaultDriver struct {
}

func (*TDbDefaultDriver) BuildInsert

func (dr *TDbDefaultDriver) BuildInsert(table, fields, values, fromTable string) string

生成插入脚本 Deprecated: 不再使用

func (*TDbDefaultDriver) BuildQuery

func (dr *TDbDefaultDriver) BuildQuery(table, fields, joins, where, group, having, order string, rows, offset int) string

func (*TDbDefaultDriver) BuildTableCreate

func (dr *TDbDefaultDriver) BuildTableCreate(tableDefine DbTableDefine) string

生成创建数据库表脚本

func (*TDbDefaultDriver) BuildUpdate

func (dr *TDbDefaultDriver) BuildUpdate(table, fields, joins, where string) string

func (*TDbDefaultDriver) CAST

func (dr *TDbDefaultDriver) CAST(exp string, ddType DbDataType, size int, decimal ...int) string

func (*TDbDefaultDriver) Case

func (dr *TDbDefaultDriver) Case(exp string, whenThen [][]string, elseValue ...string) string

func (*TDbDefaultDriver) Concat

func (dr *TDbDefaultDriver) Concat(field string, v string, more ...string) string

字符串连接函数

func (*TDbDefaultDriver) DateAdd

func (dr *TDbDefaultDriver) DateAdd(field string, interval int, part DatePart) string

数据库时间增加函数映射

func (*TDbDefaultDriver) DateDiff

func (dr *TDbDefaultDriver) DateDiff(field1 string, field2 string, part DatePart) string

计算时间差函数映射

func (*TDbDefaultDriver) DateFormat

func (dr *TDbDefaultDriver) DateFormat(field string, format string) string

格式化时间函数映射, field为DbField可以换转成日期的值

func (*TDbDefaultDriver) DateSub

func (dr *TDbDefaultDriver) DateSub(field string, interval int, part DatePart) string

数据库时间减少函数映射

func (*TDbDefaultDriver) DateToUnix

func (dr *TDbDefaultDriver) DateToUnix(field string) string

时间转时间戳函数映射

func (*TDbDefaultDriver) Driver

func (dr *TDbDefaultDriver) Driver() DbDriver

func (*TDbDefaultDriver) DriverType

func (dr *TDbDefaultDriver) DriverType() DbDriverType

func (*TDbDefaultDriver) FromBase64 added in v1.0.1

func (dr *TDbDefaultDriver) FromBase64(field string) string

func (*TDbDefaultDriver) ISNULL

func (dr *TDbDefaultDriver) ISNULL(exp string) string

func (*TDbDefaultDriver) If

func (dr *TDbDefaultDriver) If(exp string, v1, v2 string) string

func (*TDbDefaultDriver) IfNull

func (dr *TDbDefaultDriver) IfNull(v1 string, v2 string) string

func (*TDbDefaultDriver) InsertExecute

func (dr *TDbDefaultDriver) InsertExecute(ssl *TExprInsertSqlSSL) error

func (*TDbDefaultDriver) MakeDataDefine

func (dr *TDbDefaultDriver) MakeDataDefine(ddType DbDataType, size int, decimal ...int) string

func (*TDbDefaultDriver) MakeQueryParams

func (dr *TDbDefaultDriver) MakeQueryParams(vars []SqlParam) (result []interface{})

func (*TDbDefaultDriver) MakeRealValue

func (dr *TDbDefaultDriver) MakeRealValue(val interface{}) string

func (*TDbDefaultDriver) PlaceHolder

func (dr *TDbDefaultDriver) PlaceHolder(varName string) string

func (*TDbDefaultDriver) QuotesName

func (dr *TDbDefaultDriver) QuotesName(name string) string

func (*TDbDefaultDriver) SqlBuilder

func (dr *TDbDefaultDriver) SqlBuilder() DbDriverSqlBuilder

func (*TDbDefaultDriver) Substring

func (dr *TDbDefaultDriver) Substring(field string, from int, l int) string

func (*TDbDefaultDriver) This

func (dr *TDbDefaultDriver) This() interface{}

func (*TDbDefaultDriver) ToBase64 added in v1.0.1

func (dr *TDbDefaultDriver) ToBase64(field string) string

func (*TDbDefaultDriver) UnixToDate

func (dr *TDbDefaultDriver) UnixToDate(field string) string

时间戳转时间函数映射,field为DbField或实参变量

Jump to

Keyboard shortcuts

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