#6055: refer to "sqlite3" consistently.

This commit is contained in:
Georg Brandl 2009-05-20 18:31:14 +00:00
parent 464432d181
commit 498a9b3491
2 changed files with 16 additions and 13 deletions

View File

@ -13,7 +13,7 @@ cur.execute("select ?", (AUSTRIA,))
row = cur.fetchone()
assert row[0] == AUSTRIA
# but we can make pysqlite always return bytestrings ...
# but we can make sqlite3 always return bytestrings ...
con.text_factory = str
cur.execute("select ?", (AUSTRIA,))
row = cur.fetchone()
@ -26,11 +26,12 @@ assert row[0] == AUSTRIA.encode("utf-8")
# here we implement one that will ignore Unicode characters that cannot be
# decoded from UTF-8
con.text_factory = lambda x: unicode(x, "utf-8", "ignore")
cur.execute("select ?", ("this is latin1 and would normally create errors" + u"\xe4\xf6\xfc".encode("latin1"),))
cur.execute("select ?", ("this is latin1 and would normally create errors" +
u"\xe4\xf6\xfc".encode("latin1"),))
row = cur.fetchone()
assert type(row[0]) == unicode
# pysqlite offers a builtin optimized text_factory that will return bytestring
# sqlite3 offers a builtin optimized text_factory that will return bytestring
# objects, if the data is in ASCII only, and otherwise return unicode objects
con.text_factory = sqlite3.OptimizedUnicode
cur.execute("select ?", (AUSTRIA,))

View File

@ -15,7 +15,7 @@ SQLite for internal data storage. It's also possible to prototype an
application using SQLite and then port the code to a larger database such as
PostgreSQL or Oracle.
pysqlite was written by Gerhard Häring and provides a SQL interface compliant
sqlite3 was written by Gerhard Häring and provides a SQL interface compliant
with the DB-API 2.0 specification described by :pep:`249`.
To use the module, you must first create a :class:`Connection` object that
@ -52,8 +52,9 @@ is insecure; it makes your program vulnerable to an SQL injection attack.
Instead, use the DB-API's parameter substitution. Put ``?`` as a placeholder
wherever you want to use a value, and then provide a tuple of values as the
second argument to the cursor's :meth:`~Cursor.execute` method. (Other database modules
may use a different placeholder, such as ``%s`` or ``:1``.) For example::
second argument to the cursor's :meth:`~Cursor.execute` method. (Other database
modules may use a different placeholder, such as ``%s`` or ``:1``.) For
example::
# Never do this -- insecure!
symbol = 'IBM'
@ -92,11 +93,12 @@ This example uses the iterator form::
.. seealso::
http://www.pysqlite.org
The pysqlite web page.
The pysqlite web page -- sqlite3 is developed externally under the name
"pysqlite".
http://www.sqlite.org
The SQLite web page; the documentation describes the syntax and the available
data types for the supported SQL dialect.
The SQLite web page; the documentation describes the syntax and the
available data types for the supported SQL dialect.
:pep:`249` - Database API Specification 2.0
PEP written by Marc-André Lemburg.
@ -802,10 +804,10 @@ So if you are within a transaction and issue a command like ``CREATE TABLE
...``, ``VACUUM``, ``PRAGMA``, the :mod:`sqlite3` module will commit implicitly
before executing that command. There are two reasons for doing that. The first
is that some of these commands don't work within transactions. The other reason
is that pysqlite needs to keep track of the transaction state (if a transaction
is that sqlite3 needs to keep track of the transaction state (if a transaction
is active or not).
You can control which kind of ``BEGIN`` statements pysqlite implicitly executes
You can control which kind of ``BEGIN`` statements sqlite3 implicitly executes
(or none at all) via the *isolation_level* parameter to the :func:`connect`
call, or via the :attr:`isolation_level` property of connections.
@ -817,8 +819,8 @@ statement, or set it to one of SQLite's supported isolation levels: "DEFERRED",
Using pysqlite efficiently
--------------------------
Using :mod:`sqlite3` efficiently
--------------------------------
Using shortcut methods