Commit Graph

398 Commits

Author SHA1 Message Date
Daniele Varrazzo
305d86f38a Handle time zones with seconds in the UTC offset.
The offset is rounded to the nearest minute.
2010-05-20 02:16:04 +01:00
Federico Di Gregorio
23391a3c55 Preparing release 2.2.1 2010-05-17 21:51:25 +02:00
Federico Di Gregorio
e286970b62 Preparing release 2.2.0 2010-05-16 12:55:59 +02:00
Federico Di Gregorio
6521fb5a44 Fixed error related to calling C typecasters from Python ones 2010-05-15 19:34:56 +02:00
Daniele Varrazzo
c46a1dad63 Fixed TimeFromTicks for second values > 59.5. 2010-05-15 14:27:24 +01:00
Daniele Varrazzo
afea19651c Fixed TimestampFromTicks for second values > 59.5.
Bug reported and fixed by Jozsef Szalay on 2010-05-06 at 14:11:59.999920.
2010-05-15 14:27:24 +01:00
Daniele Varrazzo
bf1c76b792 Explicit cast of the SQL representation of time-related objects.
Allow the objects to be recognized as the proper type by Postgres in not
strong contexts: problem reported by Peter Eisentraut.

Added tests to check the types are respected in a complete Py -> PG ->
Py roundtrip without context.
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
c8aef26e15 Adapt buffer objects using an explicit cast on the string literal.
Don't rely on Postgres casting the literal according to the context:
this doesn't work e.g. passing the object as function argument where a
function with the same name but taking a text exists. It doesn't work
either when the object is in an ARRAY construct.

Added test to check the type is respected in a complete Py -> PG -> Py
roundtrip without context.

Bug and solution reported by Peter Eisentraut.
2010-05-15 14:27:23 +01:00
Daniele Varrazzo
02a28ff028 Notifications are automatically read after each query.
Added tests for basic notifications process.
2010-04-21 15:09:14 +01:00
Daniele Varrazzo
bcfcea4b49 Fixed reference leak in notify reception. 2010-04-21 15:09:13 +01:00
Daniele Varrazzo
2af29b467d Added missing points to the changelog. 2010-04-21 15:09:13 +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
Federico Di Gregorio
0edd520593 Preparing release 2.0.14 (final) 2010-03-13 21:15:50 +01:00
Federico Di Gregorio
21a6a64fd1 Changed setup.py to detect PostgreSQL "alpha" versions 2010-03-11 22:42:00 +01:00
Federico Di Gregorio
855674faf1 Fixed Python 2.4 segfault related to decimal implementation 2010-02-28 20:52:03 +01:00
Federico Di Gregorio
192034dc38 Fixed problem with decimal.Decimal conversions 2010-02-21 01:04:00 +01:00
Daniele Varrazzo
d08d9ab199 Added errorcodes.lookup() function. 2010-02-15 01:38:49 +00:00
Daniele Varrazzo
04db8e7428 Fixed docstring for 'QueryCanceledError' exception. 2010-02-14 00:35: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
3b4c0443e4 Removed debug logging calls 2010-02-13 00:15:39 +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
bcc836c661 Now adapt() errors include the type name 2009-11-25 11:51:54 +01:00
Federico Di Gregorio
d40a5321f2 Fixed test broken by float precision fix 2009-11-25 10:38:31 +01:00
Federico Di Gregorio
7b730f3935 Fixed float loss of precision 2009-11-09 09:17:05 +01:00
Federico Di Gregorio
9bd771cda0 Preparing release 2.0.13 2009-10-04 12:53:42 +02:00
Federico Di Gregorio
9670c9eddc Enabled linking to static libpq 2009-10-04 12:43:30 +02:00
Federico Di Gregorio
390a9c2451 Added support for UUID arrays 2009-10-04 12:34:02 +02:00
Federico Di Gregorio
7022269b3d Fixed a deadlock when using the same connection from multiple threads 2009-10-04 12:02:02 +02:00
Federico Di Gregorio
0fc94be496 Preparing release 2.0.12 2009-08-09 17:22:18 +02:00
Federico Di Gregorio
3a6911216b Fixed problem with large writes in large objects code 2009-08-09 17:05:16 +02:00
Federico Di Gregorio
a2af059e6c Fixed PostgreSQL version detection 2009-08-09 16:28:27 +02:00
Federico Di Gregorio
29d00f56f6 Fix for retry on serialization errors for ZPsycopgDA 2009-08-09 16:22:43 +02:00
Federico Di Gregorio
36aff2f73d Implemented connection.reset() 2009-08-09 16:19:08 +02:00
Federico Di Gregorio
4c3e2ad94b Fixed problem with lots of columns in COPY operations 2009-08-09 15:13:42 +02:00
Federico Di Gregorio
e5a696ad58 Fixed version check in ZPsycopgDA 2009-08-09 14:53:41 +02:00
Federico Di Gregorio
091102a919 Preparing release 2.0.11 2009-05-09 14:52:16 +02:00
Federico Di Gregorio
e1fae0fcac Fixed bug in RealDictCursor when prefetching 2009-05-09 14:44:59 +02:00
Federico Di Gregorio
3935c019fe Fixed error in fetchXXX methods 2009-05-09 14:28:40 +02:00
Federico Di Gregorio
06eb574cec Applied DictRow "diet" patch 2009-05-09 10:19:15 +02:00
Federico Di Gregorio
5e3fa15091 Better detection of PostgreSQL version 2009-04-21 00:38:09 +02:00
Federico Di Gregorio
f68d828f6b Release 2.0.10 2009-04-20 20:37:59 +02:00
Federico Di Gregorio
85fdc828e7 Fix to double free segfault in cursor 2009-04-20 20:19:55 +02:00
Federico Di Gregorio
5db66038fe Fix to double free segfault in connection 2009-04-19 16:51:31 +02:00
Federico Di Gregorio
5dab867db4 Added get_parameter_status() implementation 2009-04-19 16:42:06 +02:00
Federico Di Gregorio
39d6d8ad11 Exposed protocol_version and server_version 2009-04-19 16:36:10 +02:00
Federico Di Gregorio
bb77a6912f Added missing dict methods in DictRow 2009-04-19 16:25:12 +02:00
Federico Di Gregorio
16c2a8fc81 Cleaned conn_notice_callback() to run without the GIL 2009-04-04 19:17:40 +02:00
Federico Di Gregorio
8e54f7dcce Fixed test_dates failures in older version of Python 2009-04-01 20:52:58 +02:00
Federico Di Gregorio
e8ef973ddf Fixed lobject test failures 2009-04-01 20:49:00 +02:00
Federico Di Gregorio
0b0639dae5 Fixed error when adapt()ing None 2009-03-09 21:45:49 +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
a3ce636be0 Fixed error in register_type() 2009-03-02 10:56:53 +01:00
Federico Di Gregorio
4077711050 More cross-platform build fixes 2009-03-02 09:19:23 +01:00
Federico Di Gregorio
5c0cfa86bf isinf() for Solaris 2009-02-27 11:02:45 +01:00
Federico Di Gregorio
71c7825b9c Release 2.0.9 2009-02-23 21:39:47 +01:00
James Henstridge
9067bde803 * psycopg/utils.c (psycopg_escape_string): same here.
* psycopg/adapter_binary.c (binary_escape): simplify PostgreSQL
	version check.

	* setup.py (psycopg_build_ext.finalize_options): use a single
	define of the PostgreSQL version in a form that can easily be used
	by #ifdefs.
2009-02-17 16:00:52 +09:00
James Henstridge
2a94dfae47 * tests/test_dates.py (DatetimeTests, mxDateTimeTests): full test
coverage for datetime and time strings with and without time zone
	information.

	* psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): adjust
	to handle the changes in typecast_parse_time.
	(typecast_PYTIME_cast): add support for time zone aware time
	values.

	* psycopg/typecast_mxdatetime.c (typecast_MXDATE_cast): make sure
	that values with time zones are correctly processed (even though
	that means ignoring the time zone value).
	(typecast_MXTIME_cast): same here.

	* psycopg/typecast.c (typecast_parse_time): Update method to parse
	second resolution timezone offsets.
2009-02-17 15:03:33 +09:00
James Henstridge
ba8be438bb * psycopg/typecast.c (typecast_parse_time): Fix up handling of
negative timezone offsets with a non-zero minutes field.

	* tests/test_dates.py (DatetimeTests): Add tests for time zone
	parsing.  The test for HH:MM:SS time zones is disabled because we
	don't currently support it.
2009-02-17 12:58:45 +09:00
Federico Di Gregorio
41dd7a1095 Compile again on modern FreeBSD 2009-02-16 10:00:34 +01:00
Federico Di Gregorio
f9fa711f03 Modified executemany() to return modified rows count 2009-02-07 18:02:14 +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
e22451736a register_type() now works on connection and cursor subclasses 2009-01-22 11:02:38 +01:00
Federico Di Gregorio
aeb5080208 Fixed isready() not throwing exception on error 2009-01-10 18:48:08 +01:00
Federico Di Gregorio
5480cf5332 Fixed memory leak in lobject 2008-12-04 16:58:05 +01:00
Federico Di Gregorio
5c982d90f0 Unified string quoting 2008-11-25 19:18:17 +01:00
Federico Di Gregorio
b9157c8ba1 Merged changed by JH from head 2008-09-24 01:29:20 +02:00
Federico Di Gregorio
4c8e80038e Added inet support 2008-09-24 01:27:52 +02:00
James Henstridge
cc2aa0a9ca * psycopg/psycopg.h (NotSupportedError_doc): clean up
spelling/grammar a bit, using exception description from the PEP.
2008-09-23 17:22:37 +08: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
758eaf23d1 Preparing release 2.0.8 2008-09-16 09:58:44 +02:00
Federico Di Gregorio
ceee4c816f Merge from jh 2008-07-26 15:10:02 +02:00
Federico Di Gregorio
e95a4d9d2e get_backend_pid() patch and fixes 2008-07-26 15:09:20 +02:00
James Henstridge
a2f3e4a3ac * psycopg/lobject_type.c (lobject_setup): use
FORMAT_CODE_PY_SSIZE_T in Dprintf() call for 64-bit compatibility
when using Python 2.5 or later.
(lobject_dealloc): same here.
2008-07-23 16:57:10 +08:00
James Henstridge
0aec2840d8 Merge support for cyclic GC in relevant types that psycopg defines. 2008-07-23 16:50:24 +08:00
James Henstridge
e0287c0db4 * psycopg/adapter_qstring.c (qstring_traverse): add cyclic GC
traversal for quoted string adapters.

	* psycopg/adapter_pboolean.c (pboolean_traverse): add cyclic GC
	traversal for boolean adapters.

	* psycopg/adapter_mxdatetime.c (mxdatetime_traverse): add cyclic
	GC traversal for mxdatetime adapters.

	* psycopg/adapter_datetime.c (pydatetime_traverse): add cyclic GC
	traversal for datetime adapters.
