MCPcopy Create free account
hub / github.com/araddon/qlbridge / TestExecHaving

Function TestExecHaving

exec/exec_test.go:204–233  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

202}
203
204func TestExecHaving(t *testing.T) {
205 sqlText := `
206 select
207 user_id, count(user_id) AS order_ct
208 FROM orders
209 GROUP BY user_id
210 HAVING order_ct > 1
211 `
212 ctx := td.TestContext(sqlText)
213 job, err := exec.BuildSqlJob(ctx)
214 assert.True(t, err == nil, "no error %v", err)
215
216 msgs := make([]schema.Message, 0)
217 resultWriter := exec.NewResultBuffer(ctx, &msgs)
218 job.RootTask.Add(resultWriter)
219
220 err = job.Setup()
221 assert.True(t, err == nil)
222 err = job.Run()
223 time.Sleep(time.Millisecond * 10)
224 assert.True(t, err == nil, "no error %v", err)
225 assert.True(t, len(msgs) == 1, "should have filtered HAVING orders into 1 users %v", len(msgs))
226 u.Debugf("msg: %#v", msgs[0])
227 row := msgs[0].(*datasource.SqlDriverMessageMap).Values()
228 u.Debugf("row: %#v", row)
229 assert.True(t, len(row) == 2, "expects 2 cols but got %v", len(row))
230 assert.True(t, row[0] == "9Ip1aKbeZe2njCDM")
231 // I really don't like this float behavior?
232 assert.True(t, int(row[1].(int64)) == 2, "expected 2 orders for %v", row)
233}
234
235type UserEvent struct {
236 Id string

Callers

nothing calls this directly

Calls 6

BuildSqlJobFunction · 0.92
NewResultBufferFunction · 0.92
AddMethod · 0.65
SetupMethod · 0.65
RunMethod · 0.65
ValuesMethod · 0.65

Tested by

no test coverage detected