File tree Expand file tree Collapse file tree 4 files changed +13
-0
lines changed
Expand file tree Collapse file tree 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):
3434 int uid_counter
3535 bint closing
3636
37+ readonly uint64_t queries_count
38+
3739 PreparedStatementState statement
3840
3941 cdef _ensure_clear_state(self )
Original file line number Diff line number Diff line change @@ -95,6 +95,8 @@ cdef class BaseProtocol(CoreProtocol):
9595 self .timeout_callback = self ._on_timeout
9696 self .completed_callback = self ._on_waiter_completed
9797
98+ self .queries_count = 0
99+
98100 try :
99101 self .create_future = loop.create_future
100102 except AttributeError :
@@ -140,6 +142,7 @@ cdef class BaseProtocol(CoreProtocol):
140142 self .last_query = state.query
141143 self .statement = state
142144 self .return_extra = return_extra
145+ self .queries_count += 1
143146
144147 return await self ._new_waiter(timeout)
145148
@@ -177,6 +180,7 @@ cdef class BaseProtocol(CoreProtocol):
177180 self .last_query = state.query
178181 self .statement = state
179182 self .return_extra = return_extra
183+ self .queries_count += 1
180184
181185 return await self ._new_waiter(timeout)
182186
@@ -188,6 +192,7 @@ cdef class BaseProtocol(CoreProtocol):
188192
189193 self ._simple_query(query)
190194 self .last_query = query
195+ self .queries_count += 1
191196
192197 return await self ._new_waiter(timeout)
193198
Original file line number Diff line number Diff line change 77class TestExecuteScript (tb .ConnectedTestCase ):
88
99 async def test_execute_script_1 (self ):
10+ self .assertEqual (self .con ._protocol .queries_count , 0 )
1011 status = await self .con .execute ('''
1112 SELECT 1;
1213
1314 SELECT true FROM pg_type WHERE false = true;
1415
1516 SELECT generate_series(0, 9);
1617 ''' )
18+ self .assertEqual (self .con ._protocol .queries_count , 1 )
1719 self .assertEqual (status , 'SELECT 10' )
1820
1921 async def test_execute_script_check_transactionality (self ):
Original file line number Diff line number Diff line change 88class TestPrepare (tb .ConnectedTestCase ):
99
1010 async def test_prepare_01 (self ):
11+ self .assertEqual (self .con ._protocol .queries_count , 0 )
1112 st = await self .con .prepare ('SELECT 1 = $1 AS test' )
13+ self .assertEqual (self .con ._protocol .queries_count , 0 )
1214 self .assertEqual (st .get_query (), 'SELECT 1 = $1 AS test' )
1315
1416 rec = await st .fetchrow (1 )
17+ self .assertEqual (self .con ._protocol .queries_count , 1 )
1518 self .assertTrue (rec ['test' ])
1619 self .assertEqual (len (rec ), 1 )
1720
1821 self .assertEqual (False , await st .fetchval (10 ))
22+ self .assertEqual (self .con ._protocol .queries_count , 2 )
1923
2024 async def test_prepare_02 (self ):
2125 with self .assertRaisesRegex (Exception , 'column "a" does not exist' ):
You can’t perform that action at this time.
0 commit comments