Simon Willison
c0bcc04431
Automated upgrades by Ruff
...
uvx --with 'ruff>=0.16.0' ruff check . --fix --unsafe-fixes
2026-07-25 14:20:31 -07:00
Claude
d6753a9f57
upsert() now requires a value for every primary key column
...
A record missing a primary key value - or with None for one - can
never match an existing row, because a NULL primary key never
satisfies ON CONFLICT. Such records were previously inserted as
brand new rows (silently, for multi-record upsert_all calls) or
triggered a KeyError after the insert had already happened. Both
cases, including upserting an empty record, now raise
PrimaryKeyRequired before any SQL is executed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnLnhsH25Nnv7LHhekUfPd
2026-07-04 18:43:37 +00:00
Simon Willison
bfd74a35bb
upsert() detects existing compound primary keys
...
Closes #629
2026-06-24 10:43:53 -07:00
Simon Willison
8e7d018fa2
Use ON CONFLICT for upsert, refs #652
...
* New upsert implementation, refs #652
* supports_strict now caches on self._supports_strict
PR: https://github.com/simonw/sqlite-utils/pull/653
2025-05-08 20:37:49 -07:00
Simon Willison
d2bcdc00c6
Swapped the order of a bunch of pytest comparisons
...
When I wrote this I thought constant == value was a better assertion. I no longer think that.
2023-08-17 18:05:13 -07:00
Simon Willison
2376c452a5
upsert_all() now works with not_null - refs #538
2023-05-08 12:24:19 -07:00
Simon Willison
931b1e1513
.insert(hash_id_columns=) parameter, closes #343
2022-03-01 16:00:51 -08:00
Simon Willison
90e211e3e2
Now complies with flake8, refs #291
2021-06-22 18:22:08 -07:00
Simon Willison
b9629099ab
Fix bug with upsert_all() and single column tables, closes #271
2021-06-12 19:57:21 -07:00
Simon Willison
635c91475a
Only set last_pk on singular .insert()/.update(), refs #98
2020-04-12 20:22:49 -07:00
Simon Willison
7c28a4d133
Fix for upsert(hash_id=) bug, closes #84
2020-02-06 23:17:06 -08:00
Simon Willison
489eda92bc
.upsert() and upsert_all() require pk=, closes #73
2020-01-05 09:20:11 -08:00
Simon Willison
f0f15d3dc8
Reformatted with black
2019-12-29 22:09:52 -08:00
Simon Willison
468d51314a
test_upsert_compound_primary_key
2019-12-29 21:31:03 -08:00
Simon Willison
84bcabd093
New upsert implementation, refs #66
2019-12-30 05:29:23 +00:00