Range expression update
* Add Int4 and Int8 integer expression to distinguish int4range and int8range types * Add range functions to range expressions to avoid go template appearing in sql * Compact range integration tests and add range update tests
This commit is contained in:
parent
9d45aaaba5
commit
43fc77ba99
8 changed files with 472 additions and 460 deletions
|
|
@ -89,17 +89,17 @@ type ColumnTimestampzRange = jet.ColumnRange[TimestampzExpression]
|
|||
// TimestampzRangeColumn creates named range with range column
|
||||
var TimestampzRangeColumn = jet.RangeColumn[TimestampzExpression]
|
||||
|
||||
// ColumnInt4Range is interface of SQL int range column
|
||||
type ColumnInt4Range = jet.ColumnRange[IntegerExpression]
|
||||
// ColumnInt4Range is interface of SQL int4 range column
|
||||
type ColumnInt4Range jet.ColumnRange[jet.Int4Expression]
|
||||
|
||||
// Int4RangeColumn creates named range with range column
|
||||
var Int4RangeColumn = jet.RangeColumn[IntegerExpression]
|
||||
var Int4RangeColumn = jet.RangeColumn[jet.Int4Expression]
|
||||
|
||||
// ColumnInt8Range is interface of SQL int range column
|
||||
type ColumnInt8Range = jet.ColumnRange[IntegerExpression]
|
||||
// ColumnInt8Range is interface of SQL int8 range column
|
||||
type ColumnInt8Range jet.ColumnRange[jet.Int8Expression]
|
||||
|
||||
// Int8RangeColumn creates named range with range column
|
||||
var Int8RangeColumn = jet.RangeColumn[IntegerExpression]
|
||||
var Int8RangeColumn = jet.RangeColumn[jet.Int8Expression]
|
||||
|
||||
//------------------------------------------------------//
|
||||
|
||||
|
|
|
|||
|
|
@ -102,9 +102,14 @@ var TimestampzExp = jet.TimestampzExp
|
|||
// RangeExp is range expression wrapper around arbitrary expression.
|
||||
// Allows go compiler to see any expression as range expression.
|
||||
// Does not add sql cast to generated sql builder output.
|
||||
func RangeExp[T Expression](expression T) jet.Range[T] {
|
||||
return jet.RangeExp[T](expression)
|
||||
}
|
||||
var (
|
||||
Int4RangeExp = jet.Int4RangeExp
|
||||
Int8RangeExp = jet.Int8RangeExp
|
||||
NumRangeExp = jet.NumRangeExp
|
||||
DateRangeExp = jet.DateRangeExp
|
||||
TsRangeExp = jet.TsRangeExp
|
||||
TstzRangeExp = jet.TstzRangeExp
|
||||
)
|
||||
|
||||
// RawArgs is type used to pass optional arguments to Raw method
|
||||
type RawArgs = map[string]interface{}
|
||||
|
|
@ -125,8 +130,8 @@ var (
|
|||
RawTimestampz = jet.RawTimestampz
|
||||
RawDate = jet.RawDate
|
||||
RawNumRange = jet.RawRange[jet.NumericExpression]
|
||||
RawInt4Range = jet.RawRange[jet.IntegerExpression]
|
||||
RawInt8Range = jet.RawRange[jet.IntegerExpression]
|
||||
RawInt4Range = jet.RawRange[jet.Int4Expression]
|
||||
RawInt8Range = jet.RawRange[jet.Int8Expression]
|
||||
RawTimestampRange = jet.RawRange[jet.TimestampExpression]
|
||||
RawTimestampzRange = jet.RawRange[jet.TimestampzExpression]
|
||||
RawDateRange = jet.RawRange[jet.DateExpression]
|
||||
|
|
|
|||
|
|
@ -434,15 +434,16 @@ var CUBE = jet.CUBE
|
|||
// of the GROUPING function would then be an integer bit mask having 1’s for the arguments which have GROUPING(argument) as 1.
|
||||
var GROUPING = jet.GROUPING
|
||||
|
||||
// range constructor functions
|
||||
var (
|
||||
// DATE_RANGE constructor function to create a date range
|
||||
DATE_RANGE = jet.DateRange
|
||||
// NUM_Range constructor function to create a numeric range
|
||||
NUM_Range = jet.NumRange
|
||||
// TIMESTAMP_RANGE constructor function to create a timestamp range
|
||||
TIMESTAMP_RANGE = jet.TimestampRange
|
||||
// TIMESTAMPTZ_RANGE constructor function to create a timestampz range
|
||||
TIMESTAMPTZ_RANGE = jet.TimestampzRange
|
||||
// NUM_RANGE constructor function to create a numeric range
|
||||
NUM_RANGE = jet.NumRange
|
||||
// TS_RANGE constructor function to create a timestamp range
|
||||
TS_RANGE = jet.TsRange
|
||||
// TSTZ_RANGE constructor function to create a timestampz range
|
||||
TSTZ_RANGE = jet.TstzRange
|
||||
// INT4_RANGE constructor function to create a int4 range
|
||||
INT4_RANGE = jet.Int4Range
|
||||
// INT8_RANGE constructor function to create a int8 range
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue