feat(django-google-spanner): support Django 6.0 - #18128
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for Django 6.0, including dependency updates, tuple-casting for lookup parameters, an asynchronous autocommit setter, and a Spanner-specific JSON path compiler. The review feedback highlights critical improvements: resolving syntax, type, and SQL injection issues in compile_json_path by utilizing json.dumps; wrapping the async autocommit operation in self.execute_wrapper to align with Django standards; and fixing invalid shell syntax and compatibility issues in the new test suite script.
311d5d1 to
cfa5943
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for Django 6.0 in the django-google-spanner package. Key changes include updating supported versions and dependencies, implementing async autocommit handling, adding Django 6.0 test exclusions, and updating database features, operations, and schema editors to support index inclusion columns and returning columns from inserts. Feedback on these changes highlights two important issues: first, the _index_include_sql helper in schema.py should resolve actual database column names via model._meta.get_field(field).column rather than using str(field) directly; second, the async autocommit wrapper in base.py should use thread_sensitive=True with sync_to_async to ensure thread safety and prevent connection sharing issues.
cfa5943 to
b219da1
Compare
…d lookups parameter indexing
| "sqlparse >= 0.3.0", | ||
| "google-cloud-spanner >= 3.13.0", | ||
| "django >= 5.2, < 6.0", | ||
| "google-cloud-spanner >= 3.69.1", |
There was a problem hiding this comment.
Please can you clarify if we really need to bump google-cloud-spanner? Do tests fail with 3.13.0?
Is there a lower minimum that we can set here?
If 3.69.1 is yanked or has a regression, users may not be able to install/use the latest version of django-google-spanner
https://pypi.org/project/google-cloud-spanner/3.69.1/
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #18053 🦕