======================
TODO list for pysqlite
======================

-----------
Open items:
-----------

N/A

-------------
Closed items:
-------------

Summary:        cursor grows row factory
Priority:       low
Status:         open
Description:
    /

Summary:        Connection.cursor() grows a factory parameter
Priority:       low
Status:         done
Description:
    The cursor method of the connection object gets an optional cursor factory
    parameter for creating nonstandard cursor classes. One use-case is to
    create cursors where the returned rows are accessible by name instead of
    index.

Summary:        "autocommit" mode
Priority:       medium
Status:
Description:
    There must be a way to NOT start transactions imlicitly using DML commands.
    In this mode, there must either exist a .begin() method for connection
    objects or users call BEGIN/COMMIT/ROLLBACK directly using the .execute
    method of cursors.

Summary:        busy/timeout handling
Priority:       medium
Status:         pysqlite2 has usable timeout handling, not the same as the old one
Description:
    pysqlite2 needs similar busy/timeout handling like the old one.

Summary:        cursor_execute vs. cursor_executemany
Priority:       medium
Status:
Description:
    There is code duplication between cursor_execute and cursor_executemany.
    But worse, cursor_executemany is out of date.

Summary:        package renaming
Priority:       highest
Status:         finished 2004-11-26
Description:
    "import sqlite2" => "import pysqlite2.dbapi2 as sqlite". This involves many
    places that need changing.

Summary:        better error messages
Priority:       medium
Status:         closed
Description:
    sqlite3_errmsg() should to be used in most places where the error message
    is constant now.

Summary:        handle exceptions in type converters
Priority:       medium
Status:
Description:
    Exceptions in type converters currently lead to a segfault.

Summary:        import microprotocols from psycopg
Priority:       high
Status:         integrated, needs bugfixing and tests
Description:
    fog allowed me to reuse his microprotocols code from psycopg. He'll also
    relicense it under the zlib license so pysqlite can use it. This solves the
    conversion problem Python => SQLite

Summary:        .converters attribute of cursor
Priority:       high
Status:         open
Description:
    Type conversion SQLite => Python. If pysqlite cannot detect the type, the
    user must tell it which type it is. Also if pysqlite would guess wrong, the
    user can force a certain typecast.

Summary:        Unicode handling
Priority:       medium
Status:         open
Description:
    pysqlite2 needs to be able to use Unicode in parameters.
    This one depends on the microprotocols stuff.

Summary:        Add support for BLOB
Priority:       low
Status:         open
Description:
    Add BLOB support and make sure it works roundtrip with _bind_blob.


