Skip to content

Commit e2f0810

Browse files
JasonDavclaude
andcommitted
test(vet): add failing case for anonymous-parameter rule
Test currently fails because vetQuery does not yet populate the new Parameter.name field, so named params are wrongly flagged as anonymous. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 22a31f1 commit e2f0810

5 files changed

Lines changed: 28 additions & 0 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"command": "vet"
3+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
-- name: ListByIDs :many
2+
SELECT id FROM bar
3+
WHERE id = ANY($1::bigint[]);
4+
5+
-- name: GetByID :one
6+
SELECT id FROM bar
7+
WHERE id = $1;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CREATE TABLE bar (id bigserial NOT NULL);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: 2
2+
sql:
3+
- schema: "schema.sql"
4+
queries: "query.sql"
5+
engine: "postgresql"
6+
gen:
7+
go:
8+
package: "querytest"
9+
out: "db"
10+
rules:
11+
- no-anonymous-params
12+
rules:
13+
- name: no-anonymous-params
14+
message: "query has an anonymous parameter; name it with sqlc.arg() or @name"
15+
rule: |
16+
query.params.exists(p, p.name == "")
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
query.sql: ListByIDs: no-anonymous-params: query has an anonymous parameter; name it with sqlc.arg() or @name

0 commit comments

Comments
 (0)