@@ -46,88 +46,88 @@ func TestIndexBuilderRanges(t *testing.T) {
4646 t .Run ("IsNull,Equals2=EmptyRange" , func (t * testing.T ) {
4747 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
4848 builder = builder .IsNull (ctx , "column_0" )
49- builder = builder .Equals (ctx , "column_0" , 2 )
49+ builder = builder .Equals (ctx , "column_0" , nil , 2 )
5050 ranges := builder .Ranges (ctx )
5151 assert .NotNil (t , ranges )
5252 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .EmptyRangeColumnExpr (types .Int8 )}}, ranges )
5353 })
5454
5555 t .Run ("NotEquals2=(NULL,2),(2,Inf)" , func (t * testing.T ) {
5656 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
57- builder = builder .NotEquals (ctx , "column_0" , 2 )
57+ builder = builder .NotEquals (ctx , "column_0" , nil , 2 )
5858 ranges := builder .Ranges (ctx )
5959 assert .NotNil (t , ranges )
6060 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .GreaterThanRangeColumnExpr (int8 (2 ), types .Int8 )}, sql.MySQLRange {sql .LessThanRangeColumnExpr (int8 (2 ), types .Int8 )}}, ranges )
6161 })
6262
6363 t .Run ("NotEquals2,Equals2=(Inf,Inf)" , func (t * testing.T ) {
6464 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
65- builder = builder .NotEquals (ctx , "column_0" , 2 )
66- builder = builder .Equals (ctx , "column_0" , 2 )
65+ builder = builder .NotEquals (ctx , "column_0" , nil , 2 )
66+ builder = builder .Equals (ctx , "column_0" , nil , 2 )
6767 ranges := builder .Ranges (ctx )
6868 assert .NotNil (t , ranges )
6969 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .EmptyRangeColumnExpr (types .Int8 )}}, ranges )
7070 })
7171
7272 t .Run ("Equals2,NotEquals2=(Inf,Inf)" , func (t * testing.T ) {
7373 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
74- builder = builder .Equals (ctx , "column_0" , 2 )
75- builder = builder .NotEquals (ctx , "column_0" , 2 )
74+ builder = builder .Equals (ctx , "column_0" , nil , 2 )
75+ builder = builder .NotEquals (ctx , "column_0" , nil , 2 )
7676 ranges := builder .Ranges (ctx )
7777 assert .NotNil (t , ranges )
7878 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .EmptyRangeColumnExpr (types .Int8 )}}, ranges )
7979 })
8080
8181 t .Run ("LT4=(NULL,4)" , func (t * testing.T ) {
8282 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
83- builder = builder .LessThan (ctx , "column_0" , 4 )
83+ builder = builder .LessThan (ctx , "column_0" , nil , 4 )
8484 ranges := builder .Ranges (ctx )
8585 assert .NotNil (t , ranges )
8686 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .LessThanRangeColumnExpr (int8 (4 ), types .Int8 )}}, ranges )
8787 })
8888
8989 t .Run ("GT2,LT4=(2,4)" , func (t * testing.T ) {
9090 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
91- builder = builder .GreaterThan (ctx , "column_0" , 2 )
92- builder = builder .LessThan (ctx , "column_0" , 4 )
91+ builder = builder .GreaterThan (ctx , "column_0" , nil , 2 )
92+ builder = builder .LessThan (ctx , "column_0" , nil , 4 )
9393 ranges := builder .Ranges (ctx )
9494 assert .NotNil (t , ranges )
9595 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .OpenRangeColumnExpr (int8 (2 ), int8 (4 ), types .Int8 )}}, ranges )
9696 })
9797
9898 t .Run ("GT2,GT6=(4,Inf)" , func (t * testing.T ) {
9999 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
100- builder = builder .GreaterThan (ctx , "column_0" , 2 )
101- builder = builder .GreaterThan (ctx , "column_0" , 6 )
100+ builder = builder .GreaterThan (ctx , "column_0" , nil , 2 )
101+ builder = builder .GreaterThan (ctx , "column_0" , nil , 6 )
102102 ranges := builder .Ranges (ctx )
103103 assert .NotNil (t , ranges )
104104 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .GreaterThanRangeColumnExpr (int8 (6 ), types .Int8 )}}, ranges )
105105 })
106106
107107 t .Run ("GT2,LT4,GT6=(Inf,Inf)" , func (t * testing.T ) {
108108 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
109- builder = builder .GreaterThan (ctx , "column_0" , 2 )
110- builder = builder .LessThan (ctx , "column_0" , 4 )
111- builder = builder .GreaterThan (ctx , "column_0" , 6 )
109+ builder = builder .GreaterThan (ctx , "column_0" , nil , 2 )
110+ builder = builder .LessThan (ctx , "column_0" , nil , 4 )
111+ builder = builder .GreaterThan (ctx , "column_0" , nil , 6 )
112112 ranges := builder .Ranges (ctx )
113113 assert .NotNil (t , ranges )
114114 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .EmptyRangeColumnExpr (types .Int8 )}}, ranges )
115115 })
116116
117117 t .Run ("NotEqual2,NotEquals4=(2,4),(4,Inf),(NULL,2)" , func (t * testing.T ) {
118118 builder := sql .NewMySQLIndexBuilder (testIndex {1 })
119- builder = builder .NotEquals (ctx , "column_0" , 2 )
120- builder = builder .NotEquals (ctx , "column_0" , 4 )
119+ builder = builder .NotEquals (ctx , "column_0" , nil , 2 )
120+ builder = builder .NotEquals (ctx , "column_0" , nil , 4 )
121121 ranges := builder .Ranges (ctx )
122122 assert .NotNil (t , ranges )
123123 assert .Equal (t , sql.MySQLRangeCollection {sql.MySQLRange {sql .OpenRangeColumnExpr (int8 (2 ), int8 (4 ), types .Int8 )}, sql.MySQLRange {sql .GreaterThanRangeColumnExpr (int8 (4 ), types .Int8 )}, sql.MySQLRange {sql .LessThanRangeColumnExpr (int8 (2 ), types .Int8 )}}, ranges )
124124 })
125125
126126 t .Run ("ThreeColumnCombine" , func (t * testing.T ) {
127127 clauses := make ([]sql.MySQLRangeCollection , 3 )
128- clauses [0 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).GreaterOrEqual (ctx , "column_0" , 99 ).LessThan (ctx , "column_1" , 66 ).Ranges (ctx )
129- clauses [1 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).GreaterOrEqual (ctx , "column_0" , 1 ).LessOrEqual (ctx , "column_0" , 47 ).Ranges (ctx )
130- clauses [2 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).NotEquals (ctx , "column_0" , 2 ).LessThan (ctx , "column_1" , 30 ).Ranges (ctx )
128+ clauses [0 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).GreaterOrEqual (ctx , "column_0" , nil , 99 ).LessThan (ctx , "column_1" , nil , 66 ).Ranges (ctx )
129+ clauses [1 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).GreaterOrEqual (ctx , "column_0" , nil , 1 ).LessOrEqual (ctx , "column_0" , nil , 47 ).Ranges (ctx )
130+ clauses [2 ] = sql .NewMySQLIndexBuilder (testIndex {3 }).NotEquals (ctx , "column_0" , nil , 2 ).LessThan (ctx , "column_1" , nil , 30 ).Ranges (ctx )
131131 assert .Len (t , clauses [0 ], 1 )
132132 assert .Len (t , clauses [1 ], 1 )
133133 assert .Len (t , clauses [2 ], 2 )
0 commit comments