Skip to content

Unhandled sqlite unique constraint violation when --attachment is passed twice on the same file #1354

@rpdelaney

Description

@rpdelaney
$ llm --version
llm, version 0.28
$ llm "Hey, check out this resume." --attachment resume.pdf 
[AI output]
$ llm "Hey, check out this resume." --attachment resume.pdf --attachment resume.pdf 
[AI output]
Traceback (most recent call last):
  File "/home/ryan/.local/bin/llm", line 10, in <module>
    sys.exit(cli())
             ~~~^^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/click/core.py", line 1873, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/llm/cli.py", line 928, in prompt
    response.log_to_db(db)
    ~~~~~~~~~~~~~~~~~~^^^^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/llm/models.py", line 907, in log_to_db
    db["prompt_attachments"].insert(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        {
        ^
    ...<3 lines>...
        },
        ^^
    )
    ^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/sqlite_utils/db.py", line 3226, in insert
    return self.insert_all(
           ~~~~~~~~~~~~~~~^
        [record],
        ^^^^^^^^^
    ...<13 lines>...
        strict=strict,
        ^^^^^^^^^^^^^^
    )
    ^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/sqlite_utils/db.py", line 3358, in insert_all
    self.insert_chunk(
    ~~~~~~~~~~~~~~~~~^
        alter,
        ^^^^^^
    ...<11 lines>...
        ignore,
        ^^^^^^^
    )
    ^
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/sqlite_utils/db.py", line 3116, in insert_chunk
    result = self.db.execute(query, params)
  File "/home/ryan/.local/share/uv/tools/llm/lib/python3.13/site-packages/sqlite_utils/db.py", line 540, in execute
    return self.conn.execute(sql, parameters)
           ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
sqlite3.IntegrityError: UNIQUE constraint failed: prompt_attachments.response_id, prompt_attachments.attachment_id

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions