jet/postgres/literal.go

101 lines
3.4 KiB
Go
Raw Normal View History

2019-08-03 14:10:47 +02:00
package postgres
import (
2020-06-27 18:48:19 +02:00
"github.com/go-jet/jet/v2/internal/jet"
"time"
)
2019-08-03 14:10:47 +02:00
2019-08-17 14:49:35 +02:00
// Bool creates new bool literal expression
2019-08-03 14:10:47 +02:00
var Bool = jet.Bool
2019-08-17 14:49:35 +02:00
2021-02-22 13:58:28 -05:00
// Int is constructor for 64 bit signed integer expressions literals.
2019-08-03 14:10:47 +02:00
var Int = jet.Int
2019-08-17 14:49:35 +02:00
2021-02-22 13:58:28 -05:00
// Int8 is constructor for 8 bit signed integer expressions literals.
var Int8 = jet.Int8
// Int16 is constructor for 16 bit signed integer expressions literals.
var Int16 = jet.Int16
// Int32 is constructor for 32 bit signed integer expressions literals.
var Int32 = jet.Int32
// Int64 is constructor for 64 bit signed integer expressions literals.
var Int64 = jet.Int
// Uint8 is constructor for 8 bit unsigned integer expressions literals.
var Uint8 = jet.Uint8
// Uint16 is constructor for 16 bit unsigned integer expressions literals.
var Uint16 = jet.Uint16
// Uint32 is constructor for 32 bit unsigned integer expressions literals.
var Uint32 = jet.Uint32
// Uint64 is constructor for 64 bit unsigned integer expressions literals.
var Uint64 = jet.Uint64
2019-08-17 14:49:35 +02:00
// Float creates new float literal expression
2019-08-03 14:10:47 +02:00
var Float = jet.Float
2019-08-17 14:49:35 +02:00
// Decimal creates new float literal expression
var Decimal = jet.Decimal
2019-08-17 14:49:35 +02:00
// String creates new string literal expression
2019-08-03 14:10:47 +02:00
var String = jet.String
2019-08-17 14:49:35 +02:00
// Bytea craates new bytea literal expression
var Bytea = func(value string) StringExpression {
return CAST(jet.String(value)).AS_BYTEA()
}
2019-08-17 14:49:35 +02:00
// Date creates new date literal expression
var Date = func(year int, month time.Month, day int) DateExpression {
2019-08-03 14:10:47 +02:00
return CAST(jet.Date(year, month, day)).AS_DATE()
}
2019-08-17 14:49:35 +02:00
// DateT creates new date literal expression from time.Time object
var DateT = func(t time.Time) DateExpression {
return CAST(jet.DateT(t)).AS_DATE()
}
2019-08-17 14:49:35 +02:00
// Time creates new time literal expression
2019-08-13 10:16:26 +02:00
var Time = func(hour, minute, second int, nanoseconds ...time.Duration) TimeExpression {
return CAST(jet.Time(hour, minute, second, nanoseconds...)).AS_TIME()
2019-08-03 14:10:47 +02:00
}
2019-08-17 14:49:35 +02:00
// TimeT creates new time literal expression from time.Time object
var TimeT = func(t time.Time) TimeExpression {
return CAST(jet.TimeT(t)).AS_TIME()
}
2019-08-17 14:49:35 +02:00
// Timez creates new time with time zone literal expression
2019-08-13 10:16:26 +02:00
var Timez = func(hour, minute, second int, milliseconds time.Duration, timezone string) TimezExpression {
2019-08-03 14:10:47 +02:00
return CAST(jet.Timez(hour, minute, second, milliseconds, timezone)).AS_TIMEZ()
}
2019-08-17 14:49:35 +02:00
// TimezT creates new time with time zone literal expression from time.Time object
var TimezT = func(t time.Time) TimezExpression {
return CAST(jet.TimezT(t)).AS_TIMEZ()
}
2019-08-17 14:49:35 +02:00
// Timestamp creates new timestamp literal expression
2019-08-13 10:16:26 +02:00
var Timestamp = func(year int, month time.Month, day, hour, minute, second int, milliseconds ...time.Duration) TimestampExpression {
return CAST(jet.Timestamp(year, month, day, hour, minute, second, milliseconds...)).AS_TIMESTAMP()
2019-08-03 14:10:47 +02:00
}
2019-08-17 14:49:35 +02:00
// TimestampT creates new timestamp literal expression from time.Time object
var TimestampT = func(t time.Time) TimestampExpression {
2019-08-17 14:49:35 +02:00
return CAST(jet.TimestampT(t)).AS_TIMESTAMP()
}
2019-08-17 14:49:35 +02:00
// Timestampz creates new timestamp with time zone literal expression
2019-08-13 10:16:26 +02:00
var Timestampz = func(year int, month time.Month, day, hour, minute, second int, milliseconds time.Duration, timezone string) TimestampzExpression {
2019-08-03 14:10:47 +02:00
return CAST(jet.Timestampz(year, month, day, hour, minute, second, milliseconds, timezone)).AS_TIMESTAMPZ()
}
2019-08-17 14:49:35 +02:00
// TimestampzT creates new timestamp literal expression from time.Time object
var TimestampzT = func(t time.Time) TimestampzExpression {
return CAST(jet.TimestampzT(t)).AS_TIMESTAMPZ()
}