Skip to content

Conversation

@cpursley
Copy link

@cpursley cpursley commented Jul 6, 2025

Add select and select_merge query functionality - this addresses issue #6

cpursley added 2 commits July 6, 2025 09:06
- Update all outdated dependencies to their latest versions:
  - dialyxir 1.4.0 → 1.4.5
  - ex_doc 0.30.6 → 0.38.2
  - ex_machina 2.7.0 → 2.8.0
  - jason 1.4.1 → 1.4.4
  - ecto 3.10.3 → 3.13.2
  - ecto_sql 3.10.2 → 3.13.2
  - postgrex 0.17.2 → 0.20.0

- Add Testing section to README with instructions for running tests
- Configure test database settings to use environment variables with sensible defaults
- Fix deprecated logger :warn to :warning in test config
Implements field selection capabilities for QueryBuilder, allowing users to
specify which fields to retrieve from queries. This addresses issue mathieuprog#6.

Features:
- Add select/2 and select/3 functions supporting lists, maps, tuples, and single fields
- Add select_merge/2 and select_merge/3 for incremental field selection
- Support association field selection using @ syntax (e.g., :name@role)
- Support custom selection functions for dynamic field selection
- Add comprehensive test coverage for all selection formats

Additional improvements:
- Support string association names (automatically converted to atoms)
- Improve code formatting across multiple modules
- Update README with select/select_merge examples
- Add select support to from_list/2 function
@cpursley
Copy link
Author

@mathieuprog any interest in this? Seems to be working well in my production env.

@mathieuprog
Copy link
Owner

@cpursley thanks for the PR. There have been breaking architectural changes since you opened this. I won't be able to merge this as-is, however I’m implementing a select / select_merge feature for the upcoming v2, among other new features.

If all goes well, I’m hoping to have v2 out in the next few days.

@mathieuprog mathieuprog closed this Jan 2, 2026
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.

2 participants