From d38ff944127600dda95e2c50ad2e5ff001754d3ca0f8e2f2474d4c169cb38e15 Mon Sep 17 00:00:00 2001 From: Nico Krapp Date: Mon, 24 Nov 2025 13:46:29 +0000 Subject: [PATCH] - Update to 2.9.11 * Add support for Python 3.14. * Avoid a segfault passing more arguments than placeholders if Python is built with assertions enabled (ticket #1791). * Add riscv64 platform binary packages (ticket 1813). * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 18. * Drop support for Python 3.8. - Update BuildRequires from setup.py OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg2?expand=0&rev=102 --- .gitattributes | 23 ++ .gitignore | 1 + psycopg2-2.9.10.tar.gz | 3 + psycopg2-2.9.11.tar.gz | 3 + python-psycopg2.changes | 740 ++++++++++++++++++++++++++++++++++++++++ python-psycopg2.spec | 77 +++++ 6 files changed, 847 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 psycopg2-2.9.10.tar.gz create mode 100644 psycopg2-2.9.11.tar.gz create mode 100644 python-psycopg2.changes create mode 100644 python-psycopg2.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/psycopg2-2.9.10.tar.gz b/psycopg2-2.9.10.tar.gz new file mode 100644 index 0000000..30c97f9 --- /dev/null +++ b/psycopg2-2.9.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ec0b40b0273f95296233e8750441339298e6a572f7039da5b260e3c8b60e11 +size 385672 diff --git a/psycopg2-2.9.11.tar.gz b/psycopg2-2.9.11.tar.gz new file mode 100644 index 0000000..5009844 --- /dev/null +++ b/psycopg2-2.9.11.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:964d31caf728e217c697ff77ea69c2ba0865fa41ec20bb00f0977e62fdcc52e3 +size 379598 diff --git a/python-psycopg2.changes b/python-psycopg2.changes new file mode 100644 index 0000000..f12ff0f --- /dev/null +++ b/python-psycopg2.changes @@ -0,0 +1,740 @@ +------------------------------------------------------------------- +Thu Nov 20 15:36:15 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 2.9.11 + * Add support for Python 3.14. + * Avoid a segfault passing more arguments than placeholders if + Python is built with assertions enabled (ticket #1791). + * Add riscv64 platform binary packages (ticket 1813). + * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes + updated to PostgreSQL 18. + * Drop support for Python 3.8. +- Update BuildRequires from setup.py + +------------------------------------------------------------------- +Thu Apr 10 12:25:48 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 2.9.10 + * Add support for Python 3.13. + * Receive notifications on commit (ticket #1728). + * Errorcodes map and errors classes updated to PostgreSQL 17. + * Drop support for Python 3.7. +- Drop support-python-313.patch, merged upstream + +------------------------------------------------------------------- +Tue Oct 29 05:08:18 UTC 2024 - Steve Kowalik + +- Drop patch py313-tests.patch, included in: +- Add patch support-python-313.patch: + * Support Python 3.13. + +------------------------------------------------------------------- +Mon Oct 28 21:56:17 UTC 2024 - Dirk Müller + +- add py313-tests.patch + +------------------------------------------------------------------- +Wed Jan 3 10:10:03 UTC 2024 - Dirk Müller + +- require setuptools + +------------------------------------------------------------------- +Tue Nov 28 21:39:17 UTC 2023 - Dirk Müller + +- update to 2.9.9: + * Add support for Python 3.12. + * Drop support for Python 3.6. + * Wheel package bundled with PostgreSQL 16 libpq in order to + add support for recent features, such as ``sslcertmode``. + +------------------------------------------------------------------- +Thu Sep 7 11:08:36 UTC 2023 - Dirk Müller + +- update to 2.9.7: + * Fix propagation of exceptions raised during module + initialization + * Fix building when pg_config returns an empty string + +------------------------------------------------------------------- +Fri Apr 21 12:30:00 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:43:24 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Mon Apr 3 19:55:26 UTC 2023 - Dirk Müller + +- update to 2.9.6: + * Package manylinux 2014 for aarch64 and ppc64le platforms, in + order to include libpq 15 in the binary package (:ticket:`#1396`). + * Wheel package compiled against OpenSSL 1.1.1t. + +------------------------------------------------------------------- +Fri Oct 28 19:56:31 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 2.9.5 + * Add support for Python 3.11. + * Add support for rowcount in MERGE statements in binary packages + (ticket`#1497`). + * Wheel package compiled against OpenSSL 1.1.1r and PostgreSQL 15 libpq. + +- Update to 2.9.4 + * Fix `~psycopg2.extras.register_composite()`, + `~psycopg2.extras.register_range()` with customized search_path + (ticket`#1487`). + * Handle correctly composite types with names or in schemas requiring escape. + * Find ``pg_service.conf file in the ``/etc/postgresql-common`` directory in + binary packages (ticket`1365`). + * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to + PostgreSQL 15. + * Wheel package compiled against OpenSSL 1.1.1q and PostgreSQL 14.4 + +------------------------------------------------------------------- +Thu Dec 30 09:54:04 UTC 2021 - Dirk Müller + +- update to 2.9.3: + * Alpine (musl) wheels now available + +------------------------------------------------------------------- +Mon Nov 29 10:57:15 UTC 2021 - Dirk Müller + +- update to 2.9.2: + * Raise `ValueError` for dates >= Y10k (:ticket:`#1307`). + * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to + PostgreSQL 14. + * Add preliminary support for Python 3.11 (:tickets:`#1376, #1386`). + * Wheel package compiled against OpenSSL 1.1.1l and PostgreSQL 14.1 + +------------------------------------------------------------------- +Tue Oct 12 10:07:48 UTC 2021 - ecsos + +- Update to 2.9.1 + - Fix regression with named `sql.Placeholder` (:ticket:`1291`). +- Update to 2.9.0 + - ``with connection`` starts a transaction on autocommit transactions too + (:ticket:`#941`). + - Timezones with fractional minutes are supported on Python 3.7 and following + (:ticket:`#1272`). + - Escape table and column names in `~cursor.copy_from()` and `~cursor.copy_to()`. + - Connection exceptions with sqlstate ``08XXX`` reclassified as + `~psycopg2.OperationalError` (a subclass of the previously used + `~psycopg2.DatabaseError`) (:ticket:`#1148`). + - Include library dirs required from libpq to work around MacOS build problems + (:ticket:`#1200`). + - Dropped support for Python 2.7, 3.4, 3.5 (:ticket:`#1198, #1000, #1197`). + - Dropped support for mx.DateTime. + - Use `datetime.timezone` objects by default in datetime objects instead of + `~psycopg2.tz.FixedOffsetTimezone`. + - The `psycopg2.tz` module is deprecated and scheduled to be dropped in the + next major release. + - Provide :pep:`599` wheels packages (manylinux2014 tag) for i686 and x86_64 + platforms. + - Provide :pep:`600` wheels packages (manylinux_2_24 tag) for aarch64 and + ppc64le platforms. + - Wheel package compiled against OpenSSL 1.1.1k and PostgreSQL 13.3. + - Build system for Linux/MacOS binary packages moved to GitHub action. + +------------------------------------------------------------------- +Wed Sep 16 21:18:19 UTC 2020 - Dirk Mueller + +- update to 2.8.6: + * Fixed memory leak changing connection encoding to the current one + * Fixed search of mxDateTime headers in virtualenvs (:ticket:`#996`). + * Added missing values from errorcodes (:ticket:`#1133`). + * `cursor.query` reports the query of the last :sql:`COPY` opearation too + * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 13. + * Added wheel packages for ARM architecture (:ticket:`#1125`). + * Wheel package compiled against OpenSSL 1.1.1g. + +------------------------------------------------------------------- +Tue May 19 06:16:56 UTC 2020 - Tomáš Chvátal + +- Sort out the syntax of the deps bsc#1171213 + +------------------------------------------------------------------- +Thu Apr 23 16:13:29 UTC 2020 - Marcus Rueckert + +- update to 2.8.5 + - Fixed use of connection_factory and cursor_factory together + (ticket #1019). + - Added support for logging.LoggerAdapter in LoggingConnection + (ticket #1026). + - Column objects in cursor.description can be sliced (ticket + #1034). + - Added AIX support (ticket #1061). + - Fixed copy() of DictCursor rows (ticket #1073). + +------------------------------------------------------------------- +Thu Mar 19 08:19:57 UTC 2020 - Hans-Peter Jansen + +- fix postgresql build dependency: pg_config is in postgresql-server-devel (bsc#1167541) + +------------------------------------------------------------------- +Fri Feb 28 21:49:40 UTC 2020 - Dirk Mueller + +- update to 2.8.4: + - Fixed building with Python 3.8 (:ticket:`#854`). + - Don't swallow keyboard interrupts on connect when a password is specified + in the connection string (:ticket:`#898`). + - Don't advance replication cursor when the message wasn't confirmed + (:ticket:`#940`). + - Fixed inclusion of ``time.h`` on linux (:ticket:`#951`). + - Fixed int overflow for large values in `~psycopg2.extensions.Column.table_oid` + and `~psycopg2.extensions.Column.type_code` (:ticket:`#961`). + - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to + PostgreSQL 12. + - Wheel package compiled against OpenSSL 1.1.1d and PostgreSQL at least 11.4. + +------------------------------------------------------------------- +Mon Oct 14 14:14:29 UTC 2019 - Matej Cepl + +- Replace %fdupes -s with plain %fdupes; hardlinks are better. + +------------------------------------------------------------------- +Thu Jul 4 15:02:11 UTC 2019 - Daniel Molkentin + +- Update to 2.8.4 + * Added interval_status parameter to start_replication() method and other + facilities to send automatic replication keepalives at periodic intervals + (ticket #913). + * Fixed namedtuples caching introduced in 2.8 (ticket #928). + +------------------------------------------------------------------- +Tue Jun 4 15:36:23 UTC 2019 - Marketa Calabkova + +- Update to 2.8.3 + * Added interval_status parameter to start_replication() method + and other facilities to send automatic replication keepalives + at periodic intervals + * Fixed RealDictCursor when there are repeated columns + * Fixed RealDictRow modifiability + * Fixed “there’s no async cursor” error polling a connection with + no cursor + 2.8.0 + * Added errors module. Every PostgreSQL error is converted into + a specific exception class + * Added encrypt_password() function + * Added BYTES adapter to manage databases with mixed encodings on + Python 3 + * Added table_oid and table_column attributes on cursor.description + items + * Added connection.info object to retrieve various PostgreSQL + connection information + * str() on Range produces a human-readable representation + * Fixed async communication blocking if results are returned in + different chunks + * Fixed adaptation of numeric subclasses such as IntEnum + * Dropped support for Python 2.6, 3.2, 3.3. + * Dropped deprecated register_tstz_w_secs() + * Dropped deprecated PersistentConnectionPool. Use + ZPsycopgDA.pool instead. + * Binary packages no longer installed by default. The + ‘psycopg2-binary’ package must be used explicitly. + * Dropped PSYCOPG_DISPLAY_SIZE build parameter. + +------------------------------------------------------------------- +Tue Apr 2 16:43:30 UTC 2019 - Todd R + +- Requires postgresql-server-devel on Factory now. + +------------------------------------------------------------------- +Mon Mar 4 12:13:19 UTC 2019 - Tomáš Chvátal + +- Update to 2.7.7: + * Cleanup of the cursor results assignment code, which might have solved + double free and inconsistencies in concurrent usage (:tickets:`#346, #384`). + * Close named cursors if exist, even if execute() wasn't called (ticket #746). + * Fixed building on modern FreeBSD versions with Python 3.7 (ticket #755). + * Fixed hang trying to COPY via execute() in asynchronous connections (ticket #781). + * Fixed adaptation of arrays of empty arrays (ticket #788). + * Fixed segfault accessing the connection.readonly and connection.deferrable attributes repeatedly (ticket #790). + * execute_values() accepts sql.Composable objects (ticket #794). + * errorcodes map updated to PostgreSQL 11. + * Allow non-ascii chars in namedtuple fields (regression introduced fixing ticket #211). + * Fixed adaptation of arrays of arrays of nulls (ticket #325). + * Fixed building on Solaris 11 and derivatives such as SmartOS and illumos (ticket #677). + * Maybe fixed building on MSYS2 (as reported in ticket #658). + * Allow string subclasses in connection and other places (ticket #679). + * Don't raise an exception closing an unused named cursor (ticket #716). + +------------------------------------------------------------------- +Wed Mar 7 14:03:13 UTC 2018 - aplanas@suse.com + +- Allows Recommends and Suggest in Fedora + +------------------------------------------------------------------- +Tue Feb 27 17:55:42 UTC 2018 - aplanas@suse.com + +- Suggests only for SUSE + +------------------------------------------------------------------- +Thu Feb 22 10:31:09 UTC 2018 - sebix+novell.com@sebix.at + +- update to version 2.7.4: + - Moving away from installing the wheel package by default. + Packages installed from wheel raise a warning on import. Added package + ``psycopg2-binary`` to install from wheel instead (:ticket:`#543`). + - Convert fields names into valid Python identifiers in + `~psycopg2.extras.NamedTupleCursor` (:ticket:`#211`). + - Fixed Solaris 10 support (:ticket:`#532`). + - `cursor.mogrify()` can be called on closed cursors (:ticket:`#579`). + - Fixed setting session characteristics in corner cases on autocommit + connections (:ticket:`#580`). + - Fixed `~psycopg2.extras.MinTimeLoggingCursor` on Python 3 (:ticket:`#609`). + - Fixed parsing of array of points as floats (:ticket:`#613`). + - Fixed `~psycopg2.__libpq_version__` building with libpq >= 10.1 + (:ticket:`632`). + - Fixed `~cursor.rowcount` after `~cursor.executemany()` with :sql:`RETURNING` + statements (:ticket:`633`). + - Fixed compatibility problem with pypy3 (:ticket:`#649`). + - Wheel packages compiled against PostgreSQL 10.1 libpq and OpenSSL 1.0.2n. + - Wheel packages for Python 2.6 no more available (support dropped from + wheel building infrastructure). +- update to version 2.7.3.2: + - not relevant +- update to version 2.7.3.1: + - not relevant + +------------------------------------------------------------------- +Tue Aug 8 15:42:47 UTC 2017 - tbechtold@suse.com + +- update version to 2.7.3: + - Restored default :sql:`timestamptz[]` typecasting to Python `!datetime`. + Regression introduced in Psycopg 2.7.2 (:ticket:`#578`). + - Fixed inconsistent state in externally closed connections + (:tickets:`#263, #311, #443`). Was fixed in 2.6.2 but not included in + 2.7 by mistake. + - Fixed Python exceptions propagation in green callback (:ticket:`#410`). + - Don't display the password in `connection.dsn` when the connection + string is specified as an URI (:ticket:`#528`). + - Return objects with timezone parsing "infinity" :sql:`timestamptz` + (:ticket:`#536`). + - Dropped dependency on VC9 runtime on Windows binary packages + (:ticket:`#541`). + - Fixed segfault in `~connection.lobject()` when *mode*\=\ `!None` + (:ticket:`#544`). + - Fixed `~connection.lobject()` keyword argument *lobject_factory* + (:ticket:`#545`). + - Fixed `~psycopg2.extras.ReplicationCursor.consume_stream()` + *keepalive_interval* argument (:ticket:`#547`). + - Maybe fixed random import error on Python 3.6 in multiprocess + environment (:ticket:`#550`). + - Fixed random `!SystemError` upon receiving abort signal (:ticket:`#551`). + - Accept `~psycopg2.sql.Composable` objects in + `~psycopg2.extras.ReplicationCursor.start_replication_expert()` + (:ticket:`554`). + - Parse intervals returned as microseconds from Redshift (:ticket:`#558`). + - Added `~psycopg2.extras.Json` `!prepare()` method to consider connection + params when adapting (:ticket:`#562`). + - `~psycopg2.errorcodes` map updated to PostgreSQL 10 beta 1. + +------------------------------------------------------------------- +Mon Jul 10 10:07:07 UTC 2017 - jengelh@inai.de + +- Trim filler wording from description. + +------------------------------------------------------------------- +Fri Jun 23 16:26:18 UTC 2017 - jmatejek@suse.com + +- convert to singlespec +- update to 2.7.1 + * Added sql module to generate SQL dynamically (ticket #308). + * Added Replication protocol support (ticket #322). Main authors are + Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you. + * Added parse_dsn() and make_dsn() functions (tickets #321, #363). connect() + now can take both dsn and keyword arguments, merging them together. + * Added __libpq_version__ and libpq_version() to inspect the version of the + libpq library the module was compiled/loaded with (tickets #35, #323). + * The attributes notices and notifies can be customized replacing them with + any object exposing an append() method (ticket #326). + * Adapt network types to ipaddress objects when available. When not enabled, + convert arrays of network types to lists by default. The old Inet adapter is + deprecated (tickets #317, #343, #387). + * Added quote_ident() function (ticket #359). + * Added get_dsn_parameters() connection method (ticket #364). + * callproc() now accepts a dictionary of parameters (ticket #381). + * Give precedence to __conform__() over superclasses to choose an object + adapter (ticket #456). + * Using Python C API decoding functions and codecs caching for faster + unicode encoding/decoding (ticket #473). + * executemany() slowness addressed by execute_batch() and execute_values() + (ticket #491). + * Added async_ as an alias for async to support Python 3.7 where async will + become a keyword (ticket #495). + * Unless in autocommit, do not use default_transaction_* settings to control + the session characteristics as it may create problems with external + connection pools such as pgbouncer; use BEGIN options instead (ticket #503). + * isolation_level is now writable and entirely separated from autocommit; + added readonly, deferrable writable attributes. + * dropped support for python 2.5 and postgres client library < 9.1 + * many bugs fixed + +- drop doc subpackage, html docs available from http://pythonhosted.org/psycopg2/ + +------------------------------------------------------------------- +Wed Jun 21 13:44:46 UTC 2017 - bwiedemann@suse.com + +- Do not include unneccessary undeterministic environment.pickle in package to fix build-compare + +------------------------------------------------------------------- +Mon Nov 14 14:06:11 UTC 2016 - dmueller@suse.com + +- update to 2.6.2: + * Fixed inconsistent state in externally closed connections (tickets #263, #311, #443). + * Report the server response status on errors (such as ticket #281). + * Raise NotSupportedError on unhandled server response status (ticket #352). + * Allow overriding string adapter encoding with no connection (ticket #331). + * The wait_select callback allows interrupting a long-running query in an interactive shell using Ctrl-C (ticket #333). + * Fixed PersistentConnectionPool on Python 3 (ticket #348). + * Fixed segfault on repr() of an uninitialized connection (ticket #361). + * Allow adapting bytes using QuotedString on Python 3 (ticket #365). + * Added support for setuptools/wheel (ticket #370). + * Fix build on Windows with Python 3.5, VS 2015 (ticket #380). + * Fixed errorcodes.lookup initialization thread-safety (ticket #382). + * Fixed read() exception propagation in copy_from (ticket #412). + * Fixed possible NULL TZ decref (ticket #424). + * errorcodes map updated to PostgreSQL 9.5. + * Lists consisting of only None are escaped correctly (ticket #285). + * Fixed deadlock in multithread programs using OpenSSL (ticket #290). + * Correctly unlock the connection after error in flush (ticket #294). + * Fixed MinTimeLoggingCursor.callproc() (ticket #309). + * Added support for MSVC 2015 compiler (ticket #350). + +------------------------------------------------------------------- +Wed Mar 9 10:29:20 UTC 2016 - bwiedemann@suse.com + +- use the year from source gzip header instead of current one + to make reproducible rpms + +------------------------------------------------------------------- +Tue Feb 24 14:52:53 UTC 2015 - tbechtold@suse.com + +- update to version 2.6: + - 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 (:ticket:`#272`). + - Json apapter's `!str()` returns the adapted content instead of the `!repr()` + (:ticket:`#191`). + - Named cursors used as context manager don't swallow the exception on exit + (:ticket:`#262`). + - `cursor.description` can be pickled (:ticket:`#265`). + - Propagate read error messages in COPY FROM (:ticket:`#270`). + - PostgreSQL time 24:00 is converted to Python 00:00 (:ticket:`#278`). + - Added :sql:`jsonb` support for PostgreSQL 9.4 (:ticket:`#226`). + - Fixed segfault if COPY statements are passed to `~cursor.execute()` instead + of using the proper methods (:ticket:`#219`). + - Force conversion of pool arguments to integer to avoid potentially unbounded + pools (:ticket:`#220`). + - Cursors :sql:`WITH HOLD` don't begin a new transaction upon move/fetch/close + (:ticket:`#228`). + - Cursors :sql:`WITH HOLD` can be used in autocommit (:ticket:`#229`). + - `~cursor.callproc()` doesn't silently ignore an argument without a length. + - Fixed memory leak with large objects (:ticket:`#256`). + - Make sure the internal ``_psycopg.so`` module can be imported stand-alone (to + allow modules juggling such as the one described in :ticket:`#201`). + - Work around `pip issue #1630 `__ + making installation via ``pip -e git+url`` impossible (:ticket:`#18`). + - Copy operations correctly set the `cursor.rowcount` attribute + (:ticket:`#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 (:ticket:`#188`). + - Mark the connection closed if found broken on `poll()` (from :ticket:`#192` + discussion) + - Fixed handling of dsn and closed attributes in connection subclasses + failing to connect (from :ticket:`#192` discussion). + - Added arbitrary but stable order to `Range` objects, thanks to + Chris Withers (:ticket:`#193`). + - Avoid blocking async connections on connect (:ticket:`#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 (:ticket:`#195`). + - Mark the connection closed when a Socket connection is broken, as it + happens for TCP connections instead (:ticket:`#196`). + - Fixed overflow opening a lobject with an oid not fitting in a signed int + (:ticket:`#203`). + - Fixed handling of explicit default ``cursor_factory=None`` in + `connection.cursor()` (:ticket:`#210`). + - Fixed possible segfault in named cursors creation. + - Fixed debug build on Windows, thanks to James Emerton. +- Add python-Sphinx as BuilrRequires to build documenation. Also adjust + the build process for html docs. + +------------------------------------------------------------------- +Mon Jan 13 13:29:56 UTC 2014 - dmueller@suse.com + +- update to 2.5.2: + - Fixed segfault pickling the exception raised on connection error + - Meaningful connection errors report a meaningful message + - Manually creating `lobject` with the wrong parameter doesn't segfault + +------------------------------------------------------------------- +Tue Jun 25 11:41:28 UTC 2013 - dmueller@suse.com + +- update to 2.5.1: + - Fixed build on Solaris 10 and 11 where the round() function is already + declared (:ticket:`#146`). + - Fixed comparison of `Range` with non-range objects (:ticket:`#164`). + Thanks to Chris Withers for the patch. + - Fixed double-free on connection dealloc (:ticket:`#166`). Thanks to + Gangadharan S.A. for the report and fix suggestion. + +------------------------------------------------------------------- +Tue Apr 16 18:05:47 UTC 2013 - jfunk@funktronics.ca + +- Update to 2.5: + - Added JSON adaptation. + - Added support for PostgreSQL 9.2 range types. + - `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 + (ticket #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 (ticket #108). + - Added a simple way to customize casting of composite types into Python + objects other than namedtuples. Many thanks to Ronan Dunklau and Tobias + Oberstein for the feature development. + - `connection.reset()` implemented using `DISCARD ALL` on server versions + supporting it. + - Properly cleanup memory of broken connections (ticket #148). + - Fixed bad interaction of ``setup.py`` with other dependencies in + Distribute projects on Python 3 (ticket #153). + - 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 . +- Changes from 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. + +------------------------------------------------------------------- +Fri May 25 14:07:21 UTC 2012 - cfarrell@suse.com + +- license update: LGPL-3.0+ and (LGPL-3.0+ or ZPL-2.0) and + SUSE-GPL-2.0-with-openssl-exception + See the COPYING file. There are GPL-2.0+ (with openssl linking exceptions + for pgsql) in the package. Also, the ZPL option is only available for one + particular subdirectory in the package + +------------------------------------------------------------------- +Fri May 25 05:32:01 UTC 2012 - highwaystar.ru@gmail.com + +- python3 package added +- minor spec improvement + +------------------------------------------------------------------- +Fri Apr 6 19:05:14 UTC 2012 - jfunk@funktronics.ca + +- Update to 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 + (ticket #84). + * Use lo_creat() instead of lo_create() when possible for better + interaction with pgpool-II (ticket #88). + * Error and its subclasses are picklable, useful for multiprocessing + interaction (ticket #90). + * Better efficiency and formatting of timezone offset objects thanks + to Menno Smits (tickets #94, #95). + * Fixed 'rownumber' during iteration on cursor subclasses. + Regression introduced in 2.4.4 (ticket #100). + * Added support for 'inet' arrays. + * Fixed 'commit()' concurrency problem (ticket #103). + * 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. Many thanks to David + Malcolm for the useful tool and the assistance provided using it. + +------------------------------------------------------------------- +Tue Mar 27 09:27:25 UTC 2012 - saschpe@suse.de + +- Can't hurt to suggest postgresql-server + +------------------------------------------------------------------- +Mon Mar 12 21:10:27 UTC 2012 - saschpe@gmx.de + +- Simplify macro usage +- Remove outdated SUSE version checks + +------------------------------------------------------------------- +Mon Feb 13 10:54:08 UTC 2012 - coolo@suse.com + +- patch license to follow spdx.org standard + +------------------------------------------------------------------- +Thu Jan 12 21:53:36 UTC 2012 - jfunk@funktronics.ca + +- Update to 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). +- Version 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. + +------------------------------------------------------------------- +Wed Sep 21 13:43:29 UTC 2011 - saschpe@suse.de + +- Update to version 2.4.2: + * connection.h: added codec attribute to avoid repeated codec name + lookups during unicode query/params manipulations. + * setup.py: bumped to version 2.3.2.dev0 + * psycopg/connection_int.c: applied patch from Marti Raudsepp to close + ticket #24. Fixed segfault in connection when DateStyle not available + (e.g. pgbouncer appars not passing it to the client) + * psycopg/utils.c: Added psycopg_strdup function. + - See ChangeLog for more... +- Don't package testsuite +- Fix non-executable script rpmlint warning + +------------------------------------------------------------------- +Mon Feb 28 07:52:40 UTC 2011 - saschpe@suse.de + +- Spec file changes: + * Added LICENSE and NEWS files + * Added ZPL license to preamble (psycopg2 is dual-licensed) + * Use upstream description + * Fixed SLE build errors + * Repacked tarball to bzip2 +- Update to version 2.4 + * Added support for Python 3.1 and 3.2. The conversion has also + brought several improvements: + * Improvements to the named cusors and data handling + * Fixed adaptation of None in composite types (ticket #26). Bug + report by Karsten Hilbert. + * Fixed several reference leaks in less common code paths. + * Fixed segfault when a large object is closed and its connection no + more available. + * Added missing icon to ZPsycopgDA package, not available in Zope + 2.12.9 (ticket #30). Bug report and patch by Pumukel. + * Fixed conversion of negative infinity (ticket #40). Bug report and + patch by Marti Raudsepp. + +------------------------------------------------------------------- +Tue Dec 27 15:01:00 UTC 2010 - elchevive@opensuse.org + +- Update to version 2.3.2 + +------------------------------------------------------------------- +Wed Oct 27 02:43:22 UTC 2010 - termim@gmail.com + +- Update to 2.2.2: + Bux fixes: + * the call to logging.basicConfig() in pool.py has been dropped: + it was messing with some projects using logging (and a library + should not initialize the logging system anyway.) + * psycopg now correctly handles time zones with seconds in the + UTC offset. The old register_tstz_w_secs() function is deprecated + and will raise a warning if called. + * Exceptions raised by the column iterator are propagated. + * Exceptions raised by executemany() interators are propagated. + +------------------------------------------------------------------- +Tue Aug 25 13:14:38 UTC 2009 - jnelson-suse@jamponi.net +- Add --optimize=2 to build .pyo files, correct License and Url + +------------------------------------------------------------------- +Tue Aug 18 13:14:38 UTC 2009 - jfunk@funktronics.ca + +- Update to 2.0.12: + * psycopg/lobject_int.c: fixed problem with writing large data using + lo_write: apparently the large objects code does not like non-blocking + connections. + * setup.py: fixed version detection for PostgreSQL rc, as + suggested by Sok Ann Yap. + * ZPsycopgDA/db.py: applied serialization error retry from Brian + Sutherland. + * Implemented connection.reset() method to reset the connection to + well-know default parameters. This is much faster than closing and + reopening the connection. (Suggested by a bug report by Glenn + Maynard.) + * psycopg/cursor_type.c: unified size macro definitions in COPY TO + and COPY FROM operations: now the buffer for column names is 8192 + bytes that should be enough even for very large tables. + * Applied patch from Robert Munro to fix version check + in ZPsycopgDA. +- Release 2.0.11: + * lib/extras.py: fixed crash in fetchone() when prefetching using + a RealDictCursor. + * psycopg/cursor_ext.c: now raise correct exception when fetching + using a custom row factory results in an error. + * lib/extras.py: applied DictRow "diet" patch from Marko Kreen. + * setup.py: applied patch from Elvis Pranskevichus to make + PostgreSQL version detection more robust. + +------------------------------------------------------------------- +Mon Apr 27 17:23:57 CEST 2009 - lars@linux-schulserver.de + +- update to 2.0.10 + +------------------------------------------------------------------- +Thu Nov 20 16:27:27 AST 2008 - jfunk@funktronics.ca + +- Update to 2.0.8 + +------------------------------------------------------------------- +Wed Nov 5 11:57:40 CET 2008 - poeml@suse.de + +- use --record-rpm as setup option, not --record. The latter didn't + pick up all files on Factory. + +------------------------------------------------------------------- +Wed Jun 13 07:56:02 UTC 2007 - judas_iscariote@shorewall.net + +- Update to version 2.0.6 see http://initd.org/pub/software/psycopg/ChangeLog + for details. + +------------------------------------------------------------------- +Wed Oct 19 00:00:00 UTC 2005 - jfunk@funktronics.ca + +- Initial release + diff --git a/python-psycopg2.spec b/python-psycopg2.spec new file mode 100644 index 0000000..55c37aa --- /dev/null +++ b/python-psycopg2.spec @@ -0,0 +1,77 @@ +# +# spec file for package python-psycopg2 +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-psycopg2 +Version: 2.9.11 +Release: 0 +Summary: Python-PostgreSQL Database Adapter +License: LGPL-3.0-or-later AND (LGPL-3.0-or-later OR ZPL-2.0) AND SUSE-GPL-2.0-with-openssl-exception +URL: https://www.psycopg.org/ +Source: https://files.pythonhosted.org/packages/source/p/psycopg2/psycopg2-%{version}.tar.gz +BuildRequires: %{python_module devel >= 3.9} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +# newer postgresql packages pg_config in -server-devel +%if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500 +BuildRequires: postgresql-server-devel >= 15 +%else +BuildRequires: postgresql-devel >= 15 +%endif +%if 0%{?suse_version} || 0%{?fedora_version} >= 24 +Suggests: postgresql-server +%endif +%python_subpackages + +%description +psycopg2 is a PostgreSQL database adapter for the Python programming +language. + +psycopg2 is different from the other database adapter because it was +designed for heavily multi-threaded applications that create and destroy +lots of cursors and make a conspicuous number of concurrent INSERTs or +UPDATEs. psycopg2 also provide asychronous operations and support +for coroutine libraries. + +%prep +%autosetup -p1 -n psycopg2-%{version} + +%build +export CFLAGS="%{optflags} -fno-strict-aliasing" +%pyproject_wheel + +%install +%pyproject_install +%python_expand rm -rf %{buildroot}%{$python_sitearch}/psycopg2/tests # Don't package testsuite +%fdupes %{buildroot}/%{_mandir} # Create symlinks for man pages +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%check +# tests require running PGSQL +#%%python_expand PYTHONPATH=%%{buildroot}%%{$python_sitearch} $python -m unittest discover + +%files %{python_files} +%license LICENSE +%doc AUTHORS NEWS README.rst +%{python_sitearch}/psycopg2/ +%{python_sitearch}/psycopg2-%{version}.dist-info + +%changelog