#6055: refer to "sqlite3" consistently.
This commit is contained in:
parent
464432d181
commit
498a9b3491
|
@ -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,))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue