Commit graph

35 commits

Author SHA1 Message Date
wiz
c44347dc8e Update to 2.6.1:
What's new in psycopg 2.6.1
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Lists consisting of only `None` are escaped correctly (🎫`#285`).
- Fixed deadlock in multithread programs using OpenSSL (🎫`#290`).
- Correctly unlock the connection after error in flush (🎫`#294`).
- Fixed ``MinTimeLoggingCursor.callproc()`` (🎫`#309`).
2015-07-01 09:59:06 +00:00
wiz
032b9e2d81 Update to 2.6:
What's new in psycopg 2.6
-------------------------

New features:

- Added support for large objects larger than 2GB. Many thanks to Blake Rouse
  and the MAAS Team for the feature development.
- Python `time` objects with a tzinfo specified and PostgreSQL :sql:`timetz`
  data are converted into each other (🎫`#272`).

Bug fixes:

- Json apapter's `!str()` returns the adapted content instead of the `!repr()`
  (🎫`#191`).
2015-02-17 14:01:56 +00:00
wiz
03e0dcbc42 Update to 2.5.4:
What's new in psycopg 2.5.4
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Added :sql:`jsonb` support for PostgreSQL 9.4 (🎫`#226`).
- Fixed segfault if COPY statements are passed to `~cursor.execute()` instead
  of using the proper methods (🎫`#219`).
- Force conversion of pool arguments to integer to avoid potentially unbounded
  pools (🎫`#220`).
- Cursors :sql:`WITH HOLD` don't begin a new transaction upon move/fetch/close
  (🎫`#228`).
- Cursors :sql:`WITH HOLD` can be used in autocommit (🎫`#229`).
- `~cursor.callproc()` doesn't silently ignore an argument without a length.
- Fixed memory leak with large objects (🎫`#256`).
- Make sure the internal ``_psycopg.so`` module can be imported stand-alone (to
  allow modules juggling such as the one described in 🎫`#201`).
2014-08-31 21:34:23 +00:00
wiz
fedd09bb43 Update to 2.5.3:
What's new in psycopg 2.5.3
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Work around `pip issue #1630 <https://github.com/pypa/pip/issues/1630>`__
  making installation via ``pip -e git+url`` impossible (🎫`#18`).
- Copy operations correctly set the `cursor.rowcount` attribute
  (🎫`#180`).
- It is now possible to call `get_transaction_status()` on closed connections.
- Fixed unsafe access to object names causing assertion failures in
  Python 3 debug builds (🎫`#188`).
- Mark the connection closed if found broken on `poll()` (from 🎫`#192`
  discussion)
- Fixed handling of dsn and closed attributes in connection subclasses
  failing to connect (from 🎫`#192` discussion).
- Added arbitrary but stable order to `Range` objects, thanks to
  Chris Withers (🎫`#193`).
- Avoid blocking async connections on connect (🎫`#194`). Thanks to
  Adam Petrovich for the bug report and diagnosis.
- Don't segfault using poorly defined cursor subclasses which forgot to call
  the superclass init (🎫`#195`).
- Mark the connection closed when a Socket connection is broken, as it
  happens for TCP connections instead (🎫`#196`).
- Fixed overflow opening a lobject with an oid not fitting in a signed int
  (🎫`#203`).
- Fixed handling of explicit default ``cursor_factory=None`` in
  `connection.cursor()` (🎫`#210`).
- Fixed possible segfault in named cursors creation.
- Fixed debug build on Windows, thanks to James Emerton.
2014-05-20 08:35:09 +00:00
wiz
e293eca79d Update to 2.5.2:
What's new in psycopg 2.5.2
^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Fixed segfault pickling the exception raised on connection error
  (🎫`#170`).
- Meaningful connection errors report a meaningful message, thanks to
  Alexey Borzenkov (🎫`#173`).
- Manually creating `lobject` with the wrong parameter doesn't segfault
  (🎫`#187`).
2014-01-27 19:45:45 +00:00
wiz
aa67e11089 Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
2014-01-25 10:29:56 +00:00
wiz
4240f0fa38 Update to 2.5.1:
What's new in psycopg 2.5.1
---------------------------

- Fixed build on Solaris 10 and 11 where the round() function is already
  declared (🎫`#146`).
- Fixed comparison of `Range` with non-range objects (🎫`#164`).
  Thanks to Chris Withers for the patch.
- Fixed double-free on connection dealloc (🎫`#166`). Thanks to
  Gangadharan S.A. for the report and fix suggestion.
2013-07-04 13:01:36 +00:00
wiz
f0d40dd06a Update to 2.5:
What's new in psycopg 2.5
-------------------------

New features:

- Added :ref:`JSON adaptation <adapt-json>`.
- Added :ref:`support for PostgreSQL 9.2 range types <adapt-range>`.
- `connection` and `cursor` objects can be used in ``with`` statements
  as context managers as specified by recent |DBAPI|_ extension.
- Added `~psycopg2.extensions.Diagnostics` object to get extended info
  from a database error.  Many thanks to Matthew Woodcraft for the
  implementation (🎫`#149`).
- Added `connection.cursor_factory` attribute to customize the default
  object returned by `~connection.cursor()`.
- Added support for backward scrollable cursors. Thanks to Jon Nelson
  for the initial patch (🎫`#108`).
- Added a simple way to :ref:`customize casting of composite types
  <adapt-composite>` into Python objects other than namedtuples.
  Many thanks to Ronan Dunklau and Tobias Oberstein for the feature
  development.
- `connection.reset()` implemented using :sql:`DISCARD ALL` on server
  versions supporting it.

Bug fixes:

- Properly cleanup memory of broken connections (🎫`#148`).
- Fixed bad interaction of ``setup.py`` with other dependencies in
  Distribute projects on Python 3 (🎫`#153`).

Other changes:

- Added support for Python 3.3.
- Dropped support for Python 2.4. Please use Psycopg 2.4.x if you need it.
- `~psycopg2.errorcodes` map updated to PostgreSQL 9.2.
- Dropped Zope adapter from source repository. ZPsycopgDA now has its own
  project at <http://github.com/psycopg/ZPsycopgDA>.
