File tree 4 files changed +13
-0
lines changed
4 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,8 @@ cdef class BaseProtocol(CoreProtocol):
34
34
int uid_counter
35
35
bint closing
36
36
37
+ readonly uint64_t queries_count
38
+
37
39
PreparedStatementState statement
38
40
39
41
cdef _ensure_clear_state(self )
Original file line number Diff line number Diff line change @@ -95,6 +95,8 @@ cdef class BaseProtocol(CoreProtocol):
95
95
self .timeout_callback = self ._on_timeout
96
96
self .completed_callback = self ._on_waiter_completed
97
97
98
+ self .queries_count = 0
99
+
98
100
try :
99
101
self .create_future = loop.create_future
100
102
except AttributeError :
@@ -140,6 +142,7 @@ cdef class BaseProtocol(CoreProtocol):
140
142
self .last_query = state.query
141
143
self .statement = state
142
144
self .return_extra = return_extra
145
+ self .queries_count += 1
143
146
144
147
return await self ._new_waiter(timeout)
145
148
@@ -177,6 +180,7 @@ cdef class BaseProtocol(CoreProtocol):
177
180
self .last_query = state.query
178
181
self .statement = state
179
182
self .return_extra = return_extra
183
+ self .queries_count += 1
180
184
181
185
return await self ._new_waiter(timeout)
182
186
@@ -188,6 +192,7 @@ cdef class BaseProtocol(CoreProtocol):
188
192
189
193
self ._simple_query(query)
190
194
self .last_query = query
195
+ self .queries_count += 1
191
196
192
197
return await self ._new_waiter(timeout)
193
198
Original file line number Diff line number Diff line change 7
7
class TestExecuteScript (tb .ConnectedTestCase ):
8
8
9
9
async def test_execute_script_1 (self ):
10
+ self .assertEqual (self .con ._protocol .queries_count , 0 )
10
11
status = await self .con .execute ('''
11
12
SELECT 1;
12
13
13
14
SELECT true FROM pg_type WHERE false = true;
14
15
15
16
SELECT generate_series(0, 9);
16
17
''' )
18
+ self .assertEqual (self .con ._protocol .queries_count , 1 )
17
19
self .assertEqual (status , 'SELECT 10' )
18
20
19
21
async def test_execute_script_check_transactionality (self ):
Original file line number Diff line number Diff line change 8
8
class TestPrepare (tb .ConnectedTestCase ):
9
9
10
10
async def test_prepare_01 (self ):
11
+ self .assertEqual (self .con ._protocol .queries_count , 0 )
11
12
st = await self .con .prepare ('SELECT 1 = $1 AS test' )
13
+ self .assertEqual (self .con ._protocol .queries_count , 0 )
12
14
self .assertEqual (st .get_query (), 'SELECT 1 = $1 AS test' )
13
15
14
16
rec = await st .fetchrow (1 )
17
+ self .assertEqual (self .con ._protocol .queries_count , 1 )
15
18
self .assertTrue (rec ['test' ])
16
19
self .assertEqual (len (rec ), 1 )
17
20
18
21
self .assertEqual (False , await st .fetchval (10 ))
22
+ self .assertEqual (self .con ._protocol .queries_count , 2 )
19
23
20
24
async def test_prepare_02 (self ):
21
25
with self .assertRaisesRegex (Exception , 'column "a" does not exist' ):
You can’t perform that action at this time.
0 commit comments