|
1 | 1 | defmodule Ecto.Adapters.SQLite3.ConnectionTest do
|
2 |
| - use ExUnit.Case, async: false |
| 2 | + use ExUnit.Case, async: true |
3 | 3 |
|
4 | 4 | import Ecto.Query
|
5 | 5 |
|
@@ -621,22 +621,41 @@ defmodule Ecto.Adapters.SQLite3.ConnectionTest do
|
621 | 621 | end
|
622 | 622 |
|
623 | 623 | test "fragments" do
|
624 |
| - query = Schema |> select([r], fragment("now")) |> plan() |
| 624 | + query = |
| 625 | + Schema |
| 626 | + |> select([r], fragment("now")) |
| 627 | + |> plan() |
| 628 | + |
625 | 629 | assert all(query) == ~s{SELECT now FROM "schema" AS s0}
|
626 | 630 |
|
627 |
| - query = Schema |> select([r], fragment("fun(?)", r)) |> plan() |
| 631 | + query = |
| 632 | + Schema |
| 633 | + |> select([r], fragment("fun(?)", r)) |
| 634 | + |> plan() |
| 635 | + |
628 | 636 | assert all(query) == ~s{SELECT fun(s0) FROM "schema" AS s0}
|
629 | 637 |
|
630 |
| - query = Schema |> select([r], fragment("downcase(?)", r.x)) |> plan() |
| 638 | + query = |
| 639 | + Schema |
| 640 | + |> select([r], fragment("downcase(?)", r.x)) |
| 641 | + |> plan() |
| 642 | + |
631 | 643 | assert all(query) == ~s{SELECT downcase(s0."x") FROM "schema" AS s0}
|
632 | 644 |
|
633 | 645 | query =
|
634 |
| - Schema |> select([r], fragment("? COLLATE ?", r.x, literal(^"es_ES"))) |> plan() |
| 646 | + Schema |
| 647 | + |> select([r], fragment("? COLLATE ?", r.x, literal(^"es_ES"))) |
| 648 | + |> plan() |
635 | 649 |
|
636 | 650 | assert all(query) == ~s{SELECT s0."x" COLLATE "es_ES" FROM "schema" AS s0}
|
637 | 651 |
|
638 | 652 | value = 13
|
639 |
| - query = Schema |> select([r], fragment("downcase(?, ?)", r.x, ^value)) |> plan() |
| 653 | + |
| 654 | + query = |
| 655 | + Schema |
| 656 | + |> select([r], fragment("downcase(?, ?)", r.x, ^value)) |
| 657 | + |> plan() |
| 658 | + |
640 | 659 | assert all(query) == ~s{SELECT downcase(s0."x", ?) FROM "schema" AS s0}
|
641 | 660 |
|
642 | 661 | query = Schema |> select([], fragment(title: 2)) |> plan()
|
@@ -1094,8 +1113,7 @@ defmodule Ecto.Adapters.SQLite3.ConnectionTest do
|
1094 | 1113 |
|
1095 | 1114 | query = from(m in Schema, update: [set: [x: ^0]]) |> plan(:update_all)
|
1096 | 1115 |
|
1097 |
| - assert update_all(query) == |
1098 |
| - ~s{UPDATE "schema" AS s0 SET "x" = ?} |
| 1116 | + assert update_all(query) == ~s{UPDATE "schema" AS s0 SET "x" = ?} |
1099 | 1117 |
|
1100 | 1118 | query =
|
1101 | 1119 | Schema
|
@@ -1552,11 +1570,13 @@ defmodule Ecto.Adapters.SQLite3.ConnectionTest do
|
1552 | 1570 | inner = Ecto.Queryable.to_query(Schema2)
|
1553 | 1571 |
|
1554 | 1572 | query =
|
1555 |
| - from(p in Schema, left_join: c in ^inner, on: true, select: {p.id, c.id}) |
| 1573 | + from(p in Schema) |
| 1574 | + |> join(:left, [p], c in ^inner, on: true) |
| 1575 | + |> select([p, c], {p.id, c.id}) |
1556 | 1576 | |> plan()
|
1557 | 1577 |
|
1558 | 1578 | assert all(query) ==
|
1559 |
| - "SELECT s0.\"id\", s1.\"id\" FROM \"schema\" AS s0 LEFT OUTER JOIN \"schema2\" AS s1 ON 1" |
| 1579 | + ~s{SELECT s0."id", s1."id" FROM "schema" AS s0 LEFT OUTER JOIN "schema2" AS s1 ON 1} |
1560 | 1580 | end
|
1561 | 1581 |
|
1562 | 1582 | test "lateral join with fragment" do
|
@@ -1603,15 +1623,21 @@ defmodule Ecto.Adapters.SQLite3.ConnectionTest do
|
1603 | 1623 | end
|
1604 | 1624 |
|
1605 | 1625 | test "cross join" do
|
1606 |
| - query = from(p in Schema, cross_join: c in Schema2, select: {p.id, c.id}) |> plan() |
| 1626 | + query = |
| 1627 | + from(p in Schema) |
| 1628 | + |> join(:cross, [p], c in Schema2) |
| 1629 | + |> select([p, c], {p.id, c.id}) |
| 1630 | + |> plan() |
1607 | 1631 |
|
1608 | 1632 | assert all(query) ==
|
1609 |
| - "SELECT s0.\"id\", s1.\"id\" FROM \"schema\" AS s0 CROSS JOIN \"schema2\" AS s1" |
| 1633 | + ~s{SELECT s0."id", s1."id" FROM "schema" AS s0 CROSS JOIN "schema2" AS s1} |
1610 | 1634 | end
|
1611 | 1635 |
|
1612 | 1636 | test "cross join with fragment" do
|
1613 | 1637 | query =
|
1614 |
| - from(p in Schema, cross_join: fragment("json_each(?)", p.j), select: {p.id}) |
| 1638 | + from(p in Schema) |
| 1639 | + |> join(:cross, [p], fragment("json_each(?)", p.j)) |
| 1640 | + |> select([p], {p.id}) |
1615 | 1641 | |> plan()
|
1616 | 1642 |
|
1617 | 1643 | assert all(query) ==
|
|
0 commit comments