Skip to content

Commit 266b689

Browse files
authored
Merge pull request #147 from psqlpy-python/result-as-tuple
Added new as_tuple parameter to QueryResult and some performance optimizations by @bymoye
2 parents 37160a3 + c6335fe commit 266b689

File tree

12 files changed

+610
-235
lines changed

12 files changed

+610
-235
lines changed

docs/components/results.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ Currently there are two results:
1414
### Result
1515

1616
#### Parameters
17+
1718
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
19+
- `as_tuple`: Headless tuple output
1820

1921
Get the result as a list of dicts
2022

@@ -27,12 +29,19 @@ async def main() -> None:
2729
[],
2830
)
2931

30-
result: List[Dict[str, Any]] = query_result.result()
32+
# Result as dict
33+
list_dict_result: List[Dict[str, Any]] = query_result.result()
34+
35+
# Result as tuple
36+
list_tuple_result: List[Tuple[t.Any, ...]] = query_result.result(
37+
as_tuple=True,
38+
)
3139
```
3240

3341
### As class
3442

3543
#### Parameters
44+
3645
- `as_class`: Custom class from Python.
3746
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
3847

@@ -61,6 +70,7 @@ async def main() -> None:
6170
### Row Factory
6271

6372
#### Parameters
73+
6474
- `row_factory`: custom callable object.
6575
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
6676

@@ -71,7 +81,9 @@ async def main() -> None:
7181
### Result
7282

7383
#### Parameters
84+
7485
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
86+
- `as_tuple`: Headless tuple output
7587

7688
Get the result as a dict
7789

@@ -84,12 +96,19 @@ async def main() -> None:
8496
[100],
8597
)
8698

87-
result: Dict[str, Any] = query_result.result()
99+
# Result as dict
100+
dict_result: Dict[str, Any] = query_result.result()
101+
102+
# Result as tuple
103+
tuple_result: Tuple[typing.Any, ...] = query_result.result(
104+
as_tuple=True,
105+
)
88106
```
89107

90108
### As class
91109

92110
#### Parameters
111+
93112
- `as_class`: Custom class from Python.
94113
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
95114

@@ -117,6 +136,7 @@ async def main() -> None:
117136
### Row Factory
118137

119138
#### Parameters
139+
120140
- `row_factory`: custom callable object.
121141
- `custom_decoders`: custom decoders for unsupported types. [Read more](/usage/types/advanced_type_usage.md)
122142

0 commit comments

Comments
 (0)