You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bb10697
Browse filesBrowse the repository at this point in the historyBrowse files
fix(find): return only the selected attributes of a distinct row
find() decoded every row with the read's selections, to which
validateSelections() always appended $id, $sequence, $collection,
$createdAt, $updatedAt and $permissions so a document read with a select
still carries them. A distinct read selects only what its select names,
so decode() set each of those it never read to null, and a distinct row
carried `$id => null`. The library handed out a Document its own
constructor refuses: `new Document($row->getArrayCopy())` threw "$id must
be of type string", which is how Appwrite's list cache rebuilt a cached
distinct read and answered 400 on every cache hit.
A distinct read now decodes only the attributes it selects. A distinct row
carries $id only when the read selects it, and every row find() returns
rebuilds into an equal Document.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments