Skip to content

Commit 63aeb0a

Browse files
authored
Merge pull request #13 from upfluence/sp-extra-builder-clause
x/sqlbuilder: add more static helper
2 parents 8bc0208 + 9687b12 commit 63aeb0a

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

x/sqlbuilder/predicate_clause.go

+16
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,22 @@ func StaticNe(m Marker, v interface{}) PredicateClause {
8282
return Static(Ne(m), map[string]interface{}{m.Binding(): v})
8383
}
8484

85+
func StaticGt(m Marker, v interface{}) PredicateClause {
86+
return Static(Gt(m), map[string]interface{}{m.Binding(): v})
87+
}
88+
89+
func StaticGte(m Marker, v interface{}) PredicateClause {
90+
return Static(Gte(m), map[string]interface{}{m.Binding(): v})
91+
}
92+
93+
func StaticLt(m Marker, v interface{}) PredicateClause {
94+
return Static(Lt(m), map[string]interface{}{m.Binding(): v})
95+
}
96+
97+
func StaticLte(m Marker, v interface{}) PredicateClause {
98+
return Static(Lte(m), map[string]interface{}{m.Binding(): v})
99+
}
100+
85101
func StaticLike(m Marker, v string) PredicateClause {
86102
return Static(Like(m), map[string]interface{}{m.Binding(): v})
87103
}

x/sqlbuilder/select_statement_test.go

+50
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,56 @@ func TestSelectQuery(t *testing.T) {
179179
stmt: "SELECT bar FROM foo WHERE bar = $1",
180180
args: []interface{}{"buz"},
181181
},
182+
{
183+
name: "static not eq",
184+
ss: SelectStatement{
185+
Table: "foo",
186+
SelectClauses: []Marker{Column("bar")},
187+
WhereClause: StaticNe(Column("bar"), "buz"),
188+
},
189+
stmt: "SELECT bar FROM foo WHERE bar != $1",
190+
args: []interface{}{"buz"},
191+
},
192+
{
193+
name: "static greater than",
194+
ss: SelectStatement{
195+
Table: "foo",
196+
SelectClauses: []Marker{Column("bar")},
197+
WhereClause: StaticGt(Column("bar"), "buz"),
198+
},
199+
stmt: "SELECT bar FROM foo WHERE bar > $1",
200+
args: []interface{}{"buz"},
201+
},
202+
{
203+
name: "static greater or equal",
204+
ss: SelectStatement{
205+
Table: "foo",
206+
SelectClauses: []Marker{Column("bar")},
207+
WhereClause: StaticGte(Column("bar"), "buz"),
208+
},
209+
stmt: "SELECT bar FROM foo WHERE bar >= $1",
210+
args: []interface{}{"buz"},
211+
},
212+
{
213+
name: "static lower than",
214+
ss: SelectStatement{
215+
Table: "foo",
216+
SelectClauses: []Marker{Column("bar")},
217+
WhereClause: StaticLt(Column("bar"), "buz"),
218+
},
219+
stmt: "SELECT bar FROM foo WHERE bar < $1",
220+
args: []interface{}{"buz"},
221+
},
222+
{
223+
name: "static lower or equal",
224+
ss: SelectStatement{
225+
Table: "foo",
226+
SelectClauses: []Marker{Column("bar")},
227+
WhereClause: StaticLte(Column("bar"), "buz"),
228+
},
229+
stmt: "SELECT bar FROM foo WHERE bar <= $1",
230+
args: []interface{}{"buz"},
231+
},
182232
{
183233
name: "static like",
184234
ss: SelectStatement{

0 commit comments

Comments
 (0)