Commit graph

13 commits

Author SHA1 Message Date
fhajny
bfc3d0ad61 databases/py-sqlite2: Update to 2.8.3.
Version 2.8.3
-------------

- Fixed bug where cursor.description was an emtpy tuple instead of None for
  non-SELECT statements

Version 2.8.2
-------------

- Make sure pysqlite compiles with Visual Studio, which does not support C99
- Switch to sqlite3_open_v2. The flags parameter is now exposed. You can use it
  to modify the behaviour of the opened database connection, for example
  opening a database file in read-only mode or enable URI mode.


Version 2.8.1
-------------

BUG FIXES

- Fixed multiple refcount problems.

IMPROVEMENTS

- Added versionchanged about changed transaction behaviour wrt DDL statements
  to documentation.
- I was informed by Roger Binns that FTS5 is not stable yet. The amalgamation
  is now built with FTS3 and FTS4 instead.


Version 2.8.0
-------------

NEW FEATURES

- No new features, but tons of bugfixes. These mean that things now work that
  didn't before:
- Transactional DDL now works
- You can use SAVEPOINTs now


BUILD PROCESS

- Python 2.7.x is now required. If trying to use it with Python 3, print a
  useful error message.  Integrated all fixes from the sqlite3 module in Python
  2.7.10.


MAJOR IMPROVEMENTS

- Completety got rid of statement parsing. We now use SQLite functions to
  determine if a statement modifies the database or not. If a statement
  modifies the database, then we implicitly start a transaction. For backwards
  compatibility reasons, we do NOT implicitly start a transaction if we
  encounter a DDL statement.

  You can, however, now have transactional DDL if you want to:

    cur = con.cursor()
    cur.execute("begin")
    cur.execute("create table foo(bar)")
    con.rollback()

  This also means that people can now finally use SAVEPOINTS.

- Use sqlite3_get_autocommit() to determine if we are within a transaction
  instead of trying to be smart.

- Switch to v2 statement API. This simplified the code and will increase
  stability.

MINOR IMPROVEMENTS

- You can use unicode strings as index for Row objects.


BUGFIXES

- Fixed a regression: statements should not be reset after a commit.


GENERAL CLEANUP AND DEPRECATIONS

- Since december 2005, row_factory is a feature of the Connection class
  instead of the Cursor class.
- DEPRECATE converters and adapters.
- DEPRECATE text_factory.
- Remove compatibility workarounds for old Python versions.
- Remove workarounds for old SQLite versions.
- Remove apsw related code.


Version 2.7.0
-------------

NEW FEATURES

- The limit functionality of SQLite is now wrapped.

BUILD PROCESS

- Instead of fts3, build fts5 extension when using amalgamation.
- use pkg-config for finding SQLite if available
- Removed the download/unpacking of SQLite amalgamation files.

IMPROVEMENTS

- Use toc.db file from the SQLite web site and a custom script to make sure
  that we have all integer constants mapped to Python.
- Use Travis CI
- Added Trove classifier to make sure Python 3 users do not accidentally
  try to install it.

BUGFIXES

- Fix for parsing fractional second part of timestamps.
- Fixed bug where when using converters, empty strings ended up as None
  on the Python side.
- SQLite can cope with text with embedded NUL. We can now, too.
- many others
2018-04-04 11:40:34 +00:00
obache
bdaafb17c0 python24 had been removed, no need to take care about it anymore. 2012-04-09 09:24:01 +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
obache
f90a6ecd95 conditional EGG_FILE installation, fixes for python24. 2011-09-29 08:35:18 +00:00
gdt
1da3e8fcd7 Use distutils.mk instead of extension.mk, so that egg file is installed. 2011-01-27 16:49:32 +00:00
obache
9d1522530c back conditional PLIST for python<2.5, it was lost at updated to 2.6.0. 2010-10-02 06:11:03 +00:00
adam
3d82d498eb Changes 2.6.0:
No release notes available.
2010-09-16 11:31:16 +00:00
joerg
0268c554bd Remove @dirrm entries from PLISTs 2009-06-14 17:38:38 +00:00
joerg
22ca0ff1bf Don't try to build and install the Python 2.5+ tests on 2.3 and 2.4 to
unbreak PLIST for those versions. Bump revision.
2008-09-10 10:47:31 +00:00
wiz
92208d78bf Found a new homepage, and an even newer version, including changelogs:
2.5.0:
- Windows binaries are now cross-built using mingw on Linux
- import various fixes from Python 2.6 version
- Connection has new method iterdump() that allows you to create a script file
  that can be used to clone a database
- the docs are now built using Sphinx and were imported from Python 2.6's
  sqlite3 module
- Connection.enable_load_extension(enabled) to allow/disallow extension
  loading. Allows you to use fulltext search extension, for example ;-)
- Give the remaining C functions used in multiple .c source files the pysqlite_
  prefix.
- Release GIL during sqlite3_prepare() calls for better concurrency.
- Automatically download the SQLite amalgamation when building statically.

2.4.1:
- Made unicode strings for the database parameter in connect() work again
- Removed bad defaults from setup.cfg

2.4.0:
- Implemented context managers. pysqlite's connections can now be used as
  context managers with Python 2.5 or later:

        from __future__ import with_statement
        from pysqlite2 import dbapi2 as sqlite

        con = sqlite.connect(":memory:")
        con.execute("create table person (id integer primary key, firstname varchar unique)")

        # Successful, con.commit() is called automatically afterwards
        with con:
            con.execute("insert into person(firstname) values (?)", ("Joe",))

        # con.rollback() is called after the with block finishes with an exception, the
        # exception is still raised and must be catched
        try:
            with con:
                con.execute("insert into person(firstname) values (?)", ("Joe",))
        except sqlite.IntegrityError:
            print "couldn't add Joe twice"

- pysqlite connections can now be created from APSW connections. This enables
  users to use APSW functionality in applications using the DB-API from
  pysqlite:

        from pysqlite2 import dbapi2 as sqlite
        import apsw

        apsw_con = apsw.Connection(":memory:")
        apsw_con.createscalarfunction("times_two", lambda x: 2*x, 1)

        # Create pysqlite connection from APSW connection
        con = sqlite.connect(apsw_con)
        result = con.execute("select times_two(15)").fetchone()[0]
        assert result == 30
        con.close()

  Caveat: This will only work if both pysqlite and APSW are dynamically
  linked against the same SQLite shared library. Otherwise you will
  experience a segfault.

- Fixed shuffled docstrings for fetchXXX methods.

- Workaround for SQLite 3.5.x versions which apparently return NULL for
  "no-operation" statements.

- Disable the test for rollback detection on old SQLite versions. This prevents
  test failures on systems that ship outdated SQLite libraries like MacOS X.

- Implemented set_progress_handler for progress callbacks from SQLite. This is
  particularly useful to update GUIs during long-running queries.  Thanks to
  exarkun for the original patch.
2008-09-06 16:12:44 +00:00
wiz
279a309d61 Update to 2.4.1, changes undocumented. 2008-09-06 16:03:09 +00:00
drochner
cc51ebe5ad update to 2.3.2
This is a major update (since 2.0.7), involving an API rework

add a bl3 file
2007-01-10 10:39:18 +00:00
drochner
a35e788c97 import pysqlite-2.0.7, an (incompatible) redesign of pysqlite 2006-03-14 20:17:59 +00:00