MCPcopy
hub / github.com/ent/ent / TestMultipleFrom

Function TestMultipleFrom

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

Source from the content-addressed store, hash-verified

2162}
2163
2164func TestMultipleFrom(t *testing.T) {
2165 query, args := Dialect(dialect.Postgres).
2166 Select("items.*", As("ts_rank_cd(search, search_query)", "rank")).
2167 From(Table("items")).
2168 AppendFrom(Table("to_tsquery('neutrino|(dark & matter)')").As("search_query")).
2169 Where(P(func(b *Builder) {
2170 b.WriteString("search @@ search_query")
2171 })).
2172 OrderBy(Desc("rank")).
2173 Query()
2174 require.Empty(t, args)
2175 require.Equal(t, `SELECT items.*, ts_rank_cd(search, search_query) AS "rank" FROM "items", to_tsquery('neutrino|(dark & matter)') AS "search_query" WHERE search @@ search_query ORDER BY "rank" DESC`, query)
2176
2177 query, args = Dialect(dialect.Postgres).
2178 Select("items.*", As("ts_rank_cd(search, search_query)", "rank")).
2179 From(Table("items")).
2180 AppendFromExpr(Expr("to_tsquery($1) AS search_query", "neutrino|(dark & matter)")).
2181 Where(P(func(b *Builder) {
2182 b.WriteString("search @@ search_query")
2183 })).
2184 Query()
2185 require.Equal(t, []any{"neutrino|(dark & matter)"}, args)
2186 require.Equal(t, `SELECT items.*, ts_rank_cd(search, search_query) AS "rank" FROM "items", to_tsquery($1) AS search_query WHERE search @@ search_query`, query)
2187
2188 query, args = Dialect(dialect.Postgres).
2189 Select("items.*", As("ts_rank_cd(search, search_query)", "rank")).
2190 From(Table("items")).
2191 Where(EQ("value", 10)).
2192 AppendFromExpr(ExprFunc(func(b *Builder) {
2193 b.WriteString("to_tsquery(").Arg("neutrino|(dark & matter)").WriteString(") AS search_query")
2194 })).
2195 Where(P(func(b *Builder) {
2196 b.WriteString("search @@ search_query")
2197 })).
2198 Query()
2199 require.Equal(t, []any{"neutrino|(dark & matter)", 10}, args)
2200 require.Equal(t, `SELECT items.*, ts_rank_cd(search, search_query) AS "rank" FROM "items", to_tsquery($1) AS search_query WHERE "value" = $2 AND search @@ search_query`, query)
2201}
2202
2203func TestFormattedColumnFromSubQuery(t *testing.T) {
2204 q := Select("*").From(Select("*").AppendSelectExprAs(P(func(b *Builder) {

Callers

nothing calls this directly

Calls 15

DialectFunction · 0.85
ExprFuncFunction · 0.85
AppendFromMethod · 0.80
WriteStringMethod · 0.80
EmptyMethod · 0.80
AppendFromExprMethod · 0.80
ArgMethod · 0.80
AsFunction · 0.70
TableFunction · 0.70
PFunction · 0.70
DescFunction · 0.70
ExprFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…