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

Function TestExecSelectWhere

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

Source from the content-addressed store, hash-verified

106}
107
108func TestExecSelectWhere(t *testing.T) {
109 sqlText := `
110 select
111 user_id, email, referral_count * 2, 5, yy(reg_date) > 10
112 FROM users
113 WHERE yy(reg_date) > 10
114 `
115 ctx := td.TestContext(sqlText)
116 job, err := exec.BuildSqlJob(ctx)
117 assert.True(t, err == nil, "no error %v", err)
118
119 msgs := make([]schema.Message, 0)
120 resultWriter := exec.NewResultBuffer(ctx, &msgs)
121 job.RootTask.Add(resultWriter)
122
123 err = job.Setup()
124 assert.True(t, err == nil)
125 err = job.Run()
126 time.Sleep(time.Millisecond * 10)
127 assert.True(t, err == nil, "no error %v", err)
128 assert.True(t, len(msgs) == 1, "should have filtered out 2 messages %v", len(msgs))
129 //u.Debugf("msg: %#v", msgs[0])
130 row := msgs[0].(*datasource.SqlDriverMessageMap).Values()
131 //u.Debugf("row: %#v", row)
132 assert.True(t, len(row) == 5, "expects 5 cols but got %v", len(row))
133 assert.True(t, row[0] == "9Ip1aKbeZe2njCDM")
134 // I really don't like this float behavior?
135 assert.True(t, int(row[2].(float64)) == 164, "expected %v == 164 T:%T", row[2], row[2])
136 assert.True(t, row[3] == int64(5), "wanted 5 got %v T:%T", row[3], row[3])
137 assert.True(t, row[4] == true)
138}
139
140func TestExecGroupBy(t *testing.T) {
141

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