Skip to content

fix: improve database error messages#1107

Merged
itslenny merged 1 commit into
masterfrom
lenny/fix-database-error-message-context
May 15, 2026
Merged

fix: improve database error messages#1107
itslenny merged 1 commit into
masterfrom
lenny/fix-database-error-message-context

Conversation

@itslenny
Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the current behavior?

All schema mismatch errors (missing column or missing table) show an error message indicating the storage migrations are out of sync. However, user created triggers/rls can cause these errors resulting in confusion and support burden

All permission denied errors are shown as RLS errors

What is the new behavior?

  • Show error details for errors originating inside of triggers / rls
  • Only show "RLS" error for "RLS" errors. For other access denied pass a more detailed error

Example errors

schema mismatch in RLS

There is a database schema mismatch in a trigger or RLS policy: PL/pgSQL function raise_42703() line 3 at EXECUTE

schema mismatch in trigger

There is a database schema mismatch in a trigger or RLS policy: PL/pgSQL function storage_objects_broken_trigger() line 3 at PERFORM

Non rls access denied

insert into \"objects\" (\"bucket_id\", \"metadata\", \"name\", \"owner\", \"owner_id\", \"user_metadata\", \"version\") values ($1, $2, $3, $4, $5, DEFAULT, $6) - permission denied for table secret_table

@itslenny itslenny requested a review from a team as a code owner May 14, 2026 15:04
Comment thread src/storage/database/knex.ts
@coveralls
Copy link
Copy Markdown

Coverage Report for CI Build 25867613810

Coverage decreased (-0.03%) to 75.069%

Details

  • Coverage decreased (-0.03%) from the base build.
  • Patch coverage: 1 uncovered change across 1 file (0 of 1 lines covered, 0.0%).
  • No coverage regressions found.

Uncovered Changes

File Changed Covered %
src/internal/errors/codes.ts 1 0 0.0%

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 10308
Covered Lines: 8165
Line Coverage: 79.21%
Relevant Branches: 5953
Covered Branches: 4042
Branch Coverage: 67.9%
Branches in Coverage %: Yes
Coverage Strength: 413.6 hits per line

💛 - Coveralls

@itslenny itslenny requested a review from ferhatelmas May 15, 2026 14:26
@itslenny itslenny merged commit e58e4ab into master May 15, 2026
18 checks passed
@itslenny itslenny deleted the lenny/fix-database-error-message-context branch May 15, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants