actually make filters work right

This commit is contained in:
2026-02-15 23:38:48 -05:00
parent b510c000ec
commit c6a78ca054
7 changed files with 2193 additions and 26 deletions

10
TODO.md
View File

@@ -67,14 +67,14 @@ Goal: "aws cli works reliably for CreateTable/ListTables/PutItem/GetItem/DeleteI
## Next (feature parity with Zig + API completeness)
### 5) UpdateItem / conditional logic groundwork
- [x] `UpdateItem` handler registered in router (currently returns clear "not yet supported" error)
- [ ] Implement `UpdateItem` (initially minimal: SET for scalar attrs)
- [x] Implement `UpdateItem` (initially minimal: SET for scalar attrs)
- [ ] Add `ConditionExpression` support for Put/Delete/Update (start with simple comparisons)
- [ ] Define internal "update plan" representation (parsed ops → applied mutations)
- [x] Define internal "update plan" representation (parsed ops → applied mutations)
### 6) Response completeness / options
- [ ] `ReturnValues` handling where relevant (NONE/ALL_OLD/UPDATED_NEW etc. — even partial support is useful)
- [ ] `ProjectionExpression` (return subset of attributes)
- [ ] `FilterExpression` (post-query filter for Scan/Query)
- [x] `ReturnValues` handling where relevant (NONE/ALL_OLD/UPDATED_NEW etc. — even partial support is useful)
- [x] `ProjectionExpression` (return subset of attributes)
- [x] `FilterExpression` (post-query filter for Scan/Query)
### 7) Test coverage / tooling
- [ ] Add integration tests mirroring AWS CLI script flows: