Skip to content

Case insensitive operator translation#102

Merged
pdevito3 merged 5 commits intopdevito3:mainfrom
AlexMKotcz:case_insensitive_operator_translation
Feb 19, 2026
Merged

Case insensitive operator translation#102
pdevito3 merged 5 commits intopdevito3:mainfrom
AlexMKotcz:case_insensitive_operator_translation

Conversation

@AlexMKotcz
Copy link
Contributor

PR Classification

New feature and documentation update to enhance case-insensitive string comparison configuration in QueryKit.

PR Summary

This PR adds configurable case-insensitive string comparison modes (ToLower/ToUpper) for QueryKit filters, supporting both global and per-property settings. It also updates documentation and tests to reflect the new functionality.

  • ComparisonOperator.cs, FilterParser.cs: Implemented support for CaseInsensitiveMode (Lower/Upper) in all relevant string comparison operators and filter parsing logic.
  • QueryKitConfiguration.cs, QueryKitSettings.cs: Added CaseInsensitiveComparison property for global configuration and per-property override.
  • QueryKitPropertyMappings.cs: Introduced HasCaseInsensitiveMode for property-level control.
  • DatabaseFilteringTests.cs, FilterParserTests.cs: Added comprehensive tests for both global and per-property case-insensitive modes.
  • README.md: Documented usage and configuration of the new case-insensitive comparison mode feature.

Issues

Solves #101

@AlexMKotcz AlexMKotcz changed the base branch from main to develop February 18, 2026 20:52
@pdevito3 pdevito3 changed the base branch from develop to main February 18, 2026 20:59
@AlexMKotcz AlexMKotcz force-pushed the case_insensitive_operator_translation branch from 20b9126 to 5d16d9e Compare February 18, 2026 20:59
@AlexMKotcz AlexMKotcz changed the base branch from main to develop February 18, 2026 21:00
@pdevito3
Copy link
Owner

Develop is out of date sorry. Changed to main to focus on your changes

@AlexMKotcz
Copy link
Contributor Author

oh I did a rebase already, sorry for the mess.

@pdevito3
Copy link
Owner

I'll try and take a look tonight

dependabot bot and others added 5 commits February 18, 2026 18:04
Bumps [Bogus](https://github.com/bchavez/Bogus) from 35.4.0 to 35.6.1.
- [Release notes](https://github.com/bchavez/Bogus/releases)
- [Changelog](https://github.com/bchavez/Bogus/blob/master/HISTORY.md)
- [Commits](bchavez/Bogus@v35.4.0...v35.6.1)

---
updated-dependencies:
- dependency-name: Bogus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Introduces the CaseInsensitiveMode enum to control whether case-insensitive string comparisons use ToLower/LOWER or ToUpper/UPPER. Adds global and per-property configuration for this mode in QueryKitConfiguration, QueryKitSettings, and QueryKitPropertyMapping. Refactors all relevant string comparison logic and operators to honor the selected case transformation, enabling consistent and customizable case-insensitive behavior for various data normalization scenarios.
Added unit tests to verify QueryKit's handling of case-insensitive string comparisons. Tests cover default, global, and per-property case-insensitive modes, ensuring correct use of ToLower or ToUpper in generated filter expressions for all relevant operators. Per-property settings are confirmed to override global configuration.
Expanded DatabaseFilteringTests to cover case-insensitive string filtering using QueryKit with CaseInsensitiveMode.Upper and per-property overrides. Tests include all relevant operators and verify correct behavior for uppercase data, mixed-case queries, and property-specific settings. Increases reliability and coverage for filtering logic.
Document new CaseInsensitiveMode option in QueryKit, including
usage examples for global and per-property settings. Explains
benefits for uppercase-normalized data and index efficiency.
@AlexMKotcz AlexMKotcz force-pushed the case_insensitive_operator_translation branch from 5d16d9e to 01510a3 Compare February 18, 2026 21:04
@AlexMKotcz AlexMKotcz changed the base branch from develop to main February 18, 2026 21:05
@pdevito3 pdevito3 merged commit 3c154c7 into pdevito3:main Feb 19, 2026
@pdevito3
Copy link
Owner

Looked great! Thanks for another contribution!

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

Comments