Skip to content

Commit 019594d

Browse files
committed
extend query service example with parameters
1 parent d091436 commit 019594d

File tree

1 file changed

+45
-8
lines changed

1 file changed

+45
-8
lines changed

examples/query-service/basic_example.py

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def main():
1818

1919
print("=" * 50)
2020
print("DELETE TABLE IF EXISTS")
21-
pool.execute_with_retries("drop table if exists example")
21+
pool.execute_with_retries("DROP TABLE IF EXISTS example")
2222

2323
print("=" * 50)
2424
print("CREATE TABLE")
@@ -82,22 +82,59 @@ def callee(session):
8282

8383
pool.retry_operation_sync(callee)
8484

85-
query_print = """
86-
select $a
87-
"""
88-
8985
def callee(session: ydb.QuerySessionSync):
86+
query_print = """select $a"""
87+
9088
print("=" * 50)
91-
print("Check typed parameters")
89+
print("Check implicit typed parameters")
9290

93-
values = [1, 1.0, True, "text"]
91+
values = [
92+
1,
93+
1.0,
94+
True,
95+
"text",
96+
{"4": 8, "15": 16, "23": 42},
97+
[{"name": "Michael"}, {"surname": "Scott"}],
98+
]
9499

95100
for value in values:
96101
print(f"value: {value}")
97-
with session.transaction().execute(query=query_print, parameters={"$a": value}, commit_tx=True) as results:
102+
with session.transaction().execute(
103+
query=query_print,
104+
parameters={"$a": value},
105+
commit_tx=True,
106+
) as results:
98107
for result_set in results:
99108
print(f"rows: {str(result_set.rows)}")
100109

110+
print("=" * 50)
111+
print("Check typed parameters as tuple pair")
112+
113+
typed_value = ([1, 2, 3], ydb.ListType(ydb.PrimitiveType.Int64))
114+
print(f"value: {typed_value}")
115+
116+
with session.transaction().execute(
117+
query=query_print,
118+
parameters={"$a": typed_value},
119+
commit_tx=True,
120+
) as results:
121+
for result_set in results:
122+
print(f"rows: {str(result_set.rows)}")
123+
124+
print("=" * 50)
125+
print("Check typed parameters as ydb.TypedValue")
126+
127+
typed_value = ydb.TypedValue(111, ydb.PrimitiveType.Int64)
128+
print(f"value: {typed_value}")
129+
130+
with session.transaction().execute(
131+
query=query_print,
132+
parameters={"$a": typed_value},
133+
commit_tx=True,
134+
) as results:
135+
for result_set in results:
136+
print(f"rows: {str(result_set.rows)}")
137+
101138
pool.retry_operation_sync(callee)
102139

103140

0 commit comments

Comments
 (0)