Skip to content

feat(repository): add optional $expected conditions to update()/delete() - #8

Merged
Headgent merged 2 commits into
developfrom
feature/260810_expected-conditions
Aug 10, 2026
Merged

feat(repository): add optional $expected conditions to update()/delete()#8
Headgent merged 2 commits into
developfrom
feature/260810_expected-conditions

Conversation

@Headgent

Copy link
Copy Markdown
Contributor

Automatisierter Update-Release. Zielversion: v1.1.0

Additive API: optionaler $expected-Parameter (column => scalar|null) fuer optimistic-concurrency writes. Leeres $expected = byte-identisches SQL. Vertragsgrenzen: scalar|null-Guard, leeres $values mit gesetztem $expected wirft InvalidArgumentException. Tests: 95/157 inkl. Kollisionsszenario gegen MySQL, Postgres und SQLite (Adapter-Pfad).

https://claude.ai/code/session_01B3myqC1R5NcWWMHxDh6zBH

…e() for optimistic-concurrency writes

Adds an additive $expected parameter (column => scalar|null) to Repository::update()/delete(),
routed through a shared ApplyExpectedConditions closure appending AND equals()/isNull() guards.
Empty $expected leaves the existing query path untouched (byte-identical SQL); empty $values
with a non-empty $expected and non-scalar $expected values raise InvalidArgumentException.

Claude-Session: https://claude.ai/code/session_01B3myqC1R5NcWWMHxDh6zBH
…entiert

Ergänzt README (Advanced Usage) und SKILL.md um die neue $expected-Erweiterung von
update()/delete() — Signaturen, NULL-Semantik, Bedeutung von false, Vertragsgrenzen
(InvalidArgumentException), MySQL-rowCount-Randnotiz.

Claude-Session: https://claude.ai/code/session_01B3myqC1R5NcWWMHxDh6zBH
@Headgent
Headgent merged commit b9f5e9f into develop Aug 10, 2026
3 checks passed
@Headgent
Headgent deleted the feature/260810_expected-conditions branch August 10, 2026 06:46
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.

1 participant