2013-05-04 23:52:45 +00:00
wiz
5522d094d8 Update to 2.4.6. Fix python interpreter in installed files.
What's new in psycopg 2.4.6
---------------------------

  - Fixed 'cursor()' arguments propagation in connection subclasses
    and overriding of the 'cursor_factory' argument.  Thanks to
    Corry Haines for the report and the initial patch (ticket #105).
  - Dropped GIL release during string adaptation around a function call
    invoking a Python API function, which could cause interpreter crash.
    Thanks to Manu Cupcic for the report (ticket #110).
  - Close a green connection if there is an error in the callback.
    Maybe a harsh solution but it leaves the program responsive
    (ticket #113).
  - 'register_hstore()', 'register_composite()', 'tpc_recover()' work with
    RealDictConnection and Cursor (ticket #114).
  - Fixed broken pool for Zope and connections re-init across ZSQL methods
    in the same request (tickets #123, #125, #142).
  - connect() raises an exception instead of swallowing keyword arguments
    when a connection string is specified as well (ticket #131).
  - Discard any result produced by 'executemany()' (ticket #133).
  - Fixed pickling of FixedOffsetTimezone objects (ticket #135).
  - Release the GIL around PQgetResult calls after COPY (ticket #140).
  - Fixed empty strings handling in composite caster (ticket #141).
  - Fixed pickling of DictRow and RealDictRow objects.
2012-12-16 16:04:12 +00:00
asau
354ee694fd Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-02 21:25:15 +00:00
obache
ab4e71d90b Bump PKGREVISION for change of PostgreSQL default version to 9.1. 2012-08-05 10:02:09 +00:00
adam
42479c2286 Changes 2.4.5:
* The close() methods on connections and cursors don't raise exceptions if
  called on already closed objects.
* Fixed fetchmany() with no argument in cursor subclasses.
* Use lo_creat() instead of lo_create() when possible for better interaction
  with pgpool-II.
* Error and its subclasses are picklable, useful for multiprocessing interaction
* Better efficiency and formatting of timezone offset objects thanks to Menno
  Smits.
* Fixed rownumber during iteration on cursor subclasses. Regression introduced
  in 2.4.4.
* Added support for inet arrays.
* Fixed commit() concurrency problem.
* Codebase cleaned up using the GCC Python plugin's static analysis tool, which
  has revealed several unchecked return values, possible NULL dereferences,
  reference counting problems.
2012-04-17 15:44:22 +00:00
wiz
c595076396 All supported python versions in pkgsrc support eggs, so remove
${PLIST.eggfile} from PLISTs and support code from lang/python.
2012-04-08 20:21:41 +00:00
fhajny
4ca4014a1d Avoid double definition of double on SunOS. 2012-03-12 11:52:28 +00:00
obache
4e92f23799 Update py-psycopg2 to 2.4.4.
While here, let to register egg-info.

What's new in psycopg 2.4.4
---------------------------

  - 'register_composite()' also works with the types implicitly defined
    after a table row, not only with the ones created by 'CREATE TYPE'.
  - Values for the isolation level symbolic constants restored to what
    they were before release 2.4.2 to avoid breaking apps using the
    values instead of the constants.
  - Named DictCursor/RealDictCursor honour itersize (ticket #80).
  - Fixed rollback on error on Zope (ticket #73).
  - Raise 'DatabaseError' instead of 'Error' with empty libpq errors,
    consistently with other disconnection-related errors: regression
    introduced in release 2.4.1 (ticket #82).


What's new in psycopg 2.4.3
---------------------------

  - connect() supports all the keyword arguments supported by the
    database
  - Added 'new_array_type()' function for easy creation of array
    typecasters.
  - Added support for arrays of hstores and composite types (ticket #66).
  - Fixed segfault in case of transaction started with connection lost
    (and possibly other events).
  - Fixed adaptation of Decimal type in sub-interpreters, such as in
    certain mod_wsgi configurations (ticket #52).
  - Rollback connections in transaction or in error before putting them
    back into a pool. Also discard broken connections (ticket #62).
  - Lazy import of the slow uuid module, thanks to Marko Kreen.
  - Fixed NamedTupleCursor.executemany() (ticket #65).
  - Fixed --static-libpq setup option (ticket #64).
  - Fixed interaction between RealDictCursor and named cursors
    (ticket #67).
  - Dropped limit on the columns length in COPY operations (ticket #68).
  - Fixed reference leak with arguments referenced more than once
    in queries (ticket #81).
  - Fixed typecasting of arrays containing consecutive backslashes.
  - 'errorcodes' map updated to PostgreSQL 9.1.
2012-01-26 10:49:41 +00:00
joerg
9a0666357e Tag the 28 locations that result in a Python 3.1 package as supporting so.
Remove it from the default list for the rest.
2011-12-03 00:02:14 +00:00
adam
bffd19730f Changes 2.4.2:
* Added 'set_session()' method and 'autocommit' property to the
  connection. Added support for read-only sessions and, for PostgreSQL
  9.1, for the "repeatable read" isolation level and the "deferrable"
  transaction property.
* Psycopg doesn't execute queries at connection time to find the
  default isolation level.
* Fixed bug with multithread code potentially causing loss of sync
  with the server communication or lock of the client.
* Don't fail import if mx.DateTime module can't be found, even if its
  support was built.
* Fixed escape for negative numbers prefixed by minus operator.
* Fixed refcount issue during copy.
* Trying to execute concurrent operations on the same connection
  through concurrent green thread results in an error instead of a
  deadlock.
2011-06-16 09:03:11 +00:00
adam
f4e043af46 Changes 2.4.1:
* Use own parser for bytea output, not requiring anymore the libpq 9.0 to parse
  the hex format.
* Don't fail connection if the client encoding is a non-normalized variant.
* Correctly detect an empty query sent to the backend.
* Fixed a SystemError clobbering libpq errors raised without SQLSTATE.
* Fixed interaction between NamedTuple and server-side cursors.
* Allow to specify --static-libpq on setup.py command line instead of just in
  'setup.cfg'.
2011-05-17 06:14:01 +00:00
adam
c5f9ea51d1 Changes 2.4:
* New features and changes:
  - Added support for Python 3.1 and 3.2. The conversion has also
    brought several improvements:
    - Added 'b' and 't' mode to large objects: write can deal with both
      bytes strings and unicode; read can return either bytes strings
      or decoded unicode.
    - COPY sends Unicode data to files implementing 'io.TextIOBase'.
    - Improved PostgreSQL-Python encodings mapping.
    - Added a few missing encodings: EUC_CN, EUC_JIS_2004, ISO885910,
      ISO885916, LATIN10, SHIFT_JIS_2004.
    - Dropped repeated dictionary lookups with unicode query/parameters.
  - Improvements to the named cusors:
    - More efficient iteration on named cursors, fetching 'itersize'
      records at time from the backend.
    - The named cursors name can be an invalid identifier.
  - Improvements in data handling:
    - Added 'register_composite()' function to cast PostgreSQL
      composite types into Python tuples/namedtuples.
    - Adapt types 'bytearray' (from Python 2.6), 'memoryview' (from
      Python 2.7) and other objects implementing the "Revised Buffer
      Protocol" to 'bytea' data type.
    - The 'hstore' adapter can work even when the data type is not
      installed in the 'public' namespace.
    - Raise a clean exception instead of returning bad data when
      receiving bytea in 'hex' format and the client libpq can't parse
      them.
    - Empty lists correctly roundtrip Python -> PostgreSQL -> Python.
  - Other changes:
    - 'cursor.description' is provided as named tuples if available.
    - The build script refuses to guess values if 'pg_config' is not
      found.
    - Connections and cursors are weakly referenceable.
* Bug fixes
2011-04-15 13:28:26 +00:00
adam
23da5eb6da Changes 2.3.2:
* Fixed segfault with middleware not passing DateStyle to the client

Changes 2.3.1:
* Fixed build problem on CentOS 5.5 x86_64

Changes 2.3.0:
psycopg 2.3 aims to expose some new features introduced in PostgreSQL 9.0.
* Main new features:
  - `dict` to `hstore` adapter and `hstore` to `dict` typecaster, using both
    9.0 and pre-9.0 syntax.
  - Two-phase commit protocol support as per DBAPI specification.
  - Support for payload in notifications received from the backed.
  - `namedtuple`-returning cursor.
  - Query execution cancel.
2011-01-20 09:55:30 +00:00
adam
e87b9b3477 MASTER_SITES and HOMEPAGE have changed 2010-09-09 14:32:26 +00:00
adam
9b26fe4a5d Changes 2.2.2:
* psycopg/cursor_type.c: executemany() propagates exceptions raised by the
  iterable to the caller.
* lib/pool.py: dropped logging.basicConfig() call.  It messes up with
  projects using logging but where no handler is installed on the root
  logger.
* psycopg/cursor_type.c: exceptions raised in the columns iterator of the
  copy methods propagated to the caller.
* psycopg/typecast_datetime.c: Round seconds in historical timezones to
  the nearest minute.
* lib/extras.py: register_tstz_w_secs() is now no-op.

Changes 2.2.1:
* Builds again on Windows.

Changes 2.2.0:
* typecast.c: Fixed problem related to receiving None from Python
  when a string was expected.
* psycopg/adapter_datetime.c: Fixed TimestampFromTicks for second
  values > 59.5.
* psycopg/adapter_datetime.c: Fixed same bug for TimeFromTicks.
* Added typecasters for arrays of specific MX/Py time-related types.
* psycopg/adapter_[mx]datetime.c: Explicit cast of the SQL representation
  of time-related objects.
* psycopg/adapter_binary.c: Adapt buffer objects using an explicit cast on
  the string literal
* lib/pqpath.c: Fixed reference leak in notify reception.
* Notifies are collected if available after every query execution.
* lib/extensions.py: DECIMAL typecaster imported from _psycopg.
* lib/extensions.py: PY* and MX* time typecaster imported from _psycopg.
* psycopg/connection_type.c: Correctly parse keywords in connect().
* psycopg/pqpath.c: Ensure running COPY in blocking mode.
* psycopg/pqpath.c: Free the GIL in blocking operations in V2 COPY FROM.
* psycopg/pqpath.c: Evaluate Python objects only once outside the COPY I/O
  loops.
* Fixed problem with asynchronous NOTIFYs.
* Integrated async pacthes from Jan's git tree.
2010-09-07 06:13:12 +00:00
joerg
3b5d2041bb Bump revision for change of PostgreSQL default version. 2010-02-10 19:34:05 +00:00
joerg
ba6d1257b9 psycopg 2.0.13:
- support for UUIDs
- fix issues with non-blocking connections and lo_write
- support reset() on connections as faster alternative to open()/close()
- improved support for COPY TO and COPY FROM
- bugfixes
2009-10-19 10:54:47 +00:00
joerg
0268c554bd Remove @dirrm entries from PLISTs 2009-06-14 17:38:38 +00:00
joerg
690e0d1b35 Remove unused buildlink3.mk file, use a normal dependency for the Python
package.
2009-03-05 21:00:00 +00:00
joerg
8e079188a1 psycopg-2.0.7:
- various smaller bug fixes
2008-08-26 13:16:19 +00:00
joerg
a77e7015fe Update PYTHON_VERSIONS_COMPATIBLE
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
2008-04-25 20:39:06 +00:00
joerg
2a7055907f Make PostgreSQL 8.2 the default version. Bump all packages using it.
Remove PostgreSQL 8.0 as choice.
2008-03-13 17:38:48 +00:00
wiz
6e2c35c083 pkglint cleanup; update HOMEPAGE/MASTER_SITES.
From Sergey Svishchev in private mail.
2007-02-22 19:01:13 +00:00
joerg
331e2615fa Change PostgreSQL default version to 8.1 and bump revision of all
packages which have it active by default.
2006-12-28 12:12:57 +00:00
joerg
f75176b39c Flag a number of packages I use as supporting (user-)destdir.
apg is a bit special as it has some hardcoded ownership, so
mark that as "destdir".
2006-10-09 12:52:34 +00:00
joerg
3a356d25e4 Update psycopg2 to 2.0.5.1, the new stable version.
Changes since 2.0.2 are mostly bugfixes.
2006-09-02 14:15:13 +00:00
joerg
231e153443 Disable debugging by default. 2006-07-12 17:55:05 +00:00
joerg
a3a8c8a8db Import py-psycopg2-2.0.2, a rewritten version of psycopg:
This is version 2, a complete rewrite of the original code to provide
new-style classes for connection and cursor objects and other
sweet candies. Like the original, psycopg 2 was written with the aim of
being very small and fast, and stable as a rock.
2006-07-12 16:34:39 +00:00