pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/databases/py-sqlite2

Module Name:    pkgsrc
Committed By:   wiz
Date:           Sat Sep  6 16:12:44 UTC 2008

Modified Files:
        pkgsrc/databases/py-sqlite2: Makefile PLIST distinfo

Log Message:
Found a new homepage, and an even newer version, including changelogs:

- 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_
- Release GIL during sqlite3_prepare() calls for better concurrency.
- Automatically download the SQLite amalgamation when building statically.

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

- 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
            with con:
                con.execute("insert into person(firstname) values (?)", 
        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

        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

  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.

To generate a diff of this commit:
cvs rdiff -r1.12 -r1.13 pkgsrc/databases/py-sqlite2/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/databases/py-sqlite2/PLIST
cvs rdiff -r1.5 -r1.6 pkgsrc/databases/py-sqlite2/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index