|
33 | 33 | asyncpg
|
34 | 34 | </a>
|
35 | 35 | <div class="version">
|
36 |
| - 0.28.0 |
| 36 | + 0.29.0 |
37 | 37 | </div>
|
38 | 38 | <div role="search">
|
39 | 39 | <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
@@ -235,6 +235,17 @@ <h1>Source code for asyncpg.cursor</h1><div class="highlight"><pre>
|
235 | 235 | <span class="bp">self</span><span class="o">.</span><span class="n">_state</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="kc">True</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span>
|
236 | 236 | <span class="k">return</span> <span class="n">buffer</span>
|
237 | 237 |
|
| 238 | + <span class="k">async</span> <span class="k">def</span> <span class="nf">_close_portal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="p">):</span> |
| 239 | + <span class="bp">self</span><span class="o">.</span><span class="n">_check_ready</span><span class="p">()</span> |
| 240 | + |
| 241 | + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span><span class="p">:</span> |
| 242 | + <span class="k">raise</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">InterfaceError</span><span class="p">(</span> |
| 243 | + <span class="s1">'cursor does not have an open portal'</span><span class="p">)</span> |
| 244 | + |
| 245 | + <span class="n">protocol</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_connection</span><span class="o">.</span><span class="n">_protocol</span> |
| 246 | + <span class="k">await</span> <span class="n">protocol</span><span class="o">.</span><span class="n">close_portal</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span> |
| 247 | + <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span> <span class="o">=</span> <span class="kc">None</span> |
| 248 | + |
238 | 249 | <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
239 | 250 | <span class="n">attrs</span> <span class="o">=</span> <span class="p">[]</span>
|
240 | 251 | <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_exhausted</span><span class="p">:</span>
|
@@ -296,14 +307,17 @@ <h1>Source code for asyncpg.cursor</h1><div class="highlight"><pre>
|
296 | 307 | <span class="p">)</span>
|
297 | 308 | <span class="bp">self</span><span class="o">.</span><span class="n">_state</span><span class="o">.</span><span class="n">attach</span><span class="p">()</span>
|
298 | 309 |
|
299 |
| - <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span><span class="p">:</span> |
| 310 | + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_exhausted</span><span class="p">:</span> |
300 | 311 | <span class="n">buffer</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_bind_exec</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_prefetch</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_timeout</span><span class="p">)</span>
|
301 | 312 | <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">buffer</span><span class="p">)</span>
|
302 | 313 |
|
303 | 314 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_exhausted</span><span class="p">:</span>
|
304 | 315 | <span class="n">buffer</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_exec</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_prefetch</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_timeout</span><span class="p">)</span>
|
305 | 316 | <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">buffer</span><span class="p">)</span>
|
306 | 317 |
|
| 318 | + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_portal_name</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_exhausted</span><span class="p">:</span> |
| 319 | + <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_close_portal</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_timeout</span><span class="p">)</span> |
| 320 | + |
307 | 321 | <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="p">:</span>
|
308 | 322 | <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">popleft</span><span class="p">()</span>
|
309 | 323 |
|
|
0 commit comments