Eugene 🔒 lint report of examples/E2/bad/1.sql
This is a human readable SQL script safety report generated by eugene.
Keep in mind that lints can be ignored by adding a -- eugene: ignore E123
comment to the SQL statement
or by passing --ignore E123 on the command line.
The migration script passed all the checks ✅
Statement number 1
SQL
-- 1.sql
create table authors(
id integer generated always as identity
primary key,
name text
)
No checks matched for this statement. ✅
Eugene 🔒 lint report of examples/E2/bad/2.sql
This is a human readable SQL script safety report generated by eugene.
Keep in mind that lints can be ignored by adding a -- eugene: ignore E123
comment to the SQL statement
or by passing --ignore E123 on the command line.
The migration script did not pass all the checks ❌
Statement number 1
SQL
-- 2.sql
set local lock_timeout = '2s'
No checks matched for this statement. ✅
Statement number 2
SQL
alter table authors
alter column name set not null
Lints
Validating table with a new NOT NULL
column
ID: E2
A column was changed from NULL
to NOT NULL
. This blocks all table access until all rows are validated. A safer way is: Add a CHECK
constraint as NOT VALID
, validate it later, then make the column NOT NULL
.
Statement takes AccessExclusiveLock
on public.authors
by setting name
to NOT NULL
blocking reads until all rows are validated.