mattn / mattn/go-sqlite3

Add line number to error message when executing blob of sql

Open
#1,326 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
9.2k
Forks
1.2k
Avg merge
19m
Merged PRs (30d)
4

Description

I'm running a blob of sql line this:

if _, err := db.ExecContext(ctx, statement); err != nil {
  return err
}

and I'm getting FOREIGN KEY constraint failed; but it's a giant blob of sql with many insert statements, so I sorta have to do trial and error to figure out which constraint is failing. Is it possible to add a line number to this error message?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the db.ExecContext(ctx, statement) entry point and trace how the driver executes the SQL blob and propagates the FOREIGN KEY constraint failed error. Identify whether the underlying SQLite error exposes a line or offset, then verify that the reported location is useful for multi-statement input and covers the requested failure case.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sqlite
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.