Skip to content

Commit e3e8ab4

Browse files
Refactor query method to support optional model parameter (#147)
Co-authored-by: carlos.rian <carlos.rian@quartile.com>
1 parent eccbead commit e3e8ab4

File tree

2 files changed

+243
-136
lines changed

2 files changed

+243
-136
lines changed

pysqlx_engine/_core/aconn.pyi

Lines changed: 79 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ class PySQLXEngine:
246246
async def query(self, sql: str) -> Union[List[BaseRow], List]: ...
247247
@overload
248248
async def query(self, sql: str, parameters: Optional[DictParam] = None) -> Union[List[BaseRow], List]: ...
249+
@overload
249250
async def query(
250251
self, sql: str, parameters: Optional[DictParam] = None, model: Optional[Type["MyModel"]] = None
251252
) -> Union[List[Type["MyModel"]], List]:
@@ -287,21 +288,21 @@ class PySQLXEngine:
287288
288289
* dict `key` must be a valid string.
289290
* dict `value` can be one of the types: (
290-
`bool`,
291-
`bytes`,
292-
`date`,
293-
`datetime`,
294-
`Decimal`,
295-
`dict`,
296-
`Enum`, # Enum must be a subclass of enum.Enum
297-
`float`,
298-
`int`,
299-
`list`,
300-
`str`,
301-
`time`,
302-
`tuple`,
303-
`UUID`,
304-
`None`
291+
- bool,
292+
- bytes,
293+
- date,
294+
- datetime,
295+
- Decimal,
296+
- dict,
297+
- Enum, # Enum must be a subclass of enum.Enum
298+
- float,
299+
- int,
300+
- list,
301+
- str,
302+
- time,
303+
- tuple,
304+
- UUID,
305+
- None
305306
)
306307
307308
#### Python types vs SQL types:
@@ -391,21 +392,21 @@ class PySQLXEngine:
391392
392393
* dict `key` must be a valid string.
393394
* dict `value` can be one of the types: (
394-
`bool`,
395-
`bytes`,
396-
`date`,
397-
`datetime`,
398-
`Decimal`,
399-
`dict`,
400-
`Enum`, # Enum must be a subclass of enum.Enum
401-
`float`,
402-
`int`,
403-
`list`,
404-
`str`,
405-
`time`,
406-
`tuple`,
407-
`UUID`,
408-
`None`
395+
- bool,
396+
- bytes,
397+
- date,
398+
- datetime,
399+
- Decimal,
400+
- dict,
401+
- Enum, # Enum must be a subclass of enum.Enum
402+
- float,
403+
- int,
404+
- list,
405+
- str,
406+
- time,
407+
- tuple,
408+
- UUID,
409+
- None
409410
)
410411
411412
#### Python types vs SQL types:
@@ -457,6 +458,7 @@ class PySQLXEngine:
457458
async def query_first(self, sql: str) -> Union[BaseRow, None]: ...
458459
@overload
459460
async def query_first(self, sql: str, parameters: DictParam = None) -> Union[BaseRow, None]: ...
461+
@overload
460462
async def query_first(
461463
self, sql: str, parameters: DictParam = None, model: Type["MyModel"] = None
462464
) -> Union[Type["MyModel"], None]:
@@ -498,21 +500,21 @@ class PySQLXEngine:
498500
499501
* dict `key` must be a valid string.
500502
* dict `value` can be one of the types: (
501-
`bool`,
502-
`bytes`,
503-
`date`,
504-
`datetime`,
505-
`Decimal`,
506-
`dict`,
507-
`Enum`, # Enum must be a subclass of enum.Enum
508-
`float`,
509-
`int`,
510-
`list`,
511-
`str`,
512-
`time`,
513-
`tuple`,
514-
`UUID`,
515-
`None`
503+
- bool,
504+
- bytes,
505+
- date,
506+
- datetime,
507+
- Decimal,
508+
- dict,
509+
- Enum, # Enum must be a subclass of enum.Enum
510+
- float,
511+
- int,
512+
- list,
513+
- str,
514+
- time,
515+
- tuple,
516+
- UUID,
517+
- None
516518
)
517519
518520
#### Python types vs SQL types:
@@ -563,6 +565,7 @@ class PySQLXEngine:
563565
# dict
564566
@overload
565567
async def query_first_as_dict(self, sql: str) -> Optional[Dict[str, Any]]: ...
568+
@overload
566569
async def query_first_as_dict(self, sql: str, parameters: Optional[DictParam] = None) -> Optional[Dict[str, Any]]:
567570
"""
568571
## Description
@@ -600,21 +603,21 @@ class PySQLXEngine:
600603
601604
* dict `key` must be a valid string.
602605
* dict `value` can be one of the types: (
603-
`bool`,
604-
`bytes`,
605-
`date`,
606-
`datetime`,
607-
`Decimal`,
608-
`dict`,
609-
`Enum`, # Enum must be a subclass of enum.Enum
610-
`float`,
611-
`int`,
612-
`list`,
613-
`str`,
614-
`time`,
615-
`tuple`,
616-
`UUID`,
617-
`None`
606+
- bool,
607+
- bytes,
608+
- date,
609+
- datetime,
610+
- Decimal,
611+
- dict,
612+
- Enum, # Enum must be a subclass of enum.Enum
613+
- float,
614+
- int,
615+
- list,
616+
- str,
617+
- time,
618+
- tuple,
619+
- UUID,
620+
- None
618621
)
619622
620623
#### Python types vs SQL types:
@@ -664,6 +667,7 @@ class PySQLXEngine:
664667
# --
665668
@overload
666669
async def execute(self, sql: str) -> "int": ...
670+
@overload
667671
async def execute(self, sql: str, parameters: Optional[DictParam] = None) -> "int":
668672
"""
669673
## Description
@@ -698,21 +702,21 @@ class PySQLXEngine:
698702
699703
* dict `key` must be a valid string.
700704
* dict `value` can be one of the types: (
701-
`bool`,
702-
`bytes`,
703-
`date`,
704-
`datetime`,
705-
`Decimal`,
706-
`dict`,
707-
`Enum`, # Enum must be a subclass of enum.Enum
708-
`float`,
709-
`int`,
710-
`list`,
711-
`str`,
712-
`time`,
713-
`tuple`,
714-
`UUID`,
715-
`None`
705+
- bool,
706+
- bytes,
707+
- date,
708+
- datetime,
709+
- Decimal,
710+
- dict,
711+
- Enum, # Enum must be a subclass of enum.Enum
712+
- float,
713+
- int,
714+
- list,
715+
- str,
716+
- time,
717+
- tuple,
718+
- UUID,
719+
- None
716720
)
717721
718722
#### Python types vs SQL types:

0 commit comments

Comments
 (0)