]> git.ipfire.org Git - thirdparty/fastapi/sqlmodel.git/commitdiff
♻️ Refactor type generation of selects re-order to prioritize models to optimize...
authorSebastián Ramírez <tiangolo@gmail.com>
Mon, 4 Dec 2023 09:46:59 +0000 (10:46 +0100)
committerGitHub <noreply@github.com>
Mon, 4 Dec 2023 09:46:59 +0000 (09:46 +0000)
scripts/generate_select.py
sqlmodel/sql/expression.py
sqlmodel/sql/expression.py.jinja2

index 88e0e0a997cbe32d84600a59e5219826e77708a7..8f01cb808dfa4344a52f914844eae49a954c0933 100644 (file)
@@ -24,7 +24,7 @@ arg_groups: List[Arg] = []
 signatures: List[Tuple[List[Arg], List[str]]] = []
 
 for total_args in range(2, number_of_types + 1):
-    arg_types_tuples = product(["scalar", "model"], repeat=total_args)
+    arg_types_tuples = product(["model", "scalar"], repeat=total_args)
     for arg_type_tuple in arg_types_tuples:
         args: List[Arg] = []
         return_types: List[str] = []
index a8a572501cd1754f0a0e0349739d5196cc07cd6f..2c931a14797fa9ce3ea212546316dea7eb5c9e00 100644 (file)
@@ -328,12 +328,12 @@ _T3 = TypeVar("_T3")
 
 
 @overload
-def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]:  # type: ignore
+def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
     ...
 
 
 @overload
-def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
+def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]:  # type: ignore
     ...
 
 
@@ -342,17 +342,9 @@ def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    entity_1: _TScalar_1,
-) -> Select[Tuple[_TScalar_0, _TScalar_1]]:
-    ...
-
-
-@overload
-def select(  # type: ignore
-    entity_0: _TScalar_0,
+    __ent0: _TCCA[_T0],
     __ent1: _TCCA[_T1],
-) -> Select[Tuple[_TScalar_0, _T1]]:
+) -> Select[Tuple[_T0, _T1]]:
     ...
 
 
@@ -366,9 +358,9 @@ def select(  # type: ignore
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
+    entity_0: _TScalar_0,
     __ent1: _TCCA[_T1],
-) -> Select[Tuple[_T0, _T1]]:
+) -> Select[Tuple[_TScalar_0, _T1]]:
     ...
 
 
@@ -376,35 +368,34 @@ def select(  # type: ignore
 def select(  # type: ignore
     entity_0: _TScalar_0,
     entity_1: _TScalar_1,
-    entity_2: _TScalar_2,
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    entity_1: _TScalar_1,
+    __ent0: _TCCA[_T0],
+    __ent1: _TCCA[_T1],
     __ent2: _TCCA[_T2],
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2]]:
+) -> Select[Tuple[_T0, _T1, _T2]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
+    __ent0: _TCCA[_T0],
     __ent1: _TCCA[_T1],
     entity_2: _TScalar_2,
-) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2]]:
+) -> Select[Tuple[_T0, _T1, _TScalar_2]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    __ent1: _TCCA[_T1],
+    __ent0: _TCCA[_T0],
+    entity_1: _TScalar_1,
     __ent2: _TCCA[_T2],
-) -> Select[Tuple[_TScalar_0, _T1, _T2]]:
+) -> Select[Tuple[_T0, _TScalar_1, _T2]]:
     ...
 
 
@@ -419,28 +410,28 @@ def select(  # type: ignore
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    entity_1: _TScalar_1,
+    entity_0: _TScalar_0,
+    __ent1: _TCCA[_T1],
     __ent2: _TCCA[_T2],
-) -> Select[Tuple[_T0, _TScalar_1, _T2]]:
+) -> Select[Tuple[_TScalar_0, _T1, _T2]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
+    entity_0: _TScalar_0,
     __ent1: _TCCA[_T1],
     entity_2: _TScalar_2,
-) -> Select[Tuple[_T0, _T1, _TScalar_2]]:
+) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    __ent1: _TCCA[_T1],
+    entity_0: _TScalar_0,
+    entity_1: _TScalar_1,
     __ent2: _TCCA[_T2],
-) -> Select[Tuple[_T0, _T1, _T2]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2]]:
     ...
 
 
