@@ -18,7 +18,7 @@ def main():
18
18
19
19
print ("=" * 50 )
20
20
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" )
22
22
23
23
print ("=" * 50 )
24
24
print ("CREATE TABLE" )
@@ -82,22 +82,59 @@ def callee(session):
82
82
83
83
pool .retry_operation_sync (callee )
84
84
85
- query_print = """
86
- select $a
87
- """
88
-
89
85
def callee (session : ydb .QuerySessionSync ):
86
+ query_print = """select $a"""
87
+
90
88
print ("=" * 50 )
91
- print ("Check typed parameters" )
89
+ print ("Check implicit typed parameters" )
92
90
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
+ ]
94
99
95
100
for value in values :
96
101
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 :
98
107
for result_set in results :
99
108
print (f"rows: { str (result_set .rows )} " )
100
109
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
+
101
138
pool .retry_operation_sync (callee )
102
139
103
140
0 commit comments