Daniele Varrazzo
9870ca4dce
Fixed NamedTupleCursor.executemany() (ticket #65 )
2011-08-09 11:44:30 +01:00
Daniele Varrazzo
a2ee25ecfe
Check the connection status before putting back into the pool
...
Rollback connections in transaction or in error.
Discard broken connections.
Closes ticket #62 .
2011-08-09 11:44:30 +01:00
Daniele Varrazzo
4fd5f3267b
Raise PoolError when putting a connection not belonging to the pool
...
A KeyError was raised instead.
2011-08-09 11:44:30 +01:00
Marko Kreen
cb1d163f4f
lazy import for uuid module
...
Attached patch moves uuid import from inside try-except
to register_uuid function. Reason: uuid module import is *very*
heavy. It goes into OS searching for various .dll/.so libraries,
lauches 'ldconfig' and so on...
With this patch, 200x python -c 'import psycopg2.extras'
goes from 22s to 7s. (plain 'import psycopg2' is 6s)
--
marko
2011-06-28 17:28:43 +02:00
Daniele Varrazzo
62a8ef308a
Fixed version check
2011-06-04 14:21:18 +01:00
Daniele Varrazzo
531292bca5
Merge branch 'neg-escape' into devel
2011-05-30 22:09:23 +01:00
Daniele Varrazzo
281427f450
Fixed escape for negative numbers prefixed by minus operator
...
Closes ticket #57 .
2011-05-30 22:00:20 +01:00
Daniele Varrazzo
19ec8809fd
Use all the isolation levels accepted by PostgreSQL
...
In PG 9.1 repeatable read and serializable are distinct levels.
2011-05-11 13:01:20 +01:00
Daniele Varrazzo
c61ec094a3
Don't fetch all the records iterating a NamedTuple cursor on a named cursor
2011-04-26 19:26:19 +01:00
Daniele Varrazzo
ffa7a62b93
Fixed interaction between NamedTuple and named cursor
...
Build the nametuple after fetching the first resutl, or else
cursor.description will be empty.
2011-04-26 19:18:39 +01:00
Daniele Varrazzo
80891e64b3
Dropped unused import
2011-04-26 19:16:10 +01:00
Daniele Varrazzo
9e00196165
Fixed use of the new return value of HstoreAdapter.get_oids()
2011-02-25 01:37:02 +00:00
Daniele Varrazzo
5211e1474b
Don't limit the hstore search to the public schema only
...
Looks like there is a case for installing hstore somewhere else (see
ticket #45 ). And after all the typecaster can be registered on a list of
OIDs, so let's grab them all.
2011-02-25 00:19:49 +00:00
Daniele Varrazzo
143dc2e911
Added oid parameter to register_hstore()
...
The parameter is mostly useful with async connections that would need a
different protocol to be queried.
Issue reported by Jan "the Asynchronous".
2011-02-21 01:29:53 +00:00
Daniele Varrazzo
556b4d461e
Documentation cleanup
...
Added several links to the Python documentation using the 'intersphinx'
extension.
2011-02-19 16:16:28 +00:00
Daniele Varrazzo
1ba5f104c9
Import _psycopg as the first module in the package
...
Failing to do so, the real cause of the _psycopg import failed may get
hidden and people may get a misleading error such as "cannot import name
tz" instead.
2011-02-17 10:45:18 +00:00
Daniele Varrazzo
7a058403ca
Fixed mapping for composite types defined in a schema
2011-02-09 02:22:03 +01:00
Daniele Varrazzo
8ac5f0070a
Fields order enforced in composite types adapter
2011-02-09 02:21:55 +01:00
Daniele Varrazzo
ac5cde8834
Only use absolute imports in the package
...
In Python 3.2b2 the relative imports are not converted into explicit
ones (with .).
2011-01-08 01:24:28 +00:00
Daniele Varrazzo
80bd6e2794
Merge branch 'python2' into python3
...
Conflicts:
NEWS-2.3
psycopg/connection_type.c
tests/test_connection.py
tests/types_basic.py
2011-01-03 21:43:02 +01:00
Daniele Varrazzo
68305a0eb6
Fixed TYPE adaptation to basic tuples
...
Tuples and namedtuples have different constructors.
2011-01-03 19:27:26 +01:00
Daniele Varrazzo
929d62053a
Merge branch 'python2' into python3
...
Conflicts:
NEWS-2.3
setup.py
2011-01-02 03:28:00 +01:00
Daniele Varrazzo
88bb8eda3e
None/IN adaptation ported to Python 3.
2011-01-02 00:44:14 +01:00
Daniele Varrazzo
7ac0bdd661
Added PostgreSQL composite types typecaster to Python tuples.
2011-01-02 00:34:13 +01:00
Daniele Varrazzo
3e94375cf7
Merge branch 'python2' into python3
...
Conflicts:
ChangeLog
NEWS-2.3
lib/extensions.py
psycopg/microprotocols.c
setup.py
2011-01-01 17:14:54 +01:00
Daniele Varrazzo
fdfa2de1a1
Fixed adaptation of None in composite types (ticket #26 ).
...
Added an adapter for None: it is usually not invoked as adaptation to
NULL is a fast path in mogrify, but can be invoked by composite types.
Notice that composite types still have the option to fast-path None
(e.g. list adapter does).
2011-01-01 17:07:54 +01:00
Daniele Varrazzo
2fa9117835
Inet adapter compatible with Python 3.
2010-12-31 03:18:27 +01:00
Daniele Varrazzo
c176de4bf8
Hstore adapter compatible with Python 3.
2010-12-31 03:18:27 +01:00
Daniele Varrazzo
89c492d3a4
Added b() function to return bytes in both Py2 and Py3.
2010-12-31 03:18:27 +01:00
Daniele Varrazzo
e18f1c63ea
Deal with slices passed to __*item__ in Python 3.
2010-12-23 03:28:19 +01:00
Daniele Varrazzo
b96dcef8a2
Fixed PG -> Py encodings mapping with non-alnum chars.
...
We mangle the encoding names a little bit before asking it to the
backend: be sure to be able to find the equivalent Python code back or
decoding (unicode cast or Py3) will barf.
2010-12-21 04:02:14 +00:00
Daniele Varrazzo
31093a7a58
Some light cleanup for Py3 conversion.
...
Either flagged as warning by python2.6 -3 or converted by 2to3.
2010-12-21 04:02:13 +00:00
Daniele Varrazzo
0ad7483a2b
DictRow items can be updated. Patch by Alex Aster.
2010-12-01 13:17:12 +00:00
Daniele Varrazzo
94348bfb78
hstore registration doesn't fail if typarray column not available.
2010-11-19 03:51:53 +00:00
Daniele Varrazzo
3cae0f3f5d
NamedTupleCursor doesn't change exception when fetching with no result.
2010-11-11 10:39:42 +00:00
Daniele Varrazzo
ef7a5ee8a9
Build the namedtuple only once per execution, not once per fetch.
2010-11-11 10:39:42 +00:00
Daniele Varrazzo
f0773d5682
Avoid pointless string manipulation in NamedTupleCursor.
...
Closes ticket #10 . Reported by Marko Kreen.
2010-11-09 11:17:02 +00:00
Daniele Varrazzo
abad3127ca
Added NamedTupleCursor.
2010-11-06 04:33:44 +00:00
Daniele Varrazzo
01ec120aa8
Hstore documentation improved.
2010-11-05 09:34:52 +00:00
Daniele Varrazzo
4b98e8941f
Added some documentation for the hstore adaptation.
2010-11-05 09:34:52 +00:00
Daniele Varrazzo
d5bf400cb4
The hstore typecast can be registered globally.
2010-11-05 09:34:52 +00:00
Daniele Varrazzo
bb41acd1da
Favour the PG9 implementation of the hstore adapter.
2010-11-05 09:34:51 +00:00
Daniele Varrazzo
ed623776f3
Hstore can return unicode keys and values.
2010-11-05 09:34:51 +00:00
Daniele Varrazzo
af835f8857
Correctly parse escaped quotes from hstore.
...
Parse regexp simplified.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
70880dde79
Added special cases to store empty dicts.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
6d441b6e03
Added hstore typecaster registration.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
fef9727cce
parse_hstore converted in class method.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
5844e989c4
Added function to parse an hstore into a dict.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
5693c9cab1
Added implementation of python dict adapter to hstore.
2010-11-05 09:34:50 +00:00
Daniele Varrazzo
2f29429e88
Expose the Xid object in the extension module.
2010-11-05 09:34:49 +00:00
Daniele Varrazzo
4f66de494b
Added tpc_prepare and CONN_STATUS_PREPARED.
2010-11-05 09:34:48 +00:00
Daniele Varrazzo
4ec298e112
Notify object exposed in the extensions module.
2010-11-05 09:34:47 +00:00
Daniele Varrazzo
575b2b5f77
The Inet type knows how to adapt itself.
...
Implemented __conform__ as the Adaptation PEP suggests. It is not
required for the type to be registered as adapter.
2010-09-25 23:55:55 +01:00
Daniele Varrazzo
75a6f783c5
Added PostgreSQL 9.0 error codes.
2010-09-23 23:43:23 +01:00
Federico Di Gregorio
b263fbf274
Added deprecation warning to register_tstz_w_secs
2010-07-13 14:26:52 +02:00
Daniele Varrazzo
927f2bb1f1
Dropped logging.basicConfig() call.
...
It messes up with projects using logging but where no handler is
installed on the root logger. Bug reported by Joe Abbate.
2010-07-09 23:23:10 +01:00
Daniele Varrazzo
4a78e4068b
Dropped register_tstz_w_secs() implementation.
...
The function is no-op now that the default type caster can deal with
seconds in the tz offset.
2010-05-20 02:18:04 +01:00
Daniele Varrazzo
60e7522e47
Added evaluable representation for the FixedOffsetTimezone object.
2010-05-15 14:27:23 +01:00
Daniele Varrazzo
d30daac782
Fixed typo in LocalTimezone doc.
2010-05-15 14:27:23 +01:00
Daniele Varrazzo
e8c2a14362
Added typecasters for arrays of specific MX/Py time-related types.
2010-05-15 14:27:23 +01:00
Daniele Varrazzo
127f92f9db
Changed 'psyco_wait()' to only take the connection.
2010-04-21 15:21:32 +01:00
Daniele Varrazzo
8ba0f00d21
Added 'get_wait_callback()' function.
2010-04-21 15:21:32 +01:00
Daniele Varrazzo
1446f046e9
Added wait callback and functions to deal with it.
2010-04-21 15:21:32 +01:00
Daniele Varrazzo
d162c08cfa
PY* and MX* typecasters imported into the extensions module.
2010-04-14 00:27:28 +01:00
Daniele Varrazzo
54e9c89ea4
DECIMAL typecaster imported into the extensions module.
2010-04-14 00:20:16 +01:00
Federico Di Gregorio
c1a24f4ca2
NOTIFYs fix and poll status changes
...
POLL_OK has been changed from 3 to 0 to let the user specify a short loop
just as "if not curs.poll()" instead of having to check for write and read
separately. For an example of this, see examples/notify.py.
2010-04-05 16:52:25 +02:00
Jan Urbański
01799e9137
Make asynchronous connections produce asynchronous cursors by default
...
Drop the async kwarg from cursor.execute(), cursors created by
asynchronous connections will be asynchronous by default, ones created
by synchronous connections will be synchronous.
Mind that this might break third party subclasses of
psycopg2.extensions.cursor, if they try to chain to the superclass in
their execute() implementation and are passing the async kwarg. The
example cursors in psycopg2.extras have been fixed no to do that.
2010-04-05 11:41:32 +02:00
Federico Di Gregorio
34317dc4c3
Support asynchronous connection building
...
After calling psycopg2.connect(dsn, async=True) you can poll the
connection that will tell you whether its file descriptor should be
waited on to become writable or readable or that the connection
attempt has succeeded.
Edited commit by Jan to not expose internal state in extensions.py.
2010-04-05 11:30:03 +02:00
Daniele Varrazzo
97ced0d4f1
Use the default role for cross referencing Python objects.
2010-02-26 00:49:19 +00:00
Daniele Varrazzo
4412826556
Added documentation for the 'pool' module.
2010-02-26 00:46:23 +00:00
Daniele Varrazzo
a320f25a2a
Completed documentation for errorcodes module.
2010-02-16 00:38:44 +00:00
Daniele Varrazzo
96b7912bcf
Typo fixed in DictRow doc.
2010-02-16 00:38:15 +00:00
Daniele Varrazzo
d08d9ab199
Added errorcodes.lookup() function.
2010-02-15 01:38:49 +00:00
Daniele Varrazzo
bcfdbd1903
Error codes updated to include all errors between PostgreSQL 8.1 and 8.4.
2010-02-15 01:07:28 +00:00
Daniele Varrazzo
be30f43181
Inet adapter fixed.
2010-02-14 20:14:17 +00:00
Federico Di Gregorio
4b58fc640e
License change for lib/errorcodes.py
...
You hereby have my blessing to go ahead and license all my contributions to
the psycopg2 project, including lib/errorcodes.py to LGPL3(+).
-- Johan Dahlin
2010-02-14 01:19:17 +01:00
Daniele Varrazzo
3789f8fb17
Added other info about tz module.
2010-02-14 00:39:48 +01:00
Daniele Varrazzo
6a4ff65b49
Added documentation for the extras module.
2010-02-14 00:39:48 +01:00
Daniele Varrazzo
e1b3c7b940
Fixed Inet constructor.
2010-02-14 00:35:48 +01:00
Daniele Varrazzo
0dbe068df4
Stop the loop variable used to create __all__ leaking in the module.
2010-02-14 00:35:47 +01:00
Federico Di Gregorio
0089201ba2
Binary was not imported from _psycopg; now it is
2010-02-13 00:52:36 +01:00
Federico Di Gregorio
a9673f31d6
SQL_IN adapter is now automatically registered
2010-02-13 00:40:29 +01:00
Federico Di Gregorio
611606d532
Changes license to LGPL3 + OpenSSL exception on all source files
2010-02-12 23:34:53 +01:00
Federico Di Gregorio
e5bed4993b
Fixed register_tstz_w_secs() error
2010-02-10 18:16:00 +01:00
Federico Di Gregorio
390a9c2451
Added support for UUID arrays
2009-10-04 12:34:02 +02:00
Federico Di Gregorio
e1fae0fcac
Fixed bug in RealDictCursor when prefetching
2009-05-09 14:44:59 +02:00
Federico Di Gregorio
06eb574cec
Applied DictRow "diet" patch
2009-05-09 10:19:15 +02:00
Federico Di Gregorio
bb77a6912f
Added missing dict methods in DictRow
2009-04-19 16:25:12 +02:00
Federico Di Gregorio
825a60eec5
Removed spurious print
2009-03-16 22:15:20 +01:00
Federico Di Gregorio
1daf300ca3
Support for seconds in time zone offsets
2009-03-02 11:07:17 +01:00
Federico Di Gregorio
5b04203c9f
Fixed error in register_type()
2009-03-02 10:59:52 +01:00
Federico Di Gregorio
9b259bba86
Removed some spurious tabs
2009-02-23 21:39:25 +01:00
Federico Di Gregorio
eb25f9f154
Added adapter to handle float('inf') and float('nan')
2009-01-23 00:09:20 +01:00
Federico Di Gregorio
4c8e80038e
Added inet support
2008-09-24 01:27:52 +02:00
Federico Di Gregorio
56f6001d6d
Support for NULLs in UUID
2008-09-23 09:11:11 +02:00
Federico Di Gregorio
b92601306e
Added suppport for UUID and related test.
2008-09-19 21:25:16 +02:00
Federico Di Gregorio
e664abb248
Added XXXARRAY imports to psycopg2.extenions
2008-05-30 00:39:50 +02:00
James Henstridge
938c456cee
Merge changes from psycopg2/trunk via psycopg2.r243.
2008-05-05 10:37:24 +08:00
James Henstridge
f64cbeda46
* tests/test_transaction.py (DeadlockSerializationTestCase): port
...
over some tests for serialisation and deadlock errors,
demonstrating that TransactionRollbackError is generated.
(QueryCancelationTests): add a test to show that
QueryCanceledError is raised on statement timeouts.
* psycopg2da/adapter.py (_handle_psycopg_exception): rather than
checking exception messages, check for TransactionRollbackError.
* psycopg/pqpath.c (exception_from_sqlstate): return
TransactionRollbackError for 40xxx errors, and QueryCanceledError
for 57014 errors.
(pq_raise): If we are using an old server, use
TransactionRollbackError if the error message contains "could not
serialize" or "deadlock detected".
* psycopg/psycopgmodule.c (_psyco_connect_fill_exc): remove
function, since we no longer need to store pointers to the
exceptions in the connection. This also fixes a reference leak.
(psyco_connect): remove _psyco_connect_fill_exc() function call.
* psycopg/connection.h (connectionObject): remove exception
members from struct.
* psycopg/connection_type.c (connectionObject_getsets): modify the
exception attributes on the connection object from members to
getsets. This reduces the size of the struct.
* lib/extensions.py: import the two new extensions.
* psycopg/psycopgmodule.c (exctable): add new QueryCanceledError
and TransactionRollbackError exceptions.
2008-01-16 05:14:24 +00:00
Federico Di Gregorio
0422506404
Added name parameters to .cursor() calls in extras.
2007-09-01 09:32:42 +00:00
Federico Di Gregorio
a779c8ef99
.get_transaction_status() implementation.
2007-04-25 22:42:36 +00:00
Federico Di Gregorio
f43a52f781
Added RealDictCursor from #143 .
2007-01-16 13:45:41 +00:00
Federico Di Gregorio
e59ef4de4b
Moved SQL_IN to extensions and away from extras.
2007-01-16 10:58:05 +00:00
Federico Di Gregorio
bfe5b8fe6b
Added iteritem method to DictRow.
2006-10-06 05:22:54 +00:00
Federico Di Gregorio
96f631d41e
Merge from 2.0 branch up to r839.
2006-09-30 06:57:35 +00:00
Federico Di Gregorio
ca860424e6
Fixed lib/errorcodes.py.
2006-09-23 05:36:18 +00:00
Federico Di Gregorio
43518d067e
Added lib/errorcodes.py.
2006-09-23 05:35:03 +00:00
Federico Di Gregorio
52666ef5bd
Fixed syntax error in lib/extras.py.
2006-09-10 14:51:43 +00:00
Federico Di Gregorio
31189ef0df
Fixed syntax error in extras module ( closes : #123 ).
2006-09-10 14:50:03 +00:00
Federico Di Gregorio
269156d9bf
Added some file-like attributes to lobject.
2006-09-02 05:33:03 +00:00
Federico Di Gregorio
64bd7ae61c
Large objects landing..
2006-09-02 04:57:50 +00:00
Federico Di Gregorio
36785f753b
Work on large objects continue.
2006-09-01 17:15:27 +00:00
Federico Di Gregorio
64933f2004
Merge from 2_0_x branch up to r814.
2006-09-01 13:46:57 +00:00
Federico Di Gregorio
8eb118c63f
Exposed connection status.
2006-09-01 08:20:11 +00:00
Federico Di Gregorio
38cf5f4520
Logging patch from Charlie.
2006-09-01 07:12:23 +00:00
Federico Di Gregorio
9299073649
First half of 8.1.4 securiy patch.
2006-05-24 09:43:55 +00:00
Federico Di Gregorio
27a063fecb
DictCursor now support iteration.
2006-03-08 01:03:19 +00:00
Daniele Varrazzo
7f09080ba2
Tab removed
2006-01-21 04:09:11 +00:00
Federico Di Gregorio
81d86e9244
Logging connection/cursor implementation inspired by #90 .
2006-01-20 04:07:23 +00:00
Daniele Varrazzo
202c002c5c
* Docstrings added/fixed
...
* Added __all__ attributes to Python modules to explicit the package API
2006-01-12 18:36:57 +00:00
Federico Di Gregorio
1aed516938
Whitespace cleanup.
2006-01-06 02:58:24 +00:00
Daniele Varrazzo
3076046b3f
* libpq.dll not used anymore. win32 setup uses pg_config too.
...
* Some typo fixed.
2006-01-05 16:56:40 +00:00
Federico Di Gregorio
5ea2fa636f
Better DictCursor.
2005-12-06 05:55:58 +00:00
Daniele Varrazzo
ad76b5ba3c
* psycopg/psycopgmodule.c: fixed exceptions refcount.
...
* fixed lots of doctrings and added Epydoc-generated docs support.
2005-11-26 07:47:48 +00:00
Daniele Varrazzo
62e4870b85
Fixed CLRF mix - trying with native eol
2005-11-24 04:22:35 +00:00
Daniele Varrazzo
1bac0484b5
Fixed a typo - but testing for SVN CRLF issues.
2005-11-24 04:16:41 +00:00
Federico Di Gregorio
f4fee20b3b
In extensions.py: COMMITED -> COMMITTED. ( Closes : #73 )
2005-11-19 14:20:41 +00:00
Federico Di Gregorio
13a1dd197c
Added warnings.
2005-11-15 16:21:55 +00:00
Federico Di Gregorio
96b2541939
Better fix for py2exe and related tools.
2005-11-15 16:05:15 +00:00
Federico Di Gregorio
f687f2853e
Various pool changes.
2005-10-19 14:38:37 +00:00
Federico Di Gregorio
c7c2c38bcd
Epydoc clean. :D
2005-10-18 05:57:02 +00:00
Federico Di Gregorio
0c67c641a8
Better docstrings for lib/ modules.
2005-10-18 05:42:00 +00:00
Federico Di Gregorio
06c8434520
Fixed typo in psycopg2.extensions.
2005-10-08 03:05:43 +00:00
Federico Di Gregorio
e1688431e0
Isolation level changes.
2005-10-08 03:04:40 +00:00
Federico Di Gregorio
a6b4a8b092
Indentation fixes.
2005-09-30 16:33:13 +00:00
Federico Di Gregorio
b7e5e5e272
piro pool.py patch.
2005-09-24 13:59:57 +00:00
Federico Di Gregorio
feeea0309a
psycopg->psycopg2 fixes.
2005-09-12 02:29:46 +00:00
Federico Di Gregorio
5f00dc1100
Preparing release 2.0b4.
2005-07-17 04:08:08 +00:00
Federico Di Gregorio
5edfdc2a54
INTERVAL overflow fix.
2005-06-24 07:11:44 +00:00
Federico Di Gregorio
d7b10f4a9c
psycopg1 .dictfetchone() fixed ( closes #27 ).
2005-06-17 15:17:57 +00:00
Federico Di Gregorio
88f7ce153a
Extra DictRow methods.
2005-05-19 04:48:26 +00:00
Federico Di Gregorio
35c42310ec
DictRow fixes.
2005-05-10 02:29:24 +00:00
Federico Di Gregorio
431a2aec6c
SGA-related changes.
2005-04-25 04:58:38 +00:00
Federico Di Gregorio
10dc03462b
Little improvements to DictRow.
2005-04-11 07:20:46 +00:00
Federico Di Gregorio
728b4788de
psycopg1 compatibility module (added autocommit.)
2005-04-03 06:16:24 +00:00
Federico Di Gregorio
fdb68599c7
psycopg1 compatibility module.
2005-04-03 06:13:24 +00:00
Federico Di Gregorio
19cb161d27
Array tokenization seems working.
2005-03-23 10:32:30 +00:00
Federico Di Gregorio
e5f558a6be
COPY FROM works.
2005-03-01 16:41:02 +00:00
Federico Di Gregorio
cd672525e1
Adaptation fixes (a lot.)
2005-02-28 15:50:55 +00:00
Federico Di Gregorio
1ec3c83720
Temporary hack to make the AsIs adapter work (take 2.)
2005-02-28 09:16:49 +00:00
Federico Di Gregorio
ab02141d48
Temporary hack to make the AsIs adapter work.
2005-02-28 09:15:56 +00:00
Federico Di Gregorio
4b94e54473
Fixed example/myfirstrecipe.py
2005-02-27 15:03:53 +00:00
Federico Di Gregorio
1141149cd3
License changes. Fixes. Added register_adapter().
2005-01-20 05:49:40 +00:00
Federico Di Gregorio
988095298e
DictCursor fixes again.
2004-11-19 15:50:57 +00:00
Federico Di Gregorio
c904d97f69
Initial psycopg 2 import after SVN crash.
2004-10-19 03:17:12 +00:00