Skip to content

feat: allow sorting on any field with runtime sort fallback#12

Merged
rauann merged 1 commit intomainfrom
rauann/implement-sort-for-scan
Jan 16, 2026
Merged

feat: allow sorting on any field with runtime sort fallback#12
rauann merged 1 commit intomainfrom
rauann/implement-sort-for-scan

Conversation

@rauann
Copy link
Owner

@rauann rauann commented Jan 16, 2026

  • Remove sort field validation to match ETS/Mnesia/Simple data layers
  • Use ScanIndexForward optimization only when sorting by sort key in Query mode
  • Fall back to Ash.Actions.Sort.runtime_sort for all other cases:
    • Scan mode (no partition key filter)
    • Non-sort-key fields in Query mode
    • Multiple sort fields
  • Add rekey?: false to prevent duplicate records when Ash primary key differs from DynamoDB composite key

Closes #11

- Remove sort field validation to match ETS/Mnesia/Simple data layers
- Use ScanIndexForward optimization only when sorting by sort key in Query mode
- Fall back to Ash.Actions.Sort.runtime_sort for all other cases:
  - Scan mode (no partition key filter)
  - Non-sort-key fields in Query mode
  - Multiple sort fields
- Add rekey?: false to prevent duplicate records when Ash primary key
  differs from DynamoDB composite key
@rauann rauann self-assigned this Jan 16, 2026
@rauann rauann merged commit 41eb2ab into main Jan 16, 2026
1 check passed
@rauann rauann deleted the rauann/implement-sort-for-scan branch January 16, 2026 01:53
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.

Implement runtime :sort fallback for Scan operations

1 participant