2008-07-18 17:42:31 +08:00
James Henstridge
590542e973 * psycopg/adapter_binary.c (binary_traverse): add cyclic GC
traversal for binary adapters.
2008-07-01 11:59:25 +08:00
James Henstridge
47d2414e32 * psycopg/adapter_asis.c (asis_traverse): add cyclic GC traversal
for AsIs adapters.
2008-07-01 09:57:16 +08:00
James Henstridge
fd538a8b17 * psycopg/adapter_list.c (list_traverse): add cyclic GC traversal
for list adapters.
2008-07-01 09:34:51 +08:00
Federico Di Gregorio
a5e01ef0df Fixed spaces in pg_config path 2008-06-28 18:34:57 +02:00
James Henstridge
26693621ef * psycopg/cursor_type.c (cursor_setup): incref before setting
attributes, to make things GC-safe.

	* psycopg/cursor_int.c (curs_reset): make clearing of description
	and casts attributes GC-safe.
2008-05-28 17:45:37 +08:00
James Henstridge
bbd101bb7e * psycopg/typecast.c (typecast_traverse): implement cyclic GC
traversal for typecasters.
2008-05-28 17:22:40 +08:00
Federico Di Gregorio
5a428642f8 COPY problem tests and partial fix 2008-05-27 17:40:19 +02:00
Federico Di Gregorio
6073193314 Fixed memory leak in executemany 2008-05-19 10:14:17 +02:00
James Henstridge
ee235478bd * psycopg/lobject.h (lobjectObject): remove "mode" struct member,
since it was unused.
2008-05-06 18:12:50 +08:00
James Henstridge
9d20f5c09c * psycopg/lobject_*.c: replace uses of the closed struct member,
and change the Python level attribute to a getset.

	* psycopg/lobject.h (lobjectObject): remove the closed member,
	since "fd < 0" gives us the same information.  Reorder the struct
	members for better packing.
2008-05-06 18:07:54 +08:00
James Henstridge
2046ae34fb * psycopg/lobject*: const'ify the code. 2008-05-06 17:09:43 +08:00
James Henstridge
7d66c20edb * tests/test_lobject.py (LargeObjectTests): add more tests,
including behaviour on closed lobjects and stale lobjects.

	* psycopg/lobject_type.c (psyco_lobj_close): don't mark the
	connection closed here because it is done by
	lobject_close_locked().

	* psycopg/lobject_int.c (lobject_open): mark objects as not closed
	if we successfully open them.
	(lobject_close_locked): mark the lobject closed here.
	(lobject_export): ensure we are in a transaction, since
	lo_export() issues multiple queries.

	* psycopg/lobject_type.c (lobject_setup): make lobjects start closed.
2008-05-06 17:04:26 +08:00
James Henstridge
e627948a6b * psycopg/lobject.h: don't export the lobjectType symbol. 2008-05-05 22:51:15 +08:00
Federico Di Gregorio
0319bc8cc4 Fixed build error on SUN 2008-05-05 15:55:51 +02:00
James Henstridge
938c456cee Merge changes from psycopg2/trunk via psycopg2.r243. 2008-05-05 10:37:24 +08:00
James Henstridge
31ef9355c2 Merge psycopg2/trunk into psycopg2/branches/2_0_x r243 (which is the
last revision merged into trunk).  Where file ID conflicts exist, but 
the content was equivalent, I've picked the 2_0_x version.
2008-05-05 10:22:22 +08:00