SHA256
1
0
forked from pool/python-apsw

29 Commits

Author SHA256 Message Date
ead2134d4c Sync changes to SLFO-1.2 branch 2025-08-20 11:01:10 +02:00
211c31518d Accepting request 1297684 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1297684
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=28
2025-08-06 12:33:07 +00:00
f84e2e7679 - Update to 3.50.4.0
* PyPI binary builds are available for:
    * Python 3.14
    * Windows ARM
    * Python 3.14 `free threaded`__ (no GIL).  The GIL will be
      enabled when APSW is loaded.  APSW will be free threaded
      in the future (#568)
- from version 3.50.3.0
  * preupdate_hook` is available. The `commit` and `rollback`
    hooks let you provide multiple callbacks, multiplex by APSW.
    `apsw.ext.Trace` can now show updates, and transaction begin,
    commit, and rollback.
- from version 3.50.2.0
  * PyPi builds now use `cibuildwheel version 3` which advances
    the minimum supported Linux distribution.  It is configured
    to continue building both 32 and 64 bit binaries.
- from version 3.50.1.0
  * No user visible changes.
- from version 3.50.0.0
  * Full support for the `session`
  * Added `Connection.setlk_timeout`, `apsw.mapping_setlk_timeout_flags`,
    and enabled the timeout for amalgamation builds such as PyPI.
  * Shell `open command <shell-cmd-open>` allows specifying flags to
    open a connection, and `connection command <shell-cmd-connection>`
    shows flags used for each open. (#557)
  * Type stubs updated to `collections.abc.Buffer` (Python 3.12+)
    wherever some bytes are taken.  `Buffers `__ have always been used,
    but Python 3.12 added typing.
- from version 3.49.2.0
  * Shell dump command handles generated columns correctly. (#556)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apsw?expand=0&rev=61
2025-08-05 10:44:08 +00:00
bbd7f0346c Accepting request 1204392 from devel:languages:python
- update to 3.46.1.0:
  * The shell dump command outputs the application_id in addition
    to the user_version.

OBS-URL: https://build.opensuse.org/request/show/1204392
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=27
2024-09-30 13:38:11 +00:00
176412f1ba - update to 3.46.1.0:
* The shell dump command outputs the application_id in addition
    to the user_version.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apsw?expand=0&rev=59
2024-09-28 19:16:51 +00:00
178f94cf33 Accepting request 1184155 from devel:languages:python
- update to 3.46.0.1:
  * :func:`apsw.ext.query_info` provides the count and names of
    bindings parameters.  (:issue:`528`)
  * Address how errors are handled in VFS xRandomness routine,
    that is only called once by SQLite to seed its random number
    generator. (:issue:`526`)
  * Added :meth:`Connection.vfsname` and updated corresponding
    shell command to get the diagnostic names of the vfs stack
    for the connection.  (:issue:`525`)
  * Do not cache :meth:`Connection.pragma` statements to avoid
    encryption keys, or pragmas that run during prepare from
    being retained. (:issue:`522`)
  * :meth:`Connection.pragma` adds keyword schema argument to run
    pragma against attached databases.  (:issue:`524`)

OBS-URL: https://build.opensuse.org/request/show/1184155
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=26
2024-07-01 09:21:57 +00:00
f6d1ccfb4f Accepting request 1178935 from devel:languages:python
- update to 3.46.0.0:
  * Adjusted levels in :func:`apsw.ext.log_sqlite` to be lower
    for some SQLite messages like SQLITE_SCHEMA and
    SQLITE_NOTICE_RECOVER_WAL (:issue:`518`)
  * Previous source releases were signed with PGP.  Starting with
    this release Sigstore's cosign tool is used
    (:ref:`instructions <verifydownload>`). (:issue:`512`)

OBS-URL: https://build.opensuse.org/request/show/1178935
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=25
2024-06-06 10:34:29 +00:00
83545c65f4 Accepting request 1169376 from devel:languages:python
- update to 3.45.3.0:
  * No APSW changes.

OBS-URL: https://build.opensuse.org/request/show/1169376
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=24
2024-04-21 18:27:39 +00:00
1e8361fb2d Accepting request 1158947 from devel:languages:python
- update to 3.45.2.0:
  * Minor doc and tests change due to changed behaviour of
    sqlite3_serialize on an empty database, used by
    :meth:`Connection.serialize`.
  * No APSW changes.

OBS-URL: https://build.opensuse.org/request/show/1158947
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=23
2024-03-18 15:47:01 +00:00
acc659f27f Accepting request 1140101 from devel:languages:python
- update to 3.45.0.0:
  * Correctly handle NULL/None VFS filenames (:issue:`506`)

OBS-URL: https://build.opensuse.org/request/show/1140101
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=22
2024-01-21 22:08:38 +00:00
e8181d11a3 Accepting request 1137921 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1137921
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=21
2024-01-10 20:53:06 +00:00
f01e91e3c7 Accepting request 1130519 from devel:languages:python
- update to 3.44.2.0:
  * Added `logger` parameter to :func:`apsw.ext.log_sqlite` to
    use a specific :class:`logging.Logger` (:issue:`493`)
  * Added :func:`apsw.ext.result_string` to turn an result code
    into a string, taking into account if it is extended or not.
  * Provide detail when C implemented objects are printed. For
    example :class:`connections <Connection>` include the filename.
  * Added :meth:`URIFilename.parameters` (:issue:`496`)
  * :class:`URIFilename` are only valid for the duration of the
    :meth:`VFS.xOpen` call.  If you save and use the object later
    you will get an exception.  (:issue:`501`)

OBS-URL: https://build.opensuse.org/request/show/1130519
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=20
2023-12-03 19:49:15 +00:00
407313158e Accepting request 1126235 from devel:languages:python
- update to 3.44.0.0:
  * Added virtual table :meth:`VTTable.Integrity` support.
  * On 64 bit platforms with the amalgamation,
    `SQLITE_MAX_MMAP_SIZE SQLite's default limit is 2GB.
  * :meth:`Connection.create_aggregate_function` can take a class
    with step and final methods. (:issue:`421`)
  * Corrected non :pep:`8` :ref:`compliant names <renaming>`.
    The old names remain as aliases to the new ones, and your
    code will not break.
  * :doc:`Exception <exceptions>` handling has been updated, with
    multiple exceptions in the same SQLite control flow being
    chained together.

  - Reduced overhead of the Column method when using
    Connection or Cursor
- Fix loadable extensions are missing,
  * Added constants: SQLITE_IOERR_CORRUPTFS

OBS-URL: https://build.opensuse.org/request/show/1126235
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=19
2023-11-15 20:08:27 +00:00
627036af2a Accepting request 1116041 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1116041
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=18
2023-10-22 19:01:33 +00:00
38a8a424e6 Accepting request 1100912 from devel:languages:python
- Update to 3.42.0.1:
  - Work with SQLite compiled with
    SQLITE_OMIT_DEPRECATED. Connection.setprofile() was changed
    from using the deprecated sqlite3_profile to sqlite3_trace_v2
    giving the same results. When including the amalgamation,
    SQLITE_OMIT_DEPRECATED is defined. (APSW issue 443)
  - Shell updates adding various commands to match the SQLite
    shell, as well as code and documentation improvements. (APSW
    issue 397)
  - Added Connection.read() and apsw.ext.dbinfo() to provide
    information from the database and journal/wal files. The
    shell command .dbinfo displays it.
  - Added apsw.vfs_details(). The shell command .vfslist displays
    it.
  - Implemented VFS method xCurrentTimeInt64. The default SQLite
    VFS no longer provide xCurrentTime (floating point version)
    if SQLITE_OMIT_DEPRECATED is defined, so this is needed for
    inheritance to work. (APSW issue 451)
  - Backwards incompatible change: VFS If you override
    xCurrentTime, then you will need to override
    xCurrentTimeInt64 in the same way, or exclude
    xCurrentTimeInt64 in VFS, or use iVersion of 1.
  - speedtest now shows summary statistics, and improved help
    text. (APSW issue 444)
- Clean up the SPEC file, use %pyproject_* macros instead.
- Make the test suite pass again (gh#rogerbinns/apsw#462).

OBS-URL: https://build.opensuse.org/request/show/1100912
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=17
2023-07-27 14:51:48 +00:00
1b7fd971d3 Accepting request 1094234 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1094234
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=16
2023-06-21 20:39:21 +00:00
264cf9216b Accepting request 1089348 from devel:languages:python
- update to 3.42.0.0:
  * Shell: Errors when SQLite are preparing a statement now show
    the relevant extract of the query, and where the error was
    detected.
  * Shell: Output modes table (ASCII line drawing, lots of
    sanitization), box (Unicode line drawing) and
    qbox (box with quoted values) available.
  * Shell: if started interactively then box is the default mode
    (list remains the default in non-interactive)
  * Added :meth:`Connection.pragma` to execute pragmas
    and get results.
  * Added :attr:`Cursor.get` returning query results with the
    least amount of structure.
  * Fixed execution tracers should return comment text for
    comment only queries, and add :attr:`Cursor.has_vdbe`.
  * Ensure that all applicable options are implemented for
    :func:`apsw.config`, :meth:`Connection.config` and similar.
  * Added :func:`apsw.sleep`
  * Strings for :meth:`apsw.VFS.xNextSystemCall` are interned
  * Detect unbound recursion not handled by CPython, and handle
    better.

OBS-URL: https://build.opensuse.org/request/show/1089348
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=15
2023-05-28 17:23:31 +00:00
59e68be5a2 Accepting request 1079739 from devel:languages:python
- update to 3.41.2.0:
  * Fixed :issue:`412` in :meth:`apsw.ext.make_virtual_module`.
  * Added :meth:`apsw.connections` to get all connections.
  * :func:`sys.unraisablehook` is called correctly (:issue:`410`)
  * Be stricter where :class:`bool` values are expected (eg
  * :meth:`VTTable.BestIndex`), only accepting :class:`int` and
    :class:`bool`.  Previously you could for example supply
    strings and lists, which were almost certainly unintended
    errors.

OBS-URL: https://build.opensuse.org/request/show/1079739
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=14
2023-04-16 14:07:34 +00:00
bbf96ba6d3 Accepting request 1064204 from devel:languages:python
- update to 3.40.1.0:
  * Implemented `window functions
  * Function flags can be specified to
    Connection.createscalarfunction and
    Connection.createaggregatefunction
  * Added apsw.mapping_function_flags
  * Added Connection.trace_v2` with apsw.mapping_trace_codes
    and apsw.mapping_statement_status
  * Ensure all SQLite APIs are wrapped.
  * When an unraisable exception happens, sqlite3_log is
    now called so you will have context within SQLite's actions.
  * sys.unraisablehook now called first, and if it doesn't exist then
    sys.excepthook as before.
  * When the wrong type is given for a function argument, the
    error message now includes the parameter name and function
    signature.
  * Let SQLite do size checking instead of APSW for strings and
    blobs.
  * Added :meth:`apsw.ext.log_sqlite` which installs a handler
    that forwards SQLite messages to the logging module
  * Added set_default_vfs and unregister_vfs taking vfs
    names.

OBS-URL: https://build.opensuse.org/request/show/1064204
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=13
2023-02-10 13:36:01 +00:00
e1a1f3b0a3 Accepting request 1040441 from devel:languages:python
- update to 3.40.0.0:
  * Fixed regression in statement cache update (version 3.38.1-r1) where
    trailing whitespace in queries would be incorrectly treated as
    incomplete execution (APSW issue 376)
  * Added Various interesting and useful bits of functionality (APSW issue
    369)
  * Added more Pythonic attributes as an alternative to getters and setters,
    including Connection.in_transaction, Connection.exectrace,
    Connection.rowtrace, Cursor.exectrace, Cursor.rowtrace,
    Cursor.connection (APSW issue 371)
  * Completed: To the extent permitted by CPython APIs every item has the
    same docstring as this documentation. Every API can use named
    parameters. The type stubs cover everything including constants. The
    type stubs also include documentation for everything, which for example
    Visual Studio Code displays as you type or hover. There is a single
    source of documentation in the source code, which is then automatically
    extracted to make this documentation, docstrings, and docstrings in the
    type stubs.
  * Example/Tour updated and appearance improved (APSW issue 367).
  * Added Connection.cache_stats() to provide more information about the
    statement cache.
  * Cursor.execute() now uses sqlite_prepare_v3 which allows supplying
    flags.
  * Cursor.execute() has a new can_cache parameter to control whether the
    query can use the statement cache. One example use is with authorizers
    because they only run during prepare, which doesn’t happen with already
    cached statements.
  * (The Cursor.execute() additional parameters are keyword only and also
    present in Cursor.executemany(), and the corresponding
    Connection.execute() and Connection.executemany() methods.)

OBS-URL: https://build.opensuse.org/request/show/1040441
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=12
2022-12-06 13:23:45 +00:00
28fe28f2ed Accepting request 947056 from devel:languages:python
- update to 3.37.0-r1:
  * Allow breaking of reference cycles between objects that contain a
    Connection or Cursor 
  * Fixed custom VFS extension loading failure could leave the error message
    unterminated
  * Updated size of mutex array used by the fork checker
  * Connections are opened with SQLITE_OPEN_EXRESCODE so open errors will also
    include extended result codes
  * Connection.changes() and Connection.totalchanges() use the new SQLite APIs
    that return 64 bit values
  * Added Connection.autovacuum_pages()
  * Implemented Connection.serialize() and Connection.deserialize().
  * Allow any subclass of VFS to implement WAL, not just direct subclasses

OBS-URL: https://build.opensuse.org/request/show/947056
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=11
2022-01-17 21:34:32 +00:00
c3b328dfdb Accepting request 909441 from devel:languages:python
- Update to 3.35.4-r1:
  - Updates for SQLite download url (the year is part of the urls).
  - Added enable flag for built-in SQL math functions, and enable
    it by default with –enable-all-extensions.
  - Use the newer buffer API for Python 3
    (old API removed in Python 3.10).
- Fix loadable extensions are missing, 
  so insert --enable-all-extensions and --enable=load_extension.
  See: https://rogerbinns.github.io/apsw/build.html#building

OBS-URL: https://build.opensuse.org/request/show/909441
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=10
2021-07-31 16:51:20 +00:00
940684b282 Accepting request 859232 from devel:languages:python
- udpate to 3.34.0-r1:
  * Windows MSI installer files are now provided
  * Added Connection.txn_state()
  * Added constants: SQLITE_IOERR_CORRUPTFS

OBS-URL: https://build.opensuse.org/request/show/859232
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=9
2020-12-29 14:53:47 +00:00
a37472de2e Accepting request 836079 from devel:languages:python
- Fix the source url to really match reality

- Update to 3.33.0-r1:
  * Small performance improvement in string handling
  * apsw module exposes Cursor, Blob, and Backup types (issue #273)
  * pkg-config is used to detect International Components for
    Unicode (ICU) sdk when the SQLite ICU extension is enabled. It
    falls back to icu-config as before. (issue #268).
- Update to 3.32.2-r2:
  * Added some constants
  * Minor documentation updates
- Fix source URL

OBS-URL: https://build.opensuse.org/request/show/836079
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=8
2020-09-23 16:40:28 +00:00
e79c077c75 Accepting request 781138 from devel:languages:python
- Update the sqlite dependency
- Update to 3.31.1:
  * Fix deprecated universal newline use in shell (#283)
  * Shell now uses pragma function_list to get list of functions for tab completion

OBS-URL: https://build.opensuse.org/request/show/781138
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=7
2020-03-04 08:39:46 +00:00
5864263e34 Accepting request 770089 from devel:languages:python
- update to 3.30.1-r1
- drop 0002-Skip-one-test-on-python3.8.patch
       0001-py3.8-avoid-invalid-escapes.patch
 * Updated hashing of SQL statements
 * Updated Connection.config() with all current SQLITE_DBCONFIG constants

OBS-URL: https://build.opensuse.org/request/show/770089
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=6
2020-02-05 18:41:58 +00:00
c535908a84 Accepting request 729896 from devel:languages:python
- Add more py3.8 patches:
  * 0001-py3.8-avoid-invalid-escapes.patch
  * 0002-Skip-one-test-on-python3.8.patch
- Remove patch obsoleted by above python38.patch

OBS-URL: https://build.opensuse.org/request/show/729896
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=5
2019-09-11 08:39:53 +00:00
9b9f63f561 Accepting request 713411 from devel:languages:python
- Update to 3.28.0-r1:
  * No changelog
- Add patch to build with python 3.8:
  * python38.patch

OBS-URL: https://build.opensuse.org/request/show/713411
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=4
2019-07-11 11:14:58 +00:00
5042b4fa81 Accepting request 519979 from devel:languages:python
1

OBS-URL: https://build.opensuse.org/request/show/519979
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=3
2017-09-05 13:15:09 +00:00
5 changed files with 91 additions and 4 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8640f6d4b0ab2b604bce1f6d0e380d150613e0d77b55a1dc9995fe5593f32a2
size 912632

BIN
apsw-3.46.1.0.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -0,0 +1,72 @@
From 0103ade603b321aa66e5bfc7a5a078219e888481 Mon Sep 17 00:00:00 2001
From: Roger Binns <rogerb@rogerbinns.com>
Date: Mon, 7 Oct 2024 07:13:54 -0700
Subject: [PATCH] Disable infinite recursion test in non-debug builds
You'll need a wide window to read this
This is the backtrace on Ubuntu 24.10 with Python 3.12.7 - it has occurred on versions too
Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
#0 0x00007ffff7c6c804 in __printf_buffer (buf=buf@entry=0x7fffff7ff240, format=0x71cdf5 "%zd", ap=0x7fffff7ff290, mode_flags=6) at ./stdio-common/vfprintf-internal.c:600
#1 0x00007ffff7c8dc93 in __vsprintf_internal (string=string@entry=0x7fffff7ff430 "", maxlen=maxlen@entry=26, format=<optimised out>, args=args@entry=0x7fffff7ff290, mode_flags=mode_flags@entry=6) at ./libio/iovsprintf.c:62
#2 0x00007ffff7d4228f in ___sprintf_chk (s=s@entry=0x7fffff7ff430 "", flag=flag@entry=2, slen=slen@entry=26, format=<optimised out>) at ./debug/sprintf_chk.c:40
#3 0x00000000005abf85 in sprintf (__s=<optimised out>, __fmt=<optimised out>) at /usr/include/x86_64-linux-gnu/bits/stdio2.h:30
#4 unicode_fromformat_arg (writer=0x7fffff7ff3f0, f=0x71cdf7 "d", vargs=0x7fffff7ff3d8) at ../Objects/unicodeobject.c:2740
#5 PyUnicode_FromFormatV (format=<optimised out>, vargs=vargs@entry=0x7fffff7ff4a8) at ../Objects/unicodeobject.c:2963
#6 0x00000000005b3c6f in PyUnicode_FromFormat (format=format@entry=0x71cdf5 "%zd") at ../Objects/unicodeobject.c:3011
#7 0x00000000005d7a3e in too_many_positional (co=<optimised out>, tstate=0xbae310 <_PyRuntime+458992>, given=2, defaults=<optimised out>, localsplus=0x7ffff7fb0cb0, qualname='APSW.testIssue425.<locals>.handler') at ../Python/ceval.c:1150
#8 initialize_locals (tstate=tstate@entry=0xbae310 <_PyRuntime+458992>, func=func@entry=0x7fffe9094ae0, localsplus=<optimised out>, args=<optimised out>, argcount=<optimised out>, kwnames=<optimised out>) at ../Python/ceval.c:1459
#9 0x00000000005d7642 in _PyEvalFramePushAndInit (tstate=0xbae310 <_PyRuntime+458992>, func=0x7fffe9094ae0, locals=<optimised out>, args=0x7fffff7ff708, argcount=<optimised out>, kwnames=0x0) at ../Python/ceval.c:1594
#10 _PyEval_Vector (tstate=0xbae310 <_PyRuntime+458992>, func=0x7fffe9094ae0, locals=<optimised out>, args=0x7fffff7ff708, argcount=2, kwnames=0x0) at ../Python/ceval.c:1677
#11 0x000000000054a2d5 in _PyObject_VectorcallTstate (tstate=0xbae310 <_PyRuntime+458992>, callable=<function at remote 0x7fffe9094ae0>, args=<optimised out>, nargsf=<optimised out>, kwnames=<optimised out>) at ../Include/internal/pycore_call.h:92
#12 PyObject_Vectorcall (callable=<function at remote 0x7fffe9094ae0>, args=<optimised out>, nargsf=<optimised out>, kwnames=<optimised out>) at ../Objects/call.c:325
#13 0x00007fffe96aa94c in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff7ff770 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:447
#14 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff7ff880) at sqlite3/sqlite3.c:32459
#15 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#16 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
#17 0x00007fffe96aaaf1 in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff7ffbc0 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:464
#18 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff7ffcd0) at sqlite3/sqlite3.c:32459
#19 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#20 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
#21 0x00007fffe96aaaf1 in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff800010 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:464
#22 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff800120) at sqlite3/sqlite3.c:32459
#23 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#24 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
#25 0x00007fffe96aaaf1 in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff800460 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:464
#26 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff800570) at sqlite3/sqlite3.c:32459
#27 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#28 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
#29 0x00007fffe96aaaf1 in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff8008b0 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:464
#30 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff8009c0) at sqlite3/sqlite3.c:32459
#31 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#32 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
#33 0x00007fffe96aaaf1 in apsw_logger (arg=0x7fffe9094ae0, errcode=1, message=0x7fffff800d00 "apsw_write_unraisable TypeError: APSW.testIssue425.<locals>.handler() takes 0 positional arguments but 2 were given") at src/apsw.c:464
#34 0x00007fffe945ece4 in renderLogMsg (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s", ap=0x7fffff800e10) at sqlite3/sqlite3.c:32459
#35 0x00007fffe945edfa in sqlite3_log (iErrCode=1, zFormat=0x7fffe96ce958 "apsw_write_unraisable %s: %s") at sqlite3/sqlite3.c:32470
#36 0x00007fffe95d903a in apsw_write_unraisable (hookobject=0x0) at src/util.c:174
These repeat because that is the point of the test until you get into the Python test code.
---
apsw/tests.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/apsw/tests.py b/apsw/tests.py
index a349533b..bfec8e9f 100644
--- a/apsw/tests.py
+++ b/apsw/tests.py
@@ -1188,6 +1188,14 @@ def testIssue376(self):
def testIssue425(self):
"Infinite recursion"
+ # When Python tries to output an error message after reaching
+ # the recursion limit it can segv which is nothing to do with
+ # the apsw code, and the Python code looks good to me. Debug
+ # Python builds don't have this problem. See the commit
+ # message for this change for backtrace etc.
+ if "d" not in getattr(sys, "abiflags", ""):
+ return
+
class VFSA(apsw.VFS):
def __init__(self):

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue Aug 19 11:54:17 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Add upstream patch disable-infinite-recursion-in-tests.patch
gh#rogerbinns/apsw@0103ade60
-------------------------------------------------------------------
Sat Sep 28 19:15:48 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.46.1.0:
* The shell dump command outputs the application_id in addition
to the user_version.
-------------------------------------------------------------------
Sun Jun 30 21:32:30 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -18,13 +18,15 @@
%{?sle15_python_module_pythons}
Name: python-apsw
Version: 3.46.0.1
Version: 3.46.1.0
Release: 0
Summary: Another Python SQLite Wrapper
License: Zlib
Group: Development/Libraries/Python
URL: https://github.com/rogerbinns/apsw/
Source: https://github.com/rogerbinns/apsw/archive/refs/tags/%{version}.tar.gz#/apsw-%{version}.tar.gz
# PATCH-FIX-UPSTREAM disable-infinite-recursion-in-tests.patch -- gh#rogerbinns/apsw@0103ade60
Patch0: disable-infinite-recursion-in-tests.patch
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}