Skip to content

Conversation

@tpellissier-msft
Copy link
Collaborator

Round 2 of #39

This time, interpret tablename as the SchemaName in create_table and persist that in the table directly.

More details to be added once we discuss and decide if it's what we want.

@tpellissier-msft tpellissier-msft marked this pull request as ready for review November 13, 2025 22:51
@tpellissier-msft tpellissier-msft requested a review from a team as a code owner November 13, 2025 22:51
Copilot AI review requested due to automatic review settings November 13, 2025 22:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements case-insensitive table and column name handling in the Dataverse client, with a significant change to how table names are interpreted: table_schema_name parameters now represent the SchemaName directly rather than being normalized with prefixes. The changes add helper methods for case normalization, update parameter names throughout the codebase from logical_name to table_schema_name, and modify metadata lookup to use LogicalName (lowercase) for case-insensitive queries.

Key changes:

  • Added case-insensitive cache key normalization and automatic lowercasing of column names in CRUD operations
  • Changed table creation to accept SchemaName directly as table_schema_name parameter
  • Updated all public APIs to use table_schema_name parameter instead of logical_name

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/PowerPlatform/Dataverse/data/odata.py Core implementation of case-insensitive handling with new helper methods, cache normalization, and metadata lookup changes
src/PowerPlatform/Dataverse/client.py Updated public API parameter names and added detailed docstrings explaining case-sensitivity rules
examples/basic/functional_testing.py Updated example to use explicit SchemaName with prefix and include primary column schema name
examples/advanced/walkthrough.py New comprehensive walkthrough example demonstrating all SDK features with proper naming conventions
examples/advanced/pandas_integration.py Updated to use explicit SchemaName format with prefixes in column definitions
examples/advanced/file_upload.py Updated variable references and terminology in comments
examples/advanced/complete_walkthrough.py Deleted (replaced by walkthrough.py)
README.md Updated documentation with detailed case-sensitivity rules and examples using explicit prefixes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

sagebree
sagebree previously approved these changes Nov 14, 2025
@suyask-msft
Copy link
Collaborator

Do you think README sample and various examples now pass with this iteration?

suyask-msft
suyask-msft previously approved these changes Nov 14, 2025
@zhaodongwang-msft zhaodongwang-msft merged commit 4334298 into main Nov 14, 2025
5 checks passed
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.

6 participants