@@ -449,78 +440,77 @@ def select(  # type: ignore
     entity_0: _TScalar_0,
     entity_1: _TScalar_1,
     entity_2: _TScalar_2,
-    entity_3: _TScalar_3,
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TScalar_3]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    entity_1: _TScalar_1,
-    entity_2: _TScalar_2,
+    __ent0: _TCCA[_T0],
+    __ent1: _TCCA[_T1],
+    __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _T3]]:
+) -> Select[Tuple[_T0, _T1, _T2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    entity_1: _TScalar_1,
+    __ent0: _TCCA[_T0],
+    __ent1: _TCCA[_T1],
     __ent2: _TCCA[_T2],
     entity_3: _TScalar_3,
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _TScalar_3]]:
+) -> Select[Tuple[_T0, _T1, _T2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    entity_1: _TScalar_1,
-    __ent2: _TCCA[_T2],
+    __ent0: _TCCA[_T0],
+    __ent1: _TCCA[_T1],
+    entity_2: _TScalar_2,
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _T3]]:
+) -> Select[Tuple[_T0, _T1, _TScalar_2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
+    __ent0: _TCCA[_T0],
     __ent1: _TCCA[_T1],
     entity_2: _TScalar_2,
     entity_3: _TScalar_3,
-) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _TScalar_3]]:
+) -> Select[Tuple[_T0, _T1, _TScalar_2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    __ent1: _TCCA[_T1],
-    entity_2: _TScalar_2,
+    __ent0: _TCCA[_T0],
+    entity_1: _TScalar_1,
+    __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _T3]]:
+) -> Select[Tuple[_T0, _TScalar_1, _T2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    __ent1: _TCCA[_T1],
+    __ent0: _TCCA[_T0],
+    entity_1: _TScalar_1,
     __ent2: _TCCA[_T2],
     entity_3: _TScalar_3,
-) -> Select[Tuple[_TScalar_0, _T1, _T2, _TScalar_3]]:
+) -> Select[Tuple[_T0, _TScalar_1, _T2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    entity_0: _TScalar_0,
-    __ent1: _TCCA[_T1],
-    __ent2: _TCCA[_T2],
+    __ent0: _TCCA[_T0],
+    entity_1: _TScalar_1,
+    entity_2: _TScalar_2,
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_TScalar_0, _T1, _T2, _T3]]:
+) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _T3]]:
     ...
 
 
@@ -536,71 +526,81 @@ def select(  # type: ignore
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    entity_1: _TScalar_1,
-    entity_2: _TScalar_2,
+    entity_0: _TScalar_0,
+    __ent1: _TCCA[_T1],
+    __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _T3]]:
+) -> Select[Tuple[_TScalar_0, _T1, _T2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    entity_1: _TScalar_1,
+    entity_0: _TScalar_0,
+    __ent1: _TCCA[_T1],
     __ent2: _TCCA[_T2],
     entity_3: _TScalar_3,
-) -> Select[Tuple[_T0, _TScalar_1, _T2, _TScalar_3]]:
+) -> Select[Tuple[_TScalar_0, _T1, _T2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    entity_1: _TScalar_1,
-    __ent2: _TCCA[_T2],
+    entity_0: _TScalar_0,
+    __ent1: _TCCA[_T1],
+    entity_2: _TScalar_2,
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_T0, _TScalar_1, _T2, _T3]]:
+) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
+    entity_0: _TScalar_0,
     __ent1: _TCCA[_T1],
     entity_2: _TScalar_2,
     entity_3: _TScalar_3,
-) -> Select[Tuple[_T0, _T1, _TScalar_2, _TScalar_3]]:
+) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    __ent1: _TCCA[_T1],
-    entity_2: _TScalar_2,
+    entity_0: _TScalar_0,
+    entity_1: _TScalar_1,
+    __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_T0, _T1, _TScalar_2, _T3]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _T3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    __ent1: _TCCA[_T1],
+    entity_0: _TScalar_0,
+    entity_1: _TScalar_1,
     __ent2: _TCCA[_T2],
     entity_3: _TScalar_3,
-) -> Select[Tuple[_T0, _T1, _T2, _TScalar_3]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _TScalar_3]]:
     ...
 
 
 @overload
 def select(  # type: ignore
-    __ent0: _TCCA[_T0],
-    __ent1: _TCCA[_T1],
-    __ent2: _TCCA[_T2],
+    entity_0: _TScalar_0,
+    entity_1: _TScalar_1,
+    entity_2: _TScalar_2,
     __ent3: _TCCA[_T3],
-) -> Select[Tuple[_T0, _T1, _T2, _T3]]:
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _T3]]:
+    ...
+
+
+@overload
+def select(  # type: ignore
+    entity_0: _TScalar_0,
+    entity_1: _TScalar_1,
+    entity_2: _TScalar_2,
+    entity_3: _TScalar_3,
+) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TScalar_3]]:
     ...
 
 
index f1a25419c02f66a503695200d12bc21ff93941d7..9bf93e1abf5ddea299cf99b1d6f9ddf815f0fb29 100644 (file)
@@ -273,12 +273,12 @@ _T{{ i }} = TypeVar("_T{{ i }}")
 # Generated TypeVars end
 
 @overload
-def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]:  # type: ignore
+def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
     ...
 
 
 @overload
-def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
+def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]:  # type: ignore
     ...