Skip to content

feat(builder): add having filter builder#359

Merged
youngwinds merged 9 commits intomainfrom
feat/add-having-filter-builder
Mar 4, 2026
Merged

feat(builder): add having filter builder#359
youngwinds merged 9 commits intomainfrom
feat/add-having-filter-builder

Conversation

@youngwinds
Copy link
Collaborator

  • Add HavingBuilder for filter management
  • Add HavingFilterNodeBuilder for individual filter configuration
  • Support operators: eq, neq, gt, gte, lt, lte, contains, startsWith, endsWith, between
  • Add validation and error handling
  • Integrate with VBIBuilder

This enables BI users to filter data based on conditions.

[中文版模板 / Chinese template]

🤔 This is a ...

  • New feature
  • Bug fix
  • TypeScript definition update
  • Bundle size optimization
  • Performance optimization
  • Enhancement feature
  • Refactoring
  • Update dependency
  • Code style optimization
  • Test Case
  • Branch merge
  • Release
  • Site / documentation update
  • Demo update
  • Workflow
  • Other (about what?)

🔗 Related issue link

🔗 Related PR link

🐞 Bugserver case id

💡 Background and solution

☑️ Self-Check before Merge

⚠️ Please check all items below before requesting a reviewing. ⚠️

  • Doc is updated/provided or not needed
  • Demo is updated/provided or not needed
  • TypeScript definition is updated/provided or not needed
  • Changelog is provided or not needed

小龙虾 and others added 9 commits March 4, 2026 20:08
- Add HavingBuilder for filter management
- Add HavingFilterNodeBuilder for individual filter configuration
- Support operators: eq, neq, gt, gte, lt, lte, contains, startsWith, endsWith, between
- Add validation and error handling
- Integrate with VBIBuilder

This enables BI users to filter data based on conditions.
- Add Having.ts type definition for aggregation filtering
- Update QueryDSL to include having field
- Add buildHaving in VBI pipeline

This enables Having filter to work end-to-end from VBI to VQuery.
- Add Having type implementation in sql-builder
- Add applyHaving function for SQL generation
- Integrate having with DSL to SQL pipeline
- Add comprehensive unit tests (16 test cases)

This enables having filter to work end-to-end from VBI to generated SQL.
- Add basic having example test
- Add multi-conditions having test (AND)
- Add or-conditions having test (OR)
- All 142 tests passing
Use pnpm run g to generate test files from JSON configs
- Add min/max aggregation tests
- Add not between test
- Improve coverage to 99%+

Tests: 145 passed
- Add more having tests including nested groups
- Add VQuery error handling tests
- Coverage: 99.05% statements, 91.66% branches

Tests: 148 passed
- Add not-in.json/test.ts
- Add in-single.json/test.ts
- Add not-in-single.json/test.ts
- Coverage: 100% statements, 93.75% branches, 100% functions, 100% lines

Tests: 151 passed
@youngwinds youngwinds merged commit b0529e6 into main Mar 4, 2026
4 checks passed
@youngwinds youngwinds deleted the feat/add-having-filter-builder branch March 4, 2026 14:39
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.

1 participant