1 <?xml version="1.0" encoding="utf-8"?>
\r
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
\r
3 "DTD/xhtml1-transitional.dtd">
\r
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
\r
6 <title>psycopg2.extensions</title>
\r
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
\r
8 <script type="text/javascript">
\r
10 function setFrame(url1, url2){
\r
11 parent.frames[1].location.href = url1;
\r
12 parent.frames[2].location.href = url2;
\r
17 <body bgcolor="white" text="black" link="blue" vlink="#204080"
\r
20 <!-- =========== START OF NAVBAR =========== -->
\r
21 <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
\r
22 <tr valign="middle">
\r
23 <th class="navbar"> <a class="navbar" href="psycopg2-module.html">Home</a> </th>
\r
24 <th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
\r
25 <th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
\r
26 <th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
\r
27 <th class="navbar" width="100%"></th>
\r
30 <table width="100%" cellpadding="0" cellspacing="0">
\r
33 <span class="breadcrumbs">
\r
34 <a href="psycopg2-module.html">Package psycopg2</a> ::
\r
35 Module extensions
\r
38 <td><table cellpadding="0" cellspacing="0">
\r
39 <tr><td align="right"><span class="options">[show private | <a href="../public/psycopg2.extensions-module.html">hide private</a>]</span></td></tr>
\r
40 <tr><td align="right"><span class="options">[<a href="frames.html" target="_top">frames</a> | <a href="psycopg2.extensions-module.html" target="_top">no frames</a>]</span></td></tr>
\r
44 <!-- =========== START OF MODULE DESCRIPTION =========== -->
\r
45 <h2 class="module">Module psycopg2.extensions</h2>
\r
47 <p>psycopg extensions to the DBAPI-2.0</p>
\r
48 <p>This module holds all the extensions to the DBAPI-2.0 provided by psycopg.</p>
\r
49 <ul class="rst-simple">
\r
50 <li><a href="../private/psycopg2._psycopg.connection-class.html" class="link"><code>connection</code></a> -- the new-type inheritable connection class</li>
\r
51 <li><a href="../private/psycopg2._psycopg.cursor-class.html" class="link"><code>cursor</code></a> -- the new-type inheritable cursor class</li>
\r
52 <li><a href="psycopg2.extensions-module.html#adapt" class="link"><code>adapt()</code></a> -- exposes the <a class="reference" href="http://www.python.org/peps/pep-0246.html">PEP-246</a> compatible adapting mechanism used
\r
53 by psycopg to adapt Python types to PostgreSQL ones</li>
\r
57 <!-- =========== START OF FUNCTION SUMMARY =========== -->
\r
58 <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
\r
59 <tr bgcolor="#70b0f0" class="summary">
\r
60 <th colspan="2">Function Summary</th></tr>
\r
61 <tr><td align="right" valign="top" width="15%" class="rtype">object</td>
\r
62 <td><code><span class="summary-sig"><a href="psycopg2.extensions-module.html#adapt" class="summary-sig-name"><code>adapt</code></a>(<span class="summary-sig-arg">obj</span>,
\r
63 <span class="summary-sig-arg">protocol</span>,
\r
64 <span class="summary-sig-arg">alternate</span>)</span></code>
\r
66 adapt obj to given protocol</td></tr>
\r
67 <tr><td align="right" valign="top" width="15%" class="rtype">new AsIs wrapper object</td>
\r
68 <td><code><a name="AsIs"></a><span class="summary-sig"><span class="summary-sig-name">AsIs</span>(<span class="summary-sig-arg">obj</span>)</span></code>
\r
70 <tr><td align="right" valign="top" width="15%" class="rtype">new boolean value</td>
\r
71 <td><code><a name="Boolean"></a><span class="summary-sig"><span class="summary-sig-name">Boolean</span>(<span class="summary-sig-arg">obj</span>)</span></code>
\r
73 <tr><td align="right" valign="top" width="15%" class="rtype">new wrapper</td>
\r
74 <td><code><a name="DateFromPy"></a><span class="summary-sig"><span class="summary-sig-name">DateFromPy</span>(<span class="summary-sig-arg">datetime.date</span>)</span></code>
\r
76 <tr><td align="right" valign="top" width="15%" class="rtype">new wrapper</td>
\r
77 <td><code><a name="IntervalFromPy"></a><span class="summary-sig"><span class="summary-sig-name">IntervalFromPy</span>(<span class="summary-sig-arg">datetime.timedelta</span>)</span></code>
\r
79 <tr><td align="right" valign="top" width="15%" class="rtype">new type object</td>
\r
80 <td><code><span class="summary-sig"><a href="psycopg2.extensions-module.html#new_type" class="summary-sig-name"><code>new_type</code></a>(<span class="summary-sig-arg">oids</span>,
\r
81 <span class="summary-sig-arg">name</span>,
\r
82 <span class="summary-sig-arg">adapter</span>)</span></code>
\r
84 Create a new binding object.</td></tr>
\r
85 <tr><td align="right" valign="top" width="15%" class="rtype">new quoted string</td>
\r
86 <td><code><a name="QuotedString"></a><span class="summary-sig"><span class="summary-sig-name">QuotedString</span>(<span class="summary-sig-arg">str</span>,
\r
87 <span class="summary-sig-arg">enc</span>)</span></code>
\r
89 <tr><td align="right" valign="top" width="15%" class="rtype"> </td>
\r
90 <td><code><span class="summary-sig"><a href="psycopg2.extensions-module.html#register_adapter" class="summary-sig-name"><code>register_adapter</code></a>(<span class="summary-sig-arg">typ</span>,
\r
91 <span class="summary-sig-arg">callable</span>)</span></code>
\r
93 Register 'callable' as an ISQLQuote adapter for type 'typ'.</td></tr>
\r
94 <tr><td align="right" valign="top" width="15%" class="rtype">None</td>
\r
95 <td><code><span class="summary-sig"><a href="psycopg2.extensions-module.html#register_type" class="summary-sig-name"><code>register_type</code></a>(<span class="summary-sig-arg">obj</span>)</span></code>
\r
97 register obj with psycopg type system</td></tr>
\r
98 <tr><td align="right" valign="top" width="15%" class="rtype">new wrapper</td>
\r
99 <td><code><a name="TimeFromPy"></a><span class="summary-sig"><span class="summary-sig-name">TimeFromPy</span>(<span class="summary-sig-arg">datetime.time</span>)</span></code>
\r
101 <tr><td align="right" valign="top" width="15%" class="rtype">new wrapper</td>
\r
102 <td><code><a name="TimestampFromPy"></a><span class="summary-sig"><span class="summary-sig-name">TimestampFromPy</span>(<span class="summary-sig-arg">datetime.datetime</span>)</span></code>
\r
107 <!-- =========== START OF VARIABLE SUMMARY =========== -->
\r
108 <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
\r
109 <tr bgcolor="#70b0f0" class="summary">
\r
110 <th colspan="2">Variable Summary</th></tr>
\r
111 <tr><td align="right" valign="top" width="15%" class="vtype"><code>int</code></td>
\r
112 <td><strong><a href="psycopg2.extensions-module.html#ISOLATION_LEVEL_AUTOCOMMIT"><code>ISOLATION_LEVEL_AUTOCOMMIT</code></a></strong> = <span title="0">0 </span></td></tr>
\r
113 <tr><td align="right" valign="top" width="15%" class="vtype"><code>int</code></td>
\r
114 <td><strong><a href="psycopg2.extensions-module.html#ISOLATION_LEVEL_READ_COMMITTED"><code>ISOLATION_LEVEL_READ_COMMITTED</code></a></strong> = <span title="1">1 </span></td></tr>
\r
115 <tr><td align="right" valign="top" width="15%" class="vtype"><code>int</code></td>
\r
116 <td><strong><a href="psycopg2.extensions-module.html#ISOLATION_LEVEL_READ_UNCOMMITTED"><code>ISOLATION_LEVEL_READ_UNCOMMITTED</code></a></strong> = <span title="1">1 </span></td></tr>
\r
117 <tr><td align="right" valign="top" width="15%" class="vtype"><code>int</code></td>
\r
118 <td><strong><a href="psycopg2.extensions-module.html#ISOLATION_LEVEL_REPEATABLE_READ"><code>ISOLATION_LEVEL_REPEATABLE_READ</code></a></strong> = <span title="2">2 </span></td></tr>
\r
119 <tr><td align="right" valign="top" width="15%" class="vtype"><code>int</code></td>
\r
120 <td><strong><a href="psycopg2.extensions-module.html#ISOLATION_LEVEL_SERIALIZABLE"><code>ISOLATION_LEVEL_SERIALIZABLE</code></a></strong> = <span title="2">2 </span></td></tr>
\r
124 <!-- =========== START OF FUNCTION DETAILS =========== -->
\r
125 <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
\r
126 <tr bgcolor="#70b0f0" class="details">
\r
127 <th colspan="2">Function Details</th></tr>
\r
130 <a name="adapt"></a>
\r
131 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
132 <h3><span class="sig"><span class="sig-name">adapt</span>(<span class="sig-arg">obj</span>,
\r
133 <span class="sig-arg">protocol</span>,
\r
134 <span class="sig-arg">alternate</span>)</span>
\r
136 <p>adapt obj to given protocol</p>
\r
138 <dl><dt>Returns:</dt>
\r
145 <a name="AsIs"></a>
\r
146 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
147 <h3><span class="sig"><span class="sig-name">AsIs</span>(<span class="sig-arg">obj</span>)</span>
\r
150 <dl><dt>Returns:</dt>
\r
152 new AsIs wrapper object </dd>
\r
157 <a name="Boolean"></a>
\r
158 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
159 <h3><span class="sig"><span class="sig-name">Boolean</span>(<span class="sig-arg">obj</span>)</span>
\r
162 <dl><dt>Returns:</dt>
\r
164 new boolean value </dd>
\r
169 <a name="DateFromPy"></a>
\r
170 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
171 <h3><span class="sig"><span class="sig-name">DateFromPy</span>(<span class="sig-arg">datetime.date</span>)</span>
\r
174 <dl><dt>Returns:</dt>
\r
181 <a name="IntervalFromPy"></a>
\r
182 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
183 <h3><span class="sig"><span class="sig-name">IntervalFromPy</span>(<span class="sig-arg">datetime.timedelta</span>)</span>
\r
186 <dl><dt>Returns:</dt>
\r
193 <a name="new_type"></a>
\r
194 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
195 <h3><span class="sig"><span class="sig-name">new_type</span>(<span class="sig-arg">oids</span>,
\r
196 <span class="sig-arg">name</span>,
\r
197 <span class="sig-arg">adapter</span>)</span>
\r
199 <p>Create a new binding object. The object can be used with the
\r
200 <a href="psycopg2.extensions-module.html#register_type" class="link"><code>register_type()</code></a> function to bind PostgreSQL objects to python objects.</p>
\r
202 <dl><dt>Parameters:</dt>
\r
203 <dd><code><strong class="pname">oids</strong></code> -
\r
204 Tuple of <tt class="docutils literal"><span class="pre">oid</span></tt> of the PostgreSQL types to convert.
\r
206 <dd><code><strong class="pname">name</strong></code> -
\r
207 Name for the new type
\r
209 <dd><code><strong class="pname">adapter</strong></code> -
\r
210 Callable to perform type conversion.
\r
211 It must have the signature <tt class="docutils literal"><span class="pre">fun(value,</span> <span class="pre">cur)</span></tt> where <tt class="docutils literal"><span class="pre">value</span></tt> is
\r
212 the string representation returned by PostgreSQL (<code>None</code> if <tt class="docutils literal"><span class="pre">NULL</span></tt>)
\r
213 and <tt class="docutils literal"><span class="pre">cur</span></tt> is the cursor from which data are read.
\r
216 <dl><dt>Returns:</dt>
\r
218 new type object </dd>
\r
223 <a name="QuotedString"></a>
\r
224 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
225 <h3><span class="sig"><span class="sig-name">QuotedString</span>(<span class="sig-arg">str</span>,
\r
226 <span class="sig-arg">enc</span>)</span>
\r
229 <dl><dt>Returns:</dt>
\r
231 new quoted string </dd>
\r
236 <a name="register_adapter"></a>
\r
237 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
238 <h3><span class="sig"><span class="sig-name">register_adapter</span>(<span class="sig-arg">typ</span>,
\r
239 <span class="sig-arg">callable</span>)</span>
\r
241 <p>Register 'callable' as an ISQLQuote adapter for type 'typ'.</p>
\r
246 <a name="register_type"></a>
\r
247 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
248 <h3><span class="sig"><span class="sig-name">register_type</span>(<span class="sig-arg">obj</span>)</span>
\r
250 <p>register obj with psycopg type system</p>
\r
252 <dl><dt>Parameters:</dt>
\r
253 <dd><code><strong class="pname">obj</strong></code> -
\r
254 A type adapter created by <a href="psycopg2.extensions-module.html#new_type" class="link"><code>new_type()</code></a>
\r
257 <dl><dt>Returns:</dt>
\r
264 <a name="TimeFromPy"></a>
\r
265 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
266 <h3><span class="sig"><span class="sig-name">TimeFromPy</span>(<span class="sig-arg">datetime.time</span>)</span>
\r
269 <dl><dt>Returns:</dt>
\r
276 <a name="TimestampFromPy"></a>
\r
277 <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
\r
278 <h3><span class="sig"><span class="sig-name">TimestampFromPy</span>(<span class="sig-arg">datetime.datetime</span>)</span>
\r
281 <dl><dt>Returns:</dt>
\r
290 <!-- =========== START OF VARIABLE DETAILS =========== -->
\r
291 <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
\r
292 <tr bgcolor="#70b0f0" class="details">
\r
293 <th colspan="2">Variable Details</th></tr>
\r
295 <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
\r
296 <a name="ISOLATION_LEVEL_AUTOCOMMIT"></a>
\r
297 <h3>ISOLATION_LEVEL_AUTOCOMMIT</h3>
\r
307 <dt title="0">Value:</dt>
\r
308 <dd title="0"><table><tr><td>
\r
309 <pre class="variable">
\r
310 0 </pre>
\r
311 </td></tr></table></dd>
\r
314 </dl></td></tr></table>
\r
315 <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
\r
316 <a name="ISOLATION_LEVEL_READ_COMMITTED"></a>
\r
317 <h3>ISOLATION_LEVEL_READ_COMMITTED</h3>
\r
327 <dt title="1">Value:</dt>
\r
328 <dd title="1"><table><tr><td>
\r
329 <pre class="variable">
\r
330 1 </pre>
\r
331 </td></tr></table></dd>
\r
334 </dl></td></tr></table>
\r
335 <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
\r
336 <a name="ISOLATION_LEVEL_READ_UNCOMMITTED"></a>
\r
337 <h3>ISOLATION_LEVEL_READ_UNCOMMITTED</h3>
\r
347 <dt title="1">Value:</dt>
\r
348 <dd title="1"><table><tr><td>
\r
349 <pre class="variable">
\r
350 1 </pre>
\r
351 </td></tr></table></dd>
\r
354 </dl></td></tr></table>
\r
355 <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
\r
356 <a name="ISOLATION_LEVEL_REPEATABLE_READ"></a>
\r
357 <h3>ISOLATION_LEVEL_REPEATABLE_READ</h3>
\r
367 <dt title="2">Value:</dt>
\r
368 <dd title="2"><table><tr><td>
\r
369 <pre class="variable">
\r
370 2 </pre>
\r
371 </td></tr></table></dd>
\r
374 </dl></td></tr></table>
\r
375 <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
\r
376 <a name="ISOLATION_LEVEL_SERIALIZABLE"></a>
\r
377 <h3>ISOLATION_LEVEL_SERIALIZABLE</h3>
\r
387 <dt title="2">Value:</dt>
\r
388 <dd title="2"><table><tr><td>
\r
389 <pre class="variable">
\r
390 2 </pre>
\r
391 </td></tr></table></dd>
\r
394 </dl></td></tr></table>
\r
398 <!-- =========== START OF NAVBAR =========== -->
\r
399 <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
\r
400 <tr valign="middle">
\r
401 <th class="navbar"> <a class="navbar" href="psycopg2-module.html">Home</a> </th>
\r
402 <th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
\r
403 <th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
\r
404 <th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
\r
405 <th class="navbar" width="100%"></th>
\r
409 <table border="0" cellpadding="0" cellspacing="0" width="100%">
\r
411 <td align="left" class="footer">Generated by Epydoc 2.1 on Sat Jan 14 01:42:32 2006</td>
\r
412 <td align="right" class="footer">
\r
413 <a href="http://epydoc.sourceforge.net">http://epydoc.sf.net</a>
\r