feat(ag-grid): Server Side Filtering for Column Level Filters#35683
Conversation
|
Based on your review schedule, I'll hold off on reviewing this PR until it's marked as ready for review. If you'd like me to take a look now, comment
|
|
Bito Automatic Review Skipped - Draft PR |
There was a problem hiding this comment.
Review by Korbit AI
Korbit automatically attempts to detect when you fix issues in new commits.
| Category | Issue | Status |
|---|---|---|
| Missing useEffect dependencies ▹ view | ✅ Fix detected | |
| Missing setTimeout cleanup ▹ view | ✅ Fix detected | |
| SQL injection in set filter IN clause ▹ view | ✅ Fix detected | |
Unsafe any type for filter value ▹ view |
✅ Fix detected | |
| Unreliable compound filter preservation ▹ view | ✅ Fix detected | |
| Overly broad WHERE clause removal in totals query ▹ view | ✅ Fix detected | |
| Data loss in compound filter preservation ▹ view | ✅ Fix detected | |
| Regex recompilation in column validation ▹ view | ✅ Fix detected | |
| Inefficient array processing in compound filters ▹ view | ✅ Fix detected |
Files scanned
| File Path | Reviewed |
|---|---|
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/types.ts | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/components/CustomHeader.tsx | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTableChart.tsx | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/buildQuery.ts | ✅ |
| superset-frontend/src/components/Chart/ChartRenderer.jsx | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/useAgGridFilters.ts | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/AgGridTable/index.tsx | ✅ |
| superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/agGridFilterConverter.ts | ✅ |
Explore our documentation to understand the languages and file types we support and the files we ignore.
Check out our docs on how you can make Korbit work best for you and your team.
|
@amaannawab923 can you update the PR description? |
…alink functionality
|
🎪 Showtime deployed environment on GHA for 245aa0c • Environment: http://18.246.213.254:8080 (admin/admin) |
Code Review Agent Run #581a97Actionable Suggestions - 0Additional Suggestions - 3
Review Details
Bito Usage GuideCommands Type the following command in the pull request comment and save the comment.
Refer to the documentation for additional commands. Configuration This repository uses Documentation & Help |
|
I'm going to start testenv-up, unfortuantely feature flags are broken in showtime |
|
@kgabryje This workflow is deprecated! Please use the new Superset Showtime system instead:
Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments |
|
@kgabryje Ephemeral environment spinning up at http://44.243.124.211:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup. |
|
🎪 Showtime deployed environment on GHA for 32b7783 • Environment: http://34.220.144.13:8080 (admin/admin) |
|
🎪 Showtime deployed environment on GHA for 970be99 • Environment: http://44.255.121.172:8080 (admin/admin) |
Code Review Agent Run #467fa8Actionable Suggestions - 0Review Details
Bito Usage GuideCommands Type the following command in the pull request comment and save the comment.
Refer to the documentation for additional commands. Configuration This repository uses Documentation & Help |
kgabryje
left a comment
There was a problem hiding this comment.
Did some testing, works very nice!
I didn't test every operator, but did some sanity checks on date, string and numerical filters.
LGTM!
|
2 ideas for future improvements:
|
|
CodeAnt AI is running Incremental review Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Thanks for these suggestions, @kgabryje ! Both are great ideas for future improvements.
Addressing this would require changes at the Superset plugin/chart rendering level to support partial updates without full unmounts , which is beyond the scope of this PR but definitely worth exploring as a follow-up. I'll add both of these as candidates for future improvements. Thanks again for the thoughtful feedback! |
User description
FEATURE_AG_GRID_TABLE_ENABLED=true
SUMMARY
This PR adds server-side filtering for AG Grid Table V2, allowing users to filter large datasets efficiently directly from column headers.
What it does:
Currently, when server pagination is enabled, AG Grid column filters only work on the current page's data (e.g., filtering 50 rows instead of the full 100,000 rows in the
database). This PR changes that by converting AG Grid filter conditions into SQL queries that execute on the backend.
Key Points:
TESTING INSTRUCTIONS
ADDITIONAL INFORMATION
CodeAnt-AI Description
Server-side column filtering for AG Grid table with metric/dimension separation and robust date handling
What Changed
Impact
✅ Filters apply to full dataset (not just current page)✅ Accurate totals unaffected by column-level filters✅ Clearer date filter behavior and consistent metric/dimension filtering💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.