@@ -11,6 +11,7 @@ import (
1111 "time"
1212
1313 "github.com/go-xorm/builder"
14+ "github.com/go-xorm/core"
1415
1516 "github.com/stretchr/testify/assert"
1617)
@@ -186,6 +187,72 @@ func TestQueryNoParams(t *testing.T) {
186187 assertResult (t , results )
187188}
188189
190+ func TestQueryStringNoParam (t * testing.T ) {
191+ assert .NoError (t , prepareEngine ())
192+
193+ type GetVar4 struct {
194+ Id int64 `xorm:"autoincr pk"`
195+ Msg bool `xorm:"bit"`
196+ }
197+
198+ assert .NoError (t , testEngine .Sync2 (new (GetVar4 )))
199+
200+ var data = GetVar4 {
201+ Msg : false ,
202+ }
203+ _ , err := testEngine .Insert (data )
204+ assert .NoError (t , err )
205+
206+ records , err := testEngine .Table ("get_var4" ).Limit (1 ).QueryString ()
207+ assert .NoError (t , err )
208+ assert .EqualValues (t , 1 , len (records ))
209+ assert .EqualValues (t , "1" , records [0 ]["id" ])
210+ if testEngine .Dialect ().URI ().DbType == core .POSTGRES {
211+ assert .EqualValues (t , "false" , records [0 ]["msg" ])
212+ } else {
213+ assert .EqualValues (t , "0" , records [0 ]["msg" ])
214+ }
215+
216+ records , err = testEngine .Table ("get_var4" ).Where (builder.Eq {"id" : 1 }).QueryString ()
217+ assert .NoError (t , err )
218+ assert .EqualValues (t , 1 , len (records ))
219+ assert .EqualValues (t , "1" , records [0 ]["id" ])
220+ if testEngine .Dialect ().URI ().DbType == core .POSTGRES {
221+ assert .EqualValues (t , "false" , records [0 ]["msg" ])
222+ } else {
223+ assert .EqualValues (t , "0" , records [0 ]["msg" ])
224+ }
225+ }
226+
227+ func TestQueryInterfaceNoParam (t * testing.T ) {
228+ assert .NoError (t , prepareEngine ())
229+
230+ type GetVar5 struct {
231+ Id int64 `xorm:"autoincr pk"`
232+ Msg bool `xorm:"bit"`
233+ }
234+
235+ assert .NoError (t , testEngine .Sync2 (new (GetVar5 )))
236+
237+ var data = GetVar5 {
238+ Msg : false ,
239+ }
240+ _ , err := testEngine .Insert (data )
241+ assert .NoError (t , err )
242+
243+ records , err := testEngine .Table ("get_var5" ).Limit (1 ).QueryInterface ()
244+ assert .NoError (t , err )
245+ assert .EqualValues (t , 1 , len (records ))
246+ assert .EqualValues (t , 1 , toInt64 (records [0 ]["id" ]))
247+ assert .EqualValues (t , 0 , toInt64 (records [0 ]["msg" ]))
248+
249+ records , err = testEngine .Table ("get_var5" ).Where (builder.Eq {"id" : 1 }).QueryInterface ()
250+ assert .NoError (t , err )
251+ assert .EqualValues (t , 1 , len (records ))
252+ assert .EqualValues (t , 1 , toInt64 (records [0 ]["id" ]))
253+ assert .EqualValues (t , 0 , toInt64 (records [0 ]["msg" ]))
254+ }
255+
189256func TestQueryWithBuilder (t * testing.T ) {
190257 assert .NoError (t , prepareEngine ())
191258
0 commit comments