+<?xml version="1.0" encoding="utf-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\r
+ "DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+<head>\r
+ <title>psycopg2.pool.PersistentConnectionPool</title>\r
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />\r
+<script type="text/javascript">\r
+<!--\r
+function setFrame(url1, url2){\r
+ parent.frames[1].location.href = url1;\r
+ parent.frames[2].location.href = url2;\r
+}\r
+-->\r
+</script>\r
+</head>\r
+<body bgcolor="white" text="black" link="blue" vlink="#204080"\r
+ alink="#204080">\r
+\r
+<!-- =========== START OF NAVBAR =========== -->\r
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">\r
+ <tr valign="middle">\r
+ <th class="navbar"> <a class="navbar" href="psycopg2-module.html">Home</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>\r
+ <th class="navbar" width="100%"></th>\r
+ </tr>\r
+</table>\r
+<table width="100%" cellpadding="0" cellspacing="0">\r
+ <tr valign="top">\r
+ <td width="100%">\r
+ <span class="breadcrumbs">\r
+ <a href="psycopg2-module.html">Package psycopg2</a> ::\r
+ <a href="psycopg2.pool-module.html">Module pool</a> ::\r
+ Class PersistentConnectionPool\r
+ </span><br />\r
+ </td>\r
+ <td><table cellpadding="0" cellspacing="0">\r
+ <tr><td align="right"><span class="options">[show private | <a href="../public/psycopg2.pool.PersistentConnectionPool-class.html">hide private</a>]</span></td></tr>\r
+ <tr><td align="right"><span class="options">[<a href="frames.html" target="_top">frames</a> | <a href="psycopg2.pool.PersistentConnectionPool-class.html" target="_top">no frames</a>]</span></td></tr>\r
+ </table></td>\r
+</tr></table>\r
+\r
+<!-- =========== START OF CLASS DESCRIPTION =========== -->\r
+<h2 class="class">Type PersistentConnectionPool</h2>\r
+\r
+<pre class="base-tree">\r
+ <a href="__builtin__.object-class.html"><code>object</code></a> --+ \r
+ | \r
+<a href="psycopg2.pool.AbstractConnectionPool-class.html"><code>AbstractConnectionPool</code></a> --+\r
+ |\r
+ <strong class="uidshort">PersistentConnectionPool</strong>\r
+</pre><br />\r
+\r
+<hr/>\r
+\r
+<p>A pool that assigns persistent connections to different threads.</p>\r
+<p>Note that this connection pool generates by itself the required keys\r
+using the current thread id. This means that untill a thread put away\r
+a connection it will always get the same connection object by successive\r
+.getconn() calls. This also means that a thread can't use more than one\r
+single connection from the pool.</p>\r
+<hr/>\r
+\r
+\r
+<!-- =========== START OF METHOD SUMMARY =========== -->\r
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">\r
+<tr bgcolor="#70b0f0" class="summary">\r
+ <th colspan="2">Method Summary</th></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="psycopg2.pool.PersistentConnectionPool-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-arg">self</span>,\r
+ <span class="summary-sig-arg">minconn</span>,\r
+ <span class="summary-sig-arg">maxconn</span>,\r
+ <span class="summary-sig-vararg">*args</span>,\r
+ <span class="summary-sig-kwarg">**kwargs</span>)</span></code>\r
+<br />\r
+Initialize the threading lock.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="psycopg2.pool.PersistentConnectionPool-class.html#closeall" class="summary-sig-name"><code>closeall</code></a>(<span class="summary-sig-arg">self</span>)</span></code>\r
+<br />\r
+Close all connections (even the one currently in use.)</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="psycopg2.pool.PersistentConnectionPool-class.html#getconn" class="summary-sig-name"><code>getconn</code></a>(<span class="summary-sig-arg">self</span>)</span></code>\r
+<br />\r
+Generate thread id and return a connection.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="psycopg2.pool.PersistentConnectionPool-class.html#putconn" class="summary-sig-name"><code>putconn</code></a>(<span class="summary-sig-arg">self</span>,\r
+ <span class="summary-sig-arg">conn</span>,\r
+ <span class="summary-sig-arg">close</span>)</span></code>\r
+<br />\r
+Put away an unused connection.</td></tr>\r
+<tr bgcolor="#e8f0f8" class="group">\r
+ <th colspan="2"> Inherited from AbstractConnectionPool</th></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="../private/psycopg2.pool.AbstractConnectionPool-class.html#_closeall" class="summary-sig-name"><code>_closeall</code></a>(<span class="summary-sig-arg">self</span>)</span></code>\r
+<br />\r
+Close all connections.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="../private/psycopg2.pool.AbstractConnectionPool-class.html#_connect" class="summary-sig-name"><code>_connect</code></a>(<span class="summary-sig-arg">self</span>,\r
+ <span class="summary-sig-arg">key</span>)</span></code>\r
+<br />\r
+Create a new connection and assign it to 'key' if not None.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="../private/psycopg2.pool.AbstractConnectionPool-class.html#_getconn" class="summary-sig-name"><code>_getconn</code></a>(<span class="summary-sig-arg">self</span>,\r
+ <span class="summary-sig-arg">key</span>)</span></code>\r
+<br />\r
+Get a free connection and assign it to 'key' if not None.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="../private/psycopg2.pool.AbstractConnectionPool-class.html#_getkey" class="summary-sig-name"><code>_getkey</code></a>(<span class="summary-sig-arg">self</span>)</span></code>\r
+<br />\r
+Return a new unique key.</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="../private/psycopg2.pool.AbstractConnectionPool-class.html#_putconn" class="summary-sig-name"><code>_putconn</code></a>(<span class="summary-sig-arg">self</span>,\r
+ <span class="summary-sig-arg">conn</span>,\r
+ <span class="summary-sig-arg">key</span>,\r
+ <span class="summary-sig-arg">close</span>)</span></code>\r
+<br />\r
+Put away a connection.</td></tr>\r
+<tr bgcolor="#e8f0f8" class="group">\r
+ <th colspan="2"> Inherited from object</th></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__delattr__" class="summary-sig-name"><code>__delattr__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+x.__delattr__('name') <==> del x.name</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__getattribute__" class="summary-sig-name"><code>__getattribute__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+x.__getattribute__('name') <==> x.name</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__hash__" class="summary-sig-name"><code>__hash__</code></a>(<span class="summary-sig-arg">x</span>)</span></code>\r
+<br />\r
+Return hash(x)...</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__new__" class="summary-sig-name"><code>__new__</code></a>(<span class="summary-sig-arg">T</span>,\r
+ <span class="summary-sig-arg">S</span>,\r
+ <span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+Return a new object with type S, a subtype of T...</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__reduce__" class="summary-sig-name"><code>__reduce__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+helper for pickle</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__reduce_ex__" class="summary-sig-name"><code>__reduce_ex__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+helper for pickle</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__repr__" class="summary-sig-name"><code>__repr__</code></a>(<span class="summary-sig-arg">x</span>)</span></code>\r
+<br />\r
+Return repr(x)...</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__setattr__" class="summary-sig-name"><code>__setattr__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>\r
+<br />\r
+x.__setattr__('name', value) <==> x.name = value</td></tr>\r
+<tr><td align="right" valign="top" width="15%" class="rtype"> </td>\r
+ <td><code><span class="summary-sig"><a href="__builtin__.object-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-arg">x</span>)</span></code>\r
+<br />\r
+Return str(x)...</td></tr>\r
+</table><br />\r
+\r
+\r
+<!-- =========== START OF METHOD DETAILS =========== -->\r
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">\r
+<tr bgcolor="#70b0f0" class="details">\r
+ <th colspan="2">Method Details</th></tr>\r
+</table>\r
+\r
+<a name="__init__"></a>\r
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>\r
+ <h3><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,\r
+ <span class="sig-arg">minconn</span>,\r
+ <span class="sig-arg">maxconn</span>,\r
+ <span class="sig-vararg">*args</span>,\r
+ <span class="sig-kwarg">**kwargs</span>)</span>\r
+ <br /><em class="fname">(Constructor)</em>\r
+ </h3>\r
+<p>Initialize the threading lock.</p>\r
+ <dl><dt></dt><dd>\r
+ <dl><dt>Overrides:</dt>\r
+ <dd><a href="psycopg2.pool.AbstractConnectionPool-class.html#__init__"><code>psycopg2.pool.AbstractConnectionPool.__init__</code></a></dd>\r
+ </dl>\r
+ </dd></dl>\r
+</td></tr></table>\r
+\r
+<a name="closeall"></a>\r
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>\r
+ <h3><span class="sig"><span class="sig-name">closeall</span>(<span class="sig-arg">self</span>)</span>\r
+ </h3>\r
+<p>Close all connections (even the one currently in use.)</p>\r
+ <dl><dt></dt><dd>\r
+ </dd></dl>\r
+</td></tr></table>\r
+\r
+<a name="getconn"></a>\r
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>\r
+ <h3><span class="sig"><span class="sig-name">getconn</span>(<span class="sig-arg">self</span>)</span>\r
+ </h3>\r
+<p>Generate thread id and return a connection.</p>\r
+ <dl><dt></dt><dd>\r
+ </dd></dl>\r
+</td></tr></table>\r
+\r
+<a name="putconn"></a>\r
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>\r
+ <h3><span class="sig"><span class="sig-name">putconn</span>(<span class="sig-arg">self</span>,\r
+ <span class="sig-arg">conn</span>=<span class="sig-default">None</span>,\r
+ <span class="sig-arg">close</span>=<span class="sig-default">False</span>)</span>\r
+ </h3>\r
+<p>Put away an unused connection.</p>\r
+ <dl><dt></dt><dd>\r
+ </dd></dl>\r
+</td></tr></table>\r
+<br />\r
+\r
+\r
+<!-- =========== START OF NAVBAR =========== -->\r
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">\r
+ <tr valign="middle">\r
+ <th class="navbar"> <a class="navbar" href="psycopg2-module.html">Home</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>\r
+ <th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>\r
+ <th class="navbar" width="100%"></th>\r
+ </tr>\r
+</table>\r
+\r
+<table border="0" cellpadding="0" cellspacing="0" width="100%">\r
+ <tr>\r
+ <td align="left" class="footer">Generated by Epydoc 2.1 on Sat Jan 14 01:42:34 2006</td>\r
+ <td align="right" class="footer">\r
+ <a href="http://epydoc.sourceforge.net">http://epydoc.sf.net</a>\r
+ </td>\r
+ </tr>\r
+</table>\r
+</body>\r
+</html>\r