Skip to content

AM04 — Avoid SELECT *; list columns explicitly (fix needs schema)

Group: Ambiguity · Auto-fixable: yes

SELECT * makes a query’s result shape depend on the table definition. When a column is added, dropped or reordered, the query silently changes what it returns, breaking downstream consumers and obscuring intent.

bad: SELECT * FROM patient;
good: SELECT id, name FROM patient;

Disable this rule in banshee.toml:

[lint]
exclude = ["AM04"]

Or silence one line with -- noqa: AM04. See Linting.