the SQLite database library possible. Everything you can do from the
SQLite C API, you can do from Python. Although APSW looks vaguely
2023-05-25 11:58:29 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.42.0.0
3.42.0.0
SQLITE_ENABLE_COLUMN_METADATA is enabled when installing APSW from PyPI (binary \
or source). (APSW issue 435)
Type stubs and typing information in the documentation use newer Python \
conventions such as | instead of Union and list instead of typing.List, being \
more concise and readable. (A recent Python is required to use them, but they \
have no effect at runtime.) (APSW issue 438)
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. Python 3.7+ \
(APSW issue 420)
Shell: if started interactively then box is the default mode (list remains the \
default in non-interactive)
Added Connection.pragma() to execute pragmas and get results. (APSW issue 432)
Added Cursor.get returning query results with the least amount of structure. \
(APSW issue 389)
Fixed execution tracers should return comment text for comment only queries, and \
add Cursor.has_vdbe. (APSW issue 433)
Ensure that all applicable options are implemented for apsw.config(), \
Connection.config() and similar. (APSW issue 431)
Added apsw.sleep() (APSW issue 419)
Strings for apsw.VFS.xNextSystemCall() are interned avoiding memory leaks. (APSW \
issue 430)
Detect unbound recursion not handled by CPython, and handle better. (APSW issue 425)
|
2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) |  |
Log message:
revbump after textproc/icu update
|
2023-03-29 15:04:34 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.41.2.0
3.41.2.0
Fixed APSW issue 412 in apsw.ext.make_virtual_module().
Added apsw.connections() to get all connections. (APSW issue 416)
sys.unraisablehook() is called correctly (APSW issue 410)
Be stricter where bool values are expected (eg VTTable.BestIndex()), only \
accepting int and bool. Previously you could for example supply strings and \
lists, which were almost certainly unintended errors.
|
2023-03-06 13:27:07 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.41.0.0
3.41.0.0
Backwards incompatible change: Bindings using a dictionary with a missing key \
now result in a KeyError exception. You can use allow_missing_dict_bindings() to \
restore the old behaviour. (APSW issue 392)
Virtual table updates:
VTTable.BestIndexObject() is now available which provides IndexInfo exposing \
full control (APSW issue 332, APSW issue 329, APSW issue 278, APSW issue 188)
IndexInfo.set_aConstraintUsage_in() can have in values passed all at once to \
VTCursor.Filter()
Exceptions in VTTable.FindFunction() are now reported as an unraisable exception \
because it isn't possible to tell SQLite about the error.
VTTable.FindFunction() can now return (int, callable) to allow for virtual table \
specific function overloads. (APSW issue 269)
Added Connection.vtab_config() and Connection.vtab_on_conflict() (APSW issue \
189, APSW issue 190)
Connection.createmodule() lets you have eponymous, eponymous_only, and read_only \
modules. (APSW issue 196)
Virtual table updates can avoid having to provide all column values when only a \
subset are changing. See apsw.no_change, Connection.createmodule() use_no_change \
parameter, VTCursor.ColumnNoChange() and VTTable.UpdateChangeRow() (APSW issue \
402)
All virtual table methods are supported - added iVersion 2 and 3. You can \
specify the iVersion in Connection.createmodule() (APSW issue 128)
apsw.ext.make_virtual_module() makes it very easy to turn a Python function into \
a virtual table module.
apsw.ext.generate_series() and apsw.ext.generate_series_sqlite() added. (APSW \
issue 380)
|
2023-01-17 11:25:51 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.40.1.0
3.40.1.0
Implemented window functions (APSW issue 292)
Function flags can be specified to Connection.createscalarfunction() and \
Connection.createaggregatefunction(). Added apsw.mapping_function_flags. (APSW \
issue 384)
Added Connection.trace_v2() with apsw.mapping_trace_codes and \
apsw.mapping_statement_status (APSW issue 383)
Ensure all SQLite APIs are wrapped. Connection.system_errno, apsw.strlike(), \
apsw.strglob(), apsw.stricmp(), apsw.strnicmp(), Connection.filename_wal, \
Connection.filename_journal, Connection.table_exists(), \
Connection.column_metadata(), Error.error_offset, Connection.cacheflush(), \
Connection.release_memory(), apsw.hard_heap_limit(). Connection.drop_modules() \
(APSW issue 382)
When an unraisable exception happens, sqlite3_log is now called so you will have \
context within SQLite’s actions. sys.unraisablehook is now called first, and \
if it doesn’t exist then sys.excepthook as before. (APSW issue 385)
When the wrong type is given for a function argument, the error message now \
includes the parameter name and function signature. (APSW issue 358)
Let SQLite do size checking instead of APSW for strings and blobs. (APSW issue 387)
Added 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. The test suite \
also unregisters ZipVFS (APSW issue 394)
|
2022-11-28 10:18:54 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
py-apsw: updated to 3.40.0.0
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).
|
2022-11-23 17:21:30 by Adam Ciarcinski | Files touched by this commit (1878) |  |
Log message:
massive revision bump after textproc/icu update
|
2022-10-10 10:06:33 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.39.4.0
3.39.4.0
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.)
Added Cursor.is_readonly, Cursor.is_explain, and Cursor.expanded_sql.
Updated processing named bindings so that types registered with \
collections.abc.Mapping (such as collections.UserDict) will also be treated as \
dictionaries. (APSW issue 373)
|