Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test: add end-to-end tests for accurate analyzer mode
Add three end-to-end test cases for the accurate analyzer mode:

1. accurate_star_expansion - Tests SELECT *, INSERT RETURNING *, UPDATE RETURNING *, DELETE RETURNING *
2. accurate_enum - Tests enum type introspection from pg_catalog
3. accurate_cte - Tests CTE (Common Table Expression) with star expansion

All tests use the managed-db context which requires Docker to run
PostgreSQL containers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
  • Loading branch information
kyleconroy and claude committed Dec 1, 2025
commit be4774c7a242e7c2a135c90404c43209f6673609
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"contexts": ["managed-db"]
}
31 changes: 31 additions & 0 deletions internal/endtoend/testdata/accurate_cte/postgresql/stdlib/go/db.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
-- name: ListExpensiveProducts :many
WITH expensive AS (
SELECT * FROM products WHERE price > 100
)
SELECT * FROM expensive;

-- name: GetProductStats :one
WITH product_stats AS (
SELECT COUNT(*) as total, AVG(price) as avg_price FROM products
)
SELECT * FROM product_stats;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
price NUMERIC(10,2) NOT NULL
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: "2"
sql:
- engine: postgresql
schema: "schema.sql"
queries: "query.sql"
analyzer:
accurate: true
gen:
go:
package: "querytest"
out: "go"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"contexts": ["managed-db"]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- name: ListTasks :many
SELECT * FROM tasks;

-- name: GetTasksByStatus :many
SELECT * FROM tasks WHERE status = $1;

-- name: CreateTask :one
INSERT INTO tasks (title, status) VALUES ($1, $2) RETURNING *;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE TYPE status AS ENUM ('pending', 'active', 'completed');

CREATE TABLE tasks (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
status status NOT NULL DEFAULT 'pending'
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: "2"
sql:
- engine: postgresql
schema: "schema.sql"
queries: "query.sql"
analyzer:
accurate: true
gen:
go:
package: "querytest"
out: "go"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"contexts": ["managed-db"]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading