✨ Increase number_of_types
to 5 to support longer select queries
#1333
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am trying to write a select statement that selects 5 different SQLModel children. However I get a type error as the overloads for select are limited to 4.
I am aware there is a #839 that adds typing for select for arbitrary length :) Sadly that one does not work and will break consumers.
I resolved it's conflicts and tried it on my project and then realised that the Python type system cannot maintain specific types of variadic generic arguments without specifying them explicitly. I can provide an example if you want :)
I presume this is also the reason we went with the templating approach in the first place.
Increasing to 6+ causes
mypy
to hang, so I chose 5 :)Resolves #271 (comment)
Thank you very much for your time and working on OSS!
PS: I had another PR where I fixed the conflicts of variadic typing before realising this could not work with Python's type system - so I closed it to ensure it wouldn't accidentally get merged