Skip to content

Commit 7d31c9b

Browse files
committed
test: Add case for #1916
1 parent 6afaf67 commit 7d31c9b

8 files changed

Lines changed: 221 additions & 0 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://github.com/sqlc-dev/sqlc/issues/1916
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"contexts": ["managed-db"]
3+
}

‎internal/endtoend/testdata/cte_update_multiple/postgresql/pgx/go/db.go‎

Lines changed: 32 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎internal/endtoend/testdata/cte_update_multiple/postgresql/pgx/go/models.go‎

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎internal/endtoend/testdata/cte_update_multiple/postgresql/pgx/go/query.sql.go‎

Lines changed: 83 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-- name: UpdateUserAddressWithAddress :one
2+
WITH t1 AS (
3+
UPDATE "address" as a
4+
SET
5+
address_line = COALESCE(sqlc.narg(address_line),address_line),
6+
region = COALESCE(sqlc.narg(region),region),
7+
city= COALESCE(sqlc.narg(city),city)
8+
WHERE id = COALESCE(sqlc.arg(id),id)
9+
RETURNING a.id, a.address_line, a.region, a.city
10+
),
11+
12+
t2 AS (
13+
UPDATE "user_address"
14+
SET
15+
default_address = COALESCE(sqlc.narg(default_address),default_address)
16+
WHERE
17+
user_id = COALESCE(sqlc.arg(user_id),user_id)
18+
AND address_id = COALESCE(sqlc.arg(address_id),address_id)
19+
RETURNING user_id, address_id, default_address
20+
)
21+
22+
SELECT
23+
user_id,
24+
address_id,
25+
default_address,
26+
address_line,
27+
region,
28+
city From t1,t2;
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
CREATE TABLE "user" (
2+
"id" bigserial PRIMARY KEY NOT NULL,
3+
"username" varchar NOT NULL,
4+
"email" varchar UNIQUE NOT NULL,
5+
"password" varchar NOT NULL,
6+
"telephone" int NOT NULL DEFAULT 0,
7+
"default_payment" bigint,
8+
"created_at" timestamptz NOT NULL DEFAULT (now()),
9+
"updated_at" timestamptz NOT NULL DEFAULT '0001-01-01 00:00:00Z'
10+
);
11+
12+
CREATE TABLE "address" (
13+
"id" bigserial PRIMARY KEY NOT NULL,
14+
"address_line" varchar NOT NULL,
15+
"region" varchar NOT NULL,
16+
"city" varchar NOT NULL,
17+
"created_at" timestamptz NOT NULL DEFAULT (now()),
18+
"updated_at" timestamptz NOT NULL DEFAULT '0001-01-01 00:00:00Z'
19+
);
20+
21+
CREATE TABLE "user_address" (
22+
"user_id" bigint NOT NULL,
23+
"address_id" bigint UNIQUE NOT NULL,
24+
"default_address" bigint,
25+
"created_at" timestamptz NOT NULL DEFAULT (now()),
26+
"updated_at" timestamptz NOT NULL DEFAULT '0001-01-01 00:00:00Z'
27+
);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: "2"
2+
sql:
3+
- engine: "postgresql"
4+
schema: "schema.sql"
5+
queries: "query.sql"
6+
gen:
7+
go:
8+
package: "querytest"
9+
out: "go"
10+
sql_package: "pgx/v5"

0 commit comments

Comments
 (0)