Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add case-insensitive configuration #279

Open
knassre-bodo opened this issue Feb 26, 2025 · 0 comments
Open

Add case-insensitive configuration #279

knassre-bodo opened this issue Feb 26, 2025 · 0 comments
Labels
documentation Improvements or additions to documentation effort - medium mid-sized issue with average implementation time/difficulty enhancement New feature or request user feature Adding a new user-facing feature/functionality

Comments

@knassre-bodo
Copy link
Contributor

Goal: add a new case_insensitive configuration to PyDough (default=False). When True, all name matching for PyDough collections/properties in the metadata is case-insensitive. This means that accessing Customers vs CUSTOMERS vs customers vs cUsToMeRs is all the same object in PyDough.

This can be implemented by having the following occur when the config is True:

  • All terms placed in any terms sets/dictionaries in the QDAG nodes are all changed to lowercase (confirm no conflicts)
  • All calls to get_term/get_expr /get_collection change the input string to be lowercase
  • Side effect: column output names are always lowercase, unless columns argument of to_sql or to_df is used to rename them

This feature must be extensively documented in the usage file.

@knassre-bodo knassre-bodo added documentation Improvements or additions to documentation effort - medium mid-sized issue with average implementation time/difficulty enhancement New feature or request user feature Adding a new user-facing feature/functionality labels Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation effort - medium mid-sized issue with average implementation time/difficulty enhancement New feature or request user feature Adding a new user-facing feature/functionality
Projects
None yet
Development

No branches or pull requests

1 participant