featurebase/sql3/test/defs/defs_join.go
Travis Turner 53170cef64 Move SQL3 test definitions into sql3/test/defs package (#2289)
This so other packages can import and use them in their own tests.

(cherry picked from commit eec278893a)
2022-11-15 11:33:35 -08:00

65 lines
1.4 KiB
Go

package defs
// join tests
var joinTestsUsers = TableTest{
name: "jointestusers",
Table: tbl(
"users",
srcHdrs(
srcHdr("_id", fldTypeID),
srcHdr("name", fldTypeString),
srcHdr("age", fldTypeInt),
),
srcRows(
srcRow(int64(0), string("a"), int64(21)),
srcRow(int64(1), string("b"), int64(18)),
srcRow(int64(2), string("c"), int64(28)),
srcRow(int64(3), string("d"), int64(34)),
),
),
SQLTests: nil,
}
var joinTestsOrders = TableTest{
name: "jointestorders",
Table: tbl(
"orders",
srcHdrs(
srcHdr("_id", fldTypeID),
srcHdr("userid", fldTypeID),
srcHdr("price", fldTypeDecimal2),
),
srcRows(
srcRow(int64(0), int64(1), float64(9.99)),
srcRow(int64(1), int64(0), float64(3.99)),
srcRow(int64(2), int64(2), float64(14.99)),
srcRow(int64(3), int64(3), float64(5.99)),
srcRow(int64(4), int64(1), float64(12.99)),
srcRow(int64(5), int64(2), float64(1.99)),
),
),
SQLTests: nil,
}
var joinTests = TableTest{
name: "innerjointest",
SQLTests: []SQLTest{
{
name: "innerjoin-aggregate-groupby",
SQLs: sqls(
"select u._id, sum(orders.price) from orders o inner join users u on o.userid = u._id group by u._id;",
),
ExpHdrs: hdrs(
hdr("_id", fldTypeID),
hdr("", fldTypeDecimal2),
),
ExpRows: rows(
row(int64(1), float64(22.98)),
row(int64(0), float64(3.99)),
row(int64(2), float64(16.98)),
row(int64(3), float64(5.99)),
),
Compare: CompareExactOrdered,
},
},
}