(t *testing.T)
| 2162 | } |
| 2163 | |
| 2164 | func 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 | |
| 2203 | func TestFormattedColumnFromSubQuery(t *testing.T) { |
| 2204 | q := Select("*").From(Select("*").AppendSelectExprAs(P(func(b *Builder) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…