MCPcopy
hub / github.com/ent/ent / TestSelector_SelectExpr

Function TestSelector_SelectExpr

dialect/sql/builder_test.go:1539–1571  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1537}
1538
1539func TestSelector_SelectExpr(t *testing.T) {
1540 query, args := SelectExpr(
1541 Expr("?", "a"),
1542 ExprFunc(func(b *Builder) {
1543 b.Ident("first_name").WriteOp(OpAdd).Ident("last_name")
1544 }),
1545 ExprFunc(func(b *Builder) {
1546 b.WriteString("COALESCE(").Ident("age").Comma().Arg(0).WriteByte(')')
1547 }),
1548 Expr("?", "b"),
1549 ).From(Table("users")).Query()
1550 require.Equal(t, "SELECT ?, `first_name` + `last_name`, COALESCE(`age`, ?), ? FROM `users`", query)
1551 require.Equal(t, []any{"a", 0, "b"}, args)
1552
1553 query, args = Dialect(dialect.Postgres).
1554 Select("name").
1555 AppendSelectExpr(
1556 Expr("age + $1", 1),
1557 ExprFunc(func(b *Builder) {
1558 b.Wrap(func(b *Builder) {
1559 b.WriteString("similarity(").Ident("name").Comma().Arg("A").WriteByte(')')
1560 b.WriteOp(OpAdd)
1561 b.WriteString("similarity(").Ident("desc").Comma().Arg("D").WriteByte(')')
1562 })
1563 b.WriteString(" AS s")
1564 }),
1565 Expr("rank + $4", 10),
1566 ).
1567 From(Table("users")).
1568 Query()
1569 require.Equal(t, `SELECT "name", age + $1, (similarity("name", $2) + similarity("desc", $3)) AS s, rank + $4 FROM "users"`, query)
1570 require.Equal(t, []any{1, "A", "D", 10}, args)
1571}
1572
1573func TestSelector_Union(t *testing.T) {
1574 query, args := Dialect(dialect.Postgres).

Callers

nothing calls this directly

Calls 15

SelectExprFunction · 0.85
ExprFuncFunction · 0.85
DialectFunction · 0.85
IdentMethod · 0.80
WriteOpMethod · 0.80
WriteByteMethod · 0.80
ArgMethod · 0.80
CommaMethod · 0.80
WriteStringMethod · 0.80
AppendSelectExprMethod · 0.80
WrapMethod · 0.80
ExprFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…