2007-08-15 11:28:22 -03:00
|
|
|
:mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases
|
|
|
|
============================================================
|
|
|
|
|
|
|
|
.. module:: sqlite3
|
|
|
|
:synopsis: A DB-API 2.0 implementation using SQLite 3.x.
|
2012-03-01 15:18:34 -04:00
|
|
|
.. sectionauthor:: Gerhard Häring <gh@ghaering.de>
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
SQLite is a C library that provides a lightweight disk-based database that
|
|
|
|
doesn't require a separate server process and allows accessing the database
|
|
|
|
using a nonstandard variant of the SQL query language. Some applications can use
|
|
|
|
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.
|
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
The sqlite3 module was written by Gerhard Häring. It provides a SQL interface
|
|
|
|
compliant with the DB-API 2.0 specification described by :pep:`249`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
To use the module, you must first create a :class:`Connection` object that
|
|
|
|
represents the database. Here the data will be stored in the
|
2013-02-23 14:26:56 -04:00
|
|
|
:file:`example.db` file::
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-03-01 15:18:34 -04:00
|
|
|
import sqlite3
|
2013-02-23 14:26:56 -04:00
|
|
|
conn = sqlite3.connect('example.db')
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
You can also supply the special name ``:memory:`` to create a database in RAM.
|
|
|
|
|
|
|
|
Once you have a :class:`Connection`, you can create a :class:`Cursor` object
|
2008-10-10 21:49:57 -03:00
|
|
|
and call its :meth:`~Cursor.execute` method to perform SQL commands::
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
c = conn.cursor()
|
|
|
|
|
|
|
|
# Create table
|
2014-04-01 14:21:56 -03:00
|
|
|
c.execute('''CREATE TABLE stocks
|
|
|
|
(date text, trans text, symbol text, qty real, price real)''')
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
# Insert a row of data
|
2014-04-01 14:21:56 -03:00
|
|
|
c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
# Save (commit) the changes
|
|
|
|
conn.commit()
|
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
# We can also close the connection if we are done with it.
|
|
|
|
# Just be sure any changes have been committed or they will be lost.
|
|
|
|
conn.close()
|
|
|
|
|
|
|
|
The data you've saved is persistent and is available in subsequent sessions::
|
|
|
|
|
|
|
|
import sqlite3
|
|
|
|
conn = sqlite3.connect('example.db')
|
|
|
|
c = conn.cursor()
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Usually your SQL operations will need to use values from Python variables. You
|
|
|
|
shouldn't assemble your query using Python's string operations because doing so
|
2014-04-01 14:21:56 -03:00
|
|
|
is insecure; it makes your program vulnerable to an SQL injection attack
|
2016-05-07 04:49:07 -03:00
|
|
|
(see https://xkcd.com/327/ for humorous example of what can go wrong).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
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
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
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::
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
# Never do this -- insecure!
|
2014-04-01 14:21:56 -03:00
|
|
|
symbol = 'RHAT'
|
|
|
|
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
# Do this instead
|
2014-04-01 14:21:56 -03:00
|
|
|
t = ('RHAT',)
|
|
|
|
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
|
|
|
|
print(c.fetchone())
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
# Larger example that inserts many records at a time
|
|
|
|
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
|
|
|
|
('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
|
|
|
|
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
|
|
|
|
]
|
|
|
|
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
#1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/.
Merged revisions 58221-58741 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r58221 | georg.brandl | 2007-09-20 10:57:59 -0700 (Thu, 20 Sep 2007) | 2 lines
Patch #1181: add os.environ.clear() method.
........
r58225 | sean.reifschneider | 2007-09-20 23:33:28 -0700 (Thu, 20 Sep 2007) | 3 lines
Issue1704287: "make install" fails unless you do "make" first. Make
oldsharedmods and sharedmods in "libinstall".
........
r58232 | guido.van.rossum | 2007-09-22 13:18:03 -0700 (Sat, 22 Sep 2007) | 4 lines
Patch # 188 by Philip Jenvey.
Make tell() mark CRLF as a newline.
With unit test.
........
r58242 | georg.brandl | 2007-09-24 10:55:47 -0700 (Mon, 24 Sep 2007) | 2 lines
Fix typo and double word.
........
r58245 | georg.brandl | 2007-09-24 10:59:28 -0700 (Mon, 24 Sep 2007) | 2 lines
#1196: document default radix for int().
........
r58247 | georg.brandl | 2007-09-24 11:08:24 -0700 (Mon, 24 Sep 2007) | 2 lines
#1177: accept 2xx responses for https too, not only http.
........
r58249 | andrew.kuchling | 2007-09-24 16:45:51 -0700 (Mon, 24 Sep 2007) | 1 line
Remove stray odd character; grammar fix
........
r58250 | andrew.kuchling | 2007-09-24 16:46:28 -0700 (Mon, 24 Sep 2007) | 1 line
Typo fix
........
r58251 | andrew.kuchling | 2007-09-24 17:09:42 -0700 (Mon, 24 Sep 2007) | 1 line
Add various items
........
r58268 | vinay.sajip | 2007-09-26 22:34:45 -0700 (Wed, 26 Sep 2007) | 1 line
Change to flush and close logic to fix #1760556.
........
r58269 | vinay.sajip | 2007-09-26 22:38:51 -0700 (Wed, 26 Sep 2007) | 1 line
Change to basicConfig() to fix #1021.
........
r58270 | georg.brandl | 2007-09-26 23:26:58 -0700 (Wed, 26 Sep 2007) | 2 lines
#1208: document match object's boolean value.
........
r58271 | vinay.sajip | 2007-09-26 23:56:13 -0700 (Wed, 26 Sep 2007) | 1 line
Minor date change.
........
r58272 | vinay.sajip | 2007-09-27 00:35:10 -0700 (Thu, 27 Sep 2007) | 1 line
Change to LogRecord.__init__() to fix #1206. Note that archaic use of type(x) == types.DictType is because of keeping 1.5.2 compatibility. While this is much less relevant these days, there probably needs to be a separate commit for removing all archaic constructs at the same time.
........
r58288 | brett.cannon | 2007-09-30 12:45:10 -0700 (Sun, 30 Sep 2007) | 9 lines
tuple.__repr__ did not consider a reference loop as it is not possible from
Python code; but it is possible from C. object.__str__ had the issue of not
expecting a type to doing something within it's tp_str implementation that
could trigger an infinite recursion, but it could in C code.. Both found
thanks to BaseException and how it handles its repr.
Closes issue #1686386. Thanks to Thomas Herve for taking an initial stab at
coming up with a solution.
........
r58289 | brett.cannon | 2007-09-30 13:37:19 -0700 (Sun, 30 Sep 2007) | 3 lines
Fix error introduced by r58288; if a tuple is length 0 return its repr and
don't worry about any self-referring tuples.
........
r58294 | facundo.batista | 2007-10-02 10:01:24 -0700 (Tue, 02 Oct 2007) | 11 lines
Made the various is_* operations return booleans. This was discussed
with Cawlishaw by mail, and he basically confirmed that to these is_*
operations, there's no need to return Decimal(0) and Decimal(1) if
the language supports the False and True booleans.
Also added a few tests for the these functions in extra.decTest, since
they are mostly untested (apart from the doctests).
Thanks Mark Dickinson
........
r58295 | facundo.batista | 2007-10-02 11:21:18 -0700 (Tue, 02 Oct 2007) | 4 lines
Added a class to store the digits of log(10), so that they can be made
available when necessary without recomputing. Thanks Mark Dickinson
........
r58299 | mark.summerfield | 2007-10-03 01:53:21 -0700 (Wed, 03 Oct 2007) | 4 lines
Added note in footnote about string comparisons about
unicodedata.normalize().
........
r58304 | raymond.hettinger | 2007-10-03 14:18:11 -0700 (Wed, 03 Oct 2007) | 1 line
enumerate() is no longer bounded to using sequences shorter than LONG_MAX. The possibility of overflow was sending some newsgroup posters into a tizzy.
........
r58305 | raymond.hettinger | 2007-10-03 17:20:27 -0700 (Wed, 03 Oct 2007) | 1 line
itertools.count() no longer limited to sys.maxint.
........
r58306 | kurt.kaiser | 2007-10-03 18:49:54 -0700 (Wed, 03 Oct 2007) | 3 lines
Assume that the user knows when he wants to end the line; don't insert
something he didn't select or complete.
........
r58307 | kurt.kaiser | 2007-10-03 19:07:50 -0700 (Wed, 03 Oct 2007) | 2 lines
Remove unused theme that was causing a fault in p3k.
........
r58308 | kurt.kaiser | 2007-10-03 19:09:17 -0700 (Wed, 03 Oct 2007) | 2 lines
Clean up EditorWindow close.
........
r58309 | kurt.kaiser | 2007-10-03 19:53:07 -0700 (Wed, 03 Oct 2007) | 7 lines
textView cleanup. Patch 1718043 Tal Einat.
M idlelib/EditorWindow.py
M idlelib/aboutDialog.py
M idlelib/textView.py
M idlelib/NEWS.txt
........
r58310 | kurt.kaiser | 2007-10-03 20:11:12 -0700 (Wed, 03 Oct 2007) | 3 lines
configDialog cleanup. Patch 1730217 Tal Einat.
........
r58311 | neal.norwitz | 2007-10-03 23:00:48 -0700 (Wed, 03 Oct 2007) | 4 lines
Coverity #151: Remove deadcode.
All this code already exists above starting at line 653.
........
r58325 | fred.drake | 2007-10-04 19:46:12 -0700 (Thu, 04 Oct 2007) | 1 line
wrap lines to <80 characters before fixing errors
........
r58326 | raymond.hettinger | 2007-10-04 19:47:07 -0700 (Thu, 04 Oct 2007) | 6 lines
Add __asdict__() to NamedTuple and refine the docs.
Add maxlen support to deque() and fixup docs.
Partially fix __reduce__(). The None as a third arg was no longer supported.
Still needs work on __reduce__() to handle recursive inputs.
........
r58327 | fred.drake | 2007-10-04 19:48:32 -0700 (Thu, 04 Oct 2007) | 3 lines
move descriptions of ac_(in|out)_buffer_size to the right place
http://bugs.python.org/issue1053
........
r58329 | neal.norwitz | 2007-10-04 20:39:17 -0700 (Thu, 04 Oct 2007) | 3 lines
dict could be NULL, so we need to XDECREF.
Fix a compiler warning about passing a PyTypeObject* instead of PyObject*.
........
r58330 | neal.norwitz | 2007-10-04 20:41:19 -0700 (Thu, 04 Oct 2007) | 2 lines
Fix Coverity #158: Check the correct variable.
........
r58332 | neal.norwitz | 2007-10-04 22:01:38 -0700 (Thu, 04 Oct 2007) | 7 lines
Fix Coverity #159.
This code was broken if save() returned a negative number since i contained
a boolean value and then we compared i < 0 which should never be true.
Will backport (assuming it's necessary)
........
r58334 | neal.norwitz | 2007-10-04 22:29:17 -0700 (Thu, 04 Oct 2007) | 1 line
Add a note about fixing some more warnings found by Coverity.
........
r58338 | raymond.hettinger | 2007-10-05 12:07:31 -0700 (Fri, 05 Oct 2007) | 1 line
Restore BEGIN/END THREADS macros which were squashed in the previous checkin
........
r58343 | gregory.p.smith | 2007-10-06 00:48:10 -0700 (Sat, 06 Oct 2007) | 3 lines
Stab in the dark attempt to fix the test_bsddb3 failure on sparc and S-390
ubuntu buildbots.
........
r58344 | gregory.p.smith | 2007-10-06 00:51:59 -0700 (Sat, 06 Oct 2007) | 2 lines
Allows BerkeleyDB 4.6.x >= 4.6.21 for the bsddb module.
........
r58348 | gregory.p.smith | 2007-10-06 08:47:37 -0700 (Sat, 06 Oct 2007) | 3 lines
Use the host the author likely meant in the first place. pop.gmail.com is
reliable. gmail.org is someones personal domain.
........
r58351 | neal.norwitz | 2007-10-06 12:16:28 -0700 (Sat, 06 Oct 2007) | 3 lines
Ensure that this test will pass even if another test left an unwritable TESTFN.
Also use the safe unlink in test_support instead of rolling our own here.
........
r58368 | georg.brandl | 2007-10-08 00:50:24 -0700 (Mon, 08 Oct 2007) | 3 lines
#1123: fix the docs for the str.split(None, sep) case.
Also expand a few other methods' docs, which had more info in the deprecated string module docs.
........
r58369 | georg.brandl | 2007-10-08 01:06:05 -0700 (Mon, 08 Oct 2007) | 2 lines
Update docstring of sched, also remove an unused assignment.
........
r58370 | raymond.hettinger | 2007-10-08 02:14:28 -0700 (Mon, 08 Oct 2007) | 5 lines
Add comments to NamedTuple code.
Let the field spec be either a string or a non-string sequence (suggested by Martin Blais with use cases).
Improve the error message in the case of a SyntaxError (caused by a duplicate field name).
........
r58371 | raymond.hettinger | 2007-10-08 02:56:29 -0700 (Mon, 08 Oct 2007) | 1 line
Missed a line in the docs
........
r58372 | raymond.hettinger | 2007-10-08 03:11:51 -0700 (Mon, 08 Oct 2007) | 1 line
Better variable names
........
r58376 | georg.brandl | 2007-10-08 07:12:47 -0700 (Mon, 08 Oct 2007) | 3 lines
#1199: docs for tp_as_{number,sequence,mapping}, by Amaury Forgeot d'Arc.
No need to merge this to py3k!
........
r58380 | raymond.hettinger | 2007-10-08 14:26:58 -0700 (Mon, 08 Oct 2007) | 1 line
Eliminate camelcase function name
........
r58381 | andrew.kuchling | 2007-10-08 16:23:03 -0700 (Mon, 08 Oct 2007) | 1 line
Eliminate camelcase function name
........
r58382 | raymond.hettinger | 2007-10-08 18:36:23 -0700 (Mon, 08 Oct 2007) | 1 line
Make the error messages more specific
........
r58384 | gregory.p.smith | 2007-10-08 23:02:21 -0700 (Mon, 08 Oct 2007) | 10 lines
Splits Modules/_bsddb.c up into bsddb.h and _bsddb.c and adds a C API
object available as bsddb.db.api. This is based on the patch submitted
by Duncan Grisby here:
http://sourceforge.net/tracker/index.php?func=detail&aid=1551895&group_id=13900&atid=313900
See this thread for additional info:
http://sourceforge.net/mailarchive/forum.php?thread_name=E1GAVDK-0002rk-Iw%40apasphere.com&forum_name=pybsddb-users
It also cleans up the code a little by removing some ifdef/endifs for
python prior to 2.1 and for unsupported Berkeley DB <= 3.2.
........
r58385 | gregory.p.smith | 2007-10-08 23:50:43 -0700 (Mon, 08 Oct 2007) | 5 lines
Fix a double free when positioning a database cursor to a non-existant
string key (and probably a few other situations with string keys).
This was reported with a patch as pybsddb sourceforge bug 1708868 by
jjjhhhlll at gmail.
........
r58386 | gregory.p.smith | 2007-10-09 00:19:11 -0700 (Tue, 09 Oct 2007) | 3 lines
Use the highest cPickle protocol in bsddb.dbshelve. This comes from
sourceforge pybsddb patch 1551443 by w_barnes.
........
r58394 | gregory.p.smith | 2007-10-09 11:26:02 -0700 (Tue, 09 Oct 2007) | 2 lines
remove another sleepycat reference
........
r58396 | kurt.kaiser | 2007-10-09 12:31:30 -0700 (Tue, 09 Oct 2007) | 3 lines
Allow interrupt only when executing user code in subprocess
Patch 1225 Tal Einat modified from IDLE-Spoon.
........
r58399 | brett.cannon | 2007-10-09 17:07:50 -0700 (Tue, 09 Oct 2007) | 5 lines
Remove file-level typedefs that were inconsistently used throughout the file.
Just move over to the public API names.
Closes issue1238.
........
r58401 | raymond.hettinger | 2007-10-09 17:26:46 -0700 (Tue, 09 Oct 2007) | 1 line
Accept Jim Jewett's api suggestion to use None instead of -1 to indicate unbounded deques.
........
r58403 | kurt.kaiser | 2007-10-09 17:55:40 -0700 (Tue, 09 Oct 2007) | 2 lines
Allow cursor color change w/o restart. Patch 1725576 Tal Einat.
........
r58404 | kurt.kaiser | 2007-10-09 18:06:47 -0700 (Tue, 09 Oct 2007) | 2 lines
show paste if > 80 columns. Patch 1659326 Tal Einat.
........
r58415 | thomas.heller | 2007-10-11 12:51:32 -0700 (Thu, 11 Oct 2007) | 5 lines
On OS X, use os.uname() instead of gestalt.sysv(...) to get the
operating system version. This allows to use ctypes when Python
was configured with --disable-toolbox-glue.
........
r58419 | neal.norwitz | 2007-10-11 20:01:01 -0700 (Thu, 11 Oct 2007) | 1 line
Get rid of warning about not being able to create an existing directory.
........
r58420 | neal.norwitz | 2007-10-11 20:01:30 -0700 (Thu, 11 Oct 2007) | 1 line
Get rid of warnings on a bunch of platforms by using a proper prototype.
........
r58421 | neal.norwitz | 2007-10-11 20:01:54 -0700 (Thu, 11 Oct 2007) | 4 lines
Get rid of compiler warning about retval being used (returned) without
being initialized. (gcc warning and Coverity 202)
........
r58422 | neal.norwitz | 2007-10-11 20:03:23 -0700 (Thu, 11 Oct 2007) | 1 line
Fix Coverity 168: Close the file before returning (exiting).
........
r58423 | neal.norwitz | 2007-10-11 20:04:18 -0700 (Thu, 11 Oct 2007) | 4 lines
Fix Coverity 180: Don't overallocate. We don't need structs, but pointers.
Also fix a memory leak.
........
r58424 | neal.norwitz | 2007-10-11 20:05:19 -0700 (Thu, 11 Oct 2007) | 5 lines
Fix Coverity 185-186: If the passed in FILE is NULL, uninitialized memory
would be accessed.
Will backport.
........
r58425 | neal.norwitz | 2007-10-11 20:52:34 -0700 (Thu, 11 Oct 2007) | 1 line
Get this module to compile with bsddb versions prior to 4.3
........
r58430 | martin.v.loewis | 2007-10-12 01:56:52 -0700 (Fri, 12 Oct 2007) | 3 lines
Bug #1216: Restore support for Visual Studio 2002.
Will backport to 2.5.
........
r58433 | raymond.hettinger | 2007-10-12 10:53:11 -0700 (Fri, 12 Oct 2007) | 1 line
Fix test of count.__repr__() to ignore the 'L' if the count is a long
........
r58434 | gregory.p.smith | 2007-10-12 11:44:06 -0700 (Fri, 12 Oct 2007) | 4 lines
Fixes http://bugs.python.org/issue1233 - bsddb.dbshelve.DBShelf.append
was useless due to inverted logic. Also adds a test case for RECNO dbs
to test_dbshelve.
........
r58445 | georg.brandl | 2007-10-13 06:20:03 -0700 (Sat, 13 Oct 2007) | 2 lines
Fix email example.
........
r58450 | gregory.p.smith | 2007-10-13 16:02:05 -0700 (Sat, 13 Oct 2007) | 2 lines
Fix an uncollectable reference leak in bsddb.db.DBShelf.append
........
r58453 | neal.norwitz | 2007-10-13 17:18:40 -0700 (Sat, 13 Oct 2007) | 8 lines
Let the O/S supply a port if none of the default ports can be used.
This should make the tests more robust at the expense of allowing
tests to be sloppier by not requiring them to cleanup after themselves.
(It will legitamitely help when running two test suites simultaneously
or if another process is already using one of the predefined ports.)
Also simplifies (slightLy) the exception handling elsewhere.
........
r58459 | neal.norwitz | 2007-10-14 11:30:21 -0700 (Sun, 14 Oct 2007) | 2 lines
Don't raise a string exception, they don't work anymore.
........
r58460 | neal.norwitz | 2007-10-14 11:40:37 -0700 (Sun, 14 Oct 2007) | 1 line
Use unittest for assertions
........
r58468 | armin.rigo | 2007-10-15 00:48:35 -0700 (Mon, 15 Oct 2007) | 2 lines
test_bigbits was not testing what it seemed to.
........
r58471 | guido.van.rossum | 2007-10-15 08:54:11 -0700 (Mon, 15 Oct 2007) | 3 lines
Change a PyErr_Print() into a PyErr_Clear(),
per discussion in issue 1031213.
........
r58500 | raymond.hettinger | 2007-10-16 12:18:30 -0700 (Tue, 16 Oct 2007) | 1 line
Improve error messages
........
r58506 | raymond.hettinger | 2007-10-16 14:28:32 -0700 (Tue, 16 Oct 2007) | 1 line
More docs, error messages, and tests
........
r58507 | andrew.kuchling | 2007-10-16 15:58:03 -0700 (Tue, 16 Oct 2007) | 1 line
Add items
........
r58508 | brett.cannon | 2007-10-16 16:24:06 -0700 (Tue, 16 Oct 2007) | 3 lines
Remove ``:const:`` notation on None in parameter list. Since the markup is not
rendered for parameters it just showed up as ``:const:`None` `` in the output.
........
r58509 | brett.cannon | 2007-10-16 16:26:45 -0700 (Tue, 16 Oct 2007) | 3 lines
Re-order some functions whose parameters differ between PyObject and const char
* so that they are next to each other.
........
r58522 | armin.rigo | 2007-10-17 11:46:37 -0700 (Wed, 17 Oct 2007) | 5 lines
Fix the overflow checking of list_repeat.
Introduce overflow checking into list_inplace_repeat.
Backport candidate, possibly.
........
r58530 | facundo.batista | 2007-10-17 20:16:03 -0700 (Wed, 17 Oct 2007) | 7 lines
Issue #1580738. When HTTPConnection reads the whole stream with read(),
it closes itself. When the stream is read in several calls to read(n),
it should behave in the same way if HTTPConnection knows where the end
of the stream is (through self.length). Added a test case for this
behaviour.
........
r58531 | facundo.batista | 2007-10-17 20:44:48 -0700 (Wed, 17 Oct 2007) | 3 lines
Issue 1289, just a typo.
........
r58532 | gregory.p.smith | 2007-10-18 00:56:54 -0700 (Thu, 18 Oct 2007) | 4 lines
cleanup test_dbtables to use mkdtemp. cleanup dbtables to pass txn as a
keyword argument whenever possible to avoid bugs and confusion. (dbtables.py
line 447 self.db.get using txn as a non-keyword was an actual bug due to this)
........
r58533 | gregory.p.smith | 2007-10-18 01:34:20 -0700 (Thu, 18 Oct 2007) | 4 lines
Fix a weird bug in dbtables: if it chose a random rowid string that contained
NULL bytes it would cause the database all sorts of problems in the future
leading to very strange random failures and corrupt dbtables.bsdTableDb dbs.
........
r58534 | gregory.p.smith | 2007-10-18 09:32:02 -0700 (Thu, 18 Oct 2007) | 3 lines
A cleaner fix than the one committed last night. Generate random rowids that
do not contain null bytes.
........
r58537 | gregory.p.smith | 2007-10-18 10:17:57 -0700 (Thu, 18 Oct 2007) | 2 lines
mention bsddb fixes.
........
r58538 | raymond.hettinger | 2007-10-18 14:13:06 -0700 (Thu, 18 Oct 2007) | 1 line
Remove useless warning
........
r58539 | gregory.p.smith | 2007-10-19 00:31:20 -0700 (Fri, 19 Oct 2007) | 2 lines
squelch the warning that this test is supposed to trigger.
........
r58542 | georg.brandl | 2007-10-19 05:32:39 -0700 (Fri, 19 Oct 2007) | 2 lines
Clarify wording for apply().
........
r58544 | mark.summerfield | 2007-10-19 05:48:17 -0700 (Fri, 19 Oct 2007) | 3 lines
Added a cross-ref to each other.
........
r58545 | georg.brandl | 2007-10-19 10:38:49 -0700 (Fri, 19 Oct 2007) | 2 lines
#1284: "S" means "seen", not unread.
........
r58548 | thomas.heller | 2007-10-19 11:11:41 -0700 (Fri, 19 Oct 2007) | 4 lines
Fix ctypes on 32-bit systems when Python is configured --with-system-ffi.
See also https://bugs.launchpad.net/bugs/72505.
Ported from release25-maint branch.
........
r58550 | facundo.batista | 2007-10-19 12:25:57 -0700 (Fri, 19 Oct 2007) | 8 lines
The constructor from tuple was way too permissive: it allowed bad
coefficient numbers, floats in the sign, and other details that
generated directly the wrong number in the best case, or triggered
misfunctionality in the alorithms.
Test cases added for these issues. Thanks Mark Dickinson.
........
r58559 | georg.brandl | 2007-10-20 06:22:53 -0700 (Sat, 20 Oct 2007) | 2 lines
Fix code being interpreted as a target.
........
r58561 | georg.brandl | 2007-10-20 06:36:24 -0700 (Sat, 20 Oct 2007) | 2 lines
Document new "cmdoption" directive.
........
r58562 | georg.brandl | 2007-10-20 08:21:22 -0700 (Sat, 20 Oct 2007) | 2 lines
Make a path more Unix-standardy.
........
r58564 | georg.brandl | 2007-10-20 10:51:39 -0700 (Sat, 20 Oct 2007) | 2 lines
Document new directive "envvar".
........
r58567 | georg.brandl | 2007-10-20 11:08:14 -0700 (Sat, 20 Oct 2007) | 6 lines
* Add new toplevel chapter, "Using Python." (how to install,
configure and setup python on different platforms -- at least
in theory.)
* Move the Python on Mac docs in that chapter.
* Add a new chapter about the command line invocation, by stargaming.
........
r58568 | georg.brandl | 2007-10-20 11:33:20 -0700 (Sat, 20 Oct 2007) | 2 lines
Change title, for now.
........
r58569 | georg.brandl | 2007-10-20 11:39:25 -0700 (Sat, 20 Oct 2007) | 2 lines
Add entry to ACKS.
........
r58570 | georg.brandl | 2007-10-20 12:05:45 -0700 (Sat, 20 Oct 2007) | 2 lines
Clarify -E docs.
........
r58571 | georg.brandl | 2007-10-20 12:08:36 -0700 (Sat, 20 Oct 2007) | 2 lines
Even more clarification.
........
r58572 | andrew.kuchling | 2007-10-20 12:25:37 -0700 (Sat, 20 Oct 2007) | 1 line
Fix protocol name
........
r58573 | andrew.kuchling | 2007-10-20 12:35:18 -0700 (Sat, 20 Oct 2007) | 1 line
Various items
........
r58574 | andrew.kuchling | 2007-10-20 12:39:35 -0700 (Sat, 20 Oct 2007) | 1 line
Use correct header line
........
r58576 | armin.rigo | 2007-10-21 02:14:15 -0700 (Sun, 21 Oct 2007) | 3 lines
Add a crasher for the long-standing issue with closing a file
while another thread uses it.
........
r58577 | georg.brandl | 2007-10-21 03:01:56 -0700 (Sun, 21 Oct 2007) | 2 lines
Remove duplicate crasher.
........
r58578 | georg.brandl | 2007-10-21 03:24:20 -0700 (Sun, 21 Oct 2007) | 2 lines
Unify "byte code" to "bytecode". Also sprinkle :term: markup for it.
........
r58579 | georg.brandl | 2007-10-21 03:32:54 -0700 (Sun, 21 Oct 2007) | 2 lines
Add markup to new function descriptions.
........
r58580 | georg.brandl | 2007-10-21 03:45:46 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for descriptors.
........
r58581 | georg.brandl | 2007-10-21 03:46:24 -0700 (Sun, 21 Oct 2007) | 2 lines
Unify "file-descriptor" to "file descriptor".
........
r58582 | georg.brandl | 2007-10-21 03:52:38 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term: for generators.
........
r58583 | georg.brandl | 2007-10-21 05:10:28 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for iterator.
........
r58584 | georg.brandl | 2007-10-21 05:15:05 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for "new-style class".
........
r58588 | neal.norwitz | 2007-10-21 21:47:54 -0700 (Sun, 21 Oct 2007) | 1 line
Add Chris Monson so he can edit PEPs.
........
r58594 | guido.van.rossum | 2007-10-22 09:27:19 -0700 (Mon, 22 Oct 2007) | 4 lines
Issue #1307, patch by Derek Shockey.
When "MAIL" is received without args, an exception happens instead of
sending a 501 syntax error response.
........
r58598 | travis.oliphant | 2007-10-22 19:40:56 -0700 (Mon, 22 Oct 2007) | 1 line
Add phuang patch from Issue 708374 which adds offset parameter to mmap module.
........
r58601 | neal.norwitz | 2007-10-22 22:44:27 -0700 (Mon, 22 Oct 2007) | 2 lines
Bug #1313, fix typo (wrong variable name) in example.
........
r58609 | georg.brandl | 2007-10-23 11:21:35 -0700 (Tue, 23 Oct 2007) | 2 lines
Update Pygments version from externals.
........
r58618 | guido.van.rossum | 2007-10-23 12:25:41 -0700 (Tue, 23 Oct 2007) | 3 lines
Issue 1307 by Derek Shockey, fox the same bug for RCPT.
Neal: please backport!
........
r58620 | raymond.hettinger | 2007-10-23 13:37:41 -0700 (Tue, 23 Oct 2007) | 1 line
Shorter name for namedtuple()
........
r58621 | andrew.kuchling | 2007-10-23 13:55:47 -0700 (Tue, 23 Oct 2007) | 1 line
Update name
........
r58622 | raymond.hettinger | 2007-10-23 14:23:07 -0700 (Tue, 23 Oct 2007) | 1 line
Fixup news entry
........
r58623 | raymond.hettinger | 2007-10-23 18:28:33 -0700 (Tue, 23 Oct 2007) | 1 line
Optimize sum() for integer and float inputs.
........
r58624 | raymond.hettinger | 2007-10-23 19:05:51 -0700 (Tue, 23 Oct 2007) | 1 line
Fixup error return and add support for intermixed ints and floats/
........
r58628 | vinay.sajip | 2007-10-24 03:47:06 -0700 (Wed, 24 Oct 2007) | 1 line
Bug #1321: Fixed logic error in TimedRotatingFileHandler.__init__()
........
r58641 | facundo.batista | 2007-10-24 12:11:08 -0700 (Wed, 24 Oct 2007) | 4 lines
Issue 1290. CharacterData.__repr__ was constructing a string
in response that keeped having a non-ascii character.
........
r58643 | thomas.heller | 2007-10-24 12:50:45 -0700 (Wed, 24 Oct 2007) | 1 line
Added unittest for calling a function with paramflags (backport from py3k branch).
........
r58645 | matthias.klose | 2007-10-24 13:00:44 -0700 (Wed, 24 Oct 2007) | 2 lines
- Build using system ffi library on arm*-linux*.
........
r58651 | georg.brandl | 2007-10-24 14:40:38 -0700 (Wed, 24 Oct 2007) | 2 lines
Bug #1287: make os.environ.pop() work as expected.
........
r58652 | raymond.hettinger | 2007-10-24 19:26:58 -0700 (Wed, 24 Oct 2007) | 1 line
Missing DECREFs
........
r58653 | matthias.klose | 2007-10-24 23:37:24 -0700 (Wed, 24 Oct 2007) | 2 lines
- Build using system ffi library on arm*-linux*, pass --with-system-ffi to CONFIG_ARGS
........
r58655 | thomas.heller | 2007-10-25 12:47:32 -0700 (Thu, 25 Oct 2007) | 2 lines
ffi_type_longdouble may be already #defined.
See issue 1324.
........
r58656 | kurt.kaiser | 2007-10-25 15:43:45 -0700 (Thu, 25 Oct 2007) | 3 lines
Correct an ancient bug in an unused path by removing that path: register() is
now idempotent.
........
r58660 | kurt.kaiser | 2007-10-25 17:10:09 -0700 (Thu, 25 Oct 2007) | 4 lines
1. Add comments to provide top-level documentation.
2. Refactor to use more descriptive names.
3. Enhance tests in main().
........
r58675 | georg.brandl | 2007-10-26 11:30:41 -0700 (Fri, 26 Oct 2007) | 2 lines
Fix new pop() method on os.environ on ignorecase-platforms.
........
r58696 | neal.norwitz | 2007-10-27 15:32:21 -0700 (Sat, 27 Oct 2007) | 1 line
Update URL for Pygments. 0.8.1 is no longer available
........
r58697 | hyeshik.chang | 2007-10-28 04:19:02 -0700 (Sun, 28 Oct 2007) | 3 lines
- Add support for FreeBSD 8 which is recently forked from FreeBSD 7.
- Regenerate IN module for most recent maintenance tree of FreeBSD 6 and 7.
........
r58698 | hyeshik.chang | 2007-10-28 05:38:09 -0700 (Sun, 28 Oct 2007) | 2 lines
Enable platform-specific tweaks for FreeBSD 8 (exactly same to FreeBSD 7's yet)
........
r58700 | kurt.kaiser | 2007-10-28 12:03:59 -0700 (Sun, 28 Oct 2007) | 2 lines
Add confirmation dialog before printing. Patch 1717170 Tal Einat.
........
r58706 | guido.van.rossum | 2007-10-29 13:52:45 -0700 (Mon, 29 Oct 2007) | 3 lines
Patch 1353 by Jacob Winther.
Add mp4 mapping to mimetypes.py.
........
r58709 | guido.van.rossum | 2007-10-29 15:15:05 -0700 (Mon, 29 Oct 2007) | 6 lines
Backport fixes for the code that decodes octal escapes (and for PyString
also hex escapes) -- this was reaching beyond the end of the input string
buffer, even though it is not supposed to be \0-terminated.
This has no visible effect but is clearly the correct thing to do.
(In 3.0 it had a visible effect after removing ob_sstate from PyString.)
........
r58710 | kurt.kaiser | 2007-10-29 19:38:54 -0700 (Mon, 29 Oct 2007) | 7 lines
check in Tal Einat's update to tabpage.py
Patch 1612746
M configDialog.py
M NEWS.txt
AM tabbedpages.py
........
r58715 | georg.brandl | 2007-10-30 10:51:18 -0700 (Tue, 30 Oct 2007) | 2 lines
Use correct markup.
........
r58716 | georg.brandl | 2007-10-30 10:57:12 -0700 (Tue, 30 Oct 2007) | 2 lines
Make example about hiding None return values at the prompt clearer.
........
r58728 | neal.norwitz | 2007-10-30 23:33:20 -0700 (Tue, 30 Oct 2007) | 1 line
Fix some compiler warnings for signed comparisons on Unix and Windows.
........
r58731 | martin.v.loewis | 2007-10-31 10:19:33 -0700 (Wed, 31 Oct 2007) | 2 lines
Adding Christian Heimes.
........
r58737 | raymond.hettinger | 2007-10-31 14:57:58 -0700 (Wed, 31 Oct 2007) | 1 line
Clarify the reasons why pickle is almost always better than marshal
........
r58739 | raymond.hettinger | 2007-10-31 15:15:49 -0700 (Wed, 31 Oct 2007) | 1 line
Sets are marshalable.
........
2007-11-01 17:32:30 -03:00
|
|
|
To retrieve data after executing a SELECT statement, you can either treat the
|
2008-10-10 21:49:57 -03:00
|
|
|
cursor as an :term:`iterator`, call the cursor's :meth:`~Cursor.fetchone` method to
|
|
|
|
retrieve a single matching row, or call :meth:`~Cursor.fetchall` to get a list of the
|
#1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/.
Merged revisions 58221-58741 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r58221 | georg.brandl | 2007-09-20 10:57:59 -0700 (Thu, 20 Sep 2007) | 2 lines
Patch #1181: add os.environ.clear() method.
........
r58225 | sean.reifschneider | 2007-09-20 23:33:28 -0700 (Thu, 20 Sep 2007) | 3 lines
Issue1704287: "make install" fails unless you do "make" first. Make
oldsharedmods and sharedmods in "libinstall".
........
r58232 | guido.van.rossum | 2007-09-22 13:18:03 -0700 (Sat, 22 Sep 2007) | 4 lines
Patch # 188 by Philip Jenvey.
Make tell() mark CRLF as a newline.
With unit test.
........
r58242 | georg.brandl | 2007-09-24 10:55:47 -0700 (Mon, 24 Sep 2007) | 2 lines
Fix typo and double word.
........
r58245 | georg.brandl | 2007-09-24 10:59:28 -0700 (Mon, 24 Sep 2007) | 2 lines
#1196: document default radix for int().
........
r58247 | georg.brandl | 2007-09-24 11:08:24 -0700 (Mon, 24 Sep 2007) | 2 lines
#1177: accept 2xx responses for https too, not only http.
........
r58249 | andrew.kuchling | 2007-09-24 16:45:51 -0700 (Mon, 24 Sep 2007) | 1 line
Remove stray odd character; grammar fix
........
r58250 | andrew.kuchling | 2007-09-24 16:46:28 -0700 (Mon, 24 Sep 2007) | 1 line
Typo fix
........
r58251 | andrew.kuchling | 2007-09-24 17:09:42 -0700 (Mon, 24 Sep 2007) | 1 line
Add various items
........
r58268 | vinay.sajip | 2007-09-26 22:34:45 -0700 (Wed, 26 Sep 2007) | 1 line
Change to flush and close logic to fix #1760556.
........
r58269 | vinay.sajip | 2007-09-26 22:38:51 -0700 (Wed, 26 Sep 2007) | 1 line
Change to basicConfig() to fix #1021.
........
r58270 | georg.brandl | 2007-09-26 23:26:58 -0700 (Wed, 26 Sep 2007) | 2 lines
#1208: document match object's boolean value.
........
r58271 | vinay.sajip | 2007-09-26 23:56:13 -0700 (Wed, 26 Sep 2007) | 1 line
Minor date change.
........
r58272 | vinay.sajip | 2007-09-27 00:35:10 -0700 (Thu, 27 Sep 2007) | 1 line
Change to LogRecord.__init__() to fix #1206. Note that archaic use of type(x) == types.DictType is because of keeping 1.5.2 compatibility. While this is much less relevant these days, there probably needs to be a separate commit for removing all archaic constructs at the same time.
........
r58288 | brett.cannon | 2007-09-30 12:45:10 -0700 (Sun, 30 Sep 2007) | 9 lines
tuple.__repr__ did not consider a reference loop as it is not possible from
Python code; but it is possible from C. object.__str__ had the issue of not
expecting a type to doing something within it's tp_str implementation that
could trigger an infinite recursion, but it could in C code.. Both found
thanks to BaseException and how it handles its repr.
Closes issue #1686386. Thanks to Thomas Herve for taking an initial stab at
coming up with a solution.
........
r58289 | brett.cannon | 2007-09-30 13:37:19 -0700 (Sun, 30 Sep 2007) | 3 lines
Fix error introduced by r58288; if a tuple is length 0 return its repr and
don't worry about any self-referring tuples.
........
r58294 | facundo.batista | 2007-10-02 10:01:24 -0700 (Tue, 02 Oct 2007) | 11 lines
Made the various is_* operations return booleans. This was discussed
with Cawlishaw by mail, and he basically confirmed that to these is_*
operations, there's no need to return Decimal(0) and Decimal(1) if
the language supports the False and True booleans.
Also added a few tests for the these functions in extra.decTest, since
they are mostly untested (apart from the doctests).
Thanks Mark Dickinson
........
r58295 | facundo.batista | 2007-10-02 11:21:18 -0700 (Tue, 02 Oct 2007) | 4 lines
Added a class to store the digits of log(10), so that they can be made
available when necessary without recomputing. Thanks Mark Dickinson
........
r58299 | mark.summerfield | 2007-10-03 01:53:21 -0700 (Wed, 03 Oct 2007) | 4 lines
Added note in footnote about string comparisons about
unicodedata.normalize().
........
r58304 | raymond.hettinger | 2007-10-03 14:18:11 -0700 (Wed, 03 Oct 2007) | 1 line
enumerate() is no longer bounded to using sequences shorter than LONG_MAX. The possibility of overflow was sending some newsgroup posters into a tizzy.
........
r58305 | raymond.hettinger | 2007-10-03 17:20:27 -0700 (Wed, 03 Oct 2007) | 1 line
itertools.count() no longer limited to sys.maxint.
........
r58306 | kurt.kaiser | 2007-10-03 18:49:54 -0700 (Wed, 03 Oct 2007) | 3 lines
Assume that the user knows when he wants to end the line; don't insert
something he didn't select or complete.
........
r58307 | kurt.kaiser | 2007-10-03 19:07:50 -0700 (Wed, 03 Oct 2007) | 2 lines
Remove unused theme that was causing a fault in p3k.
........
r58308 | kurt.kaiser | 2007-10-03 19:09:17 -0700 (Wed, 03 Oct 2007) | 2 lines
Clean up EditorWindow close.
........
r58309 | kurt.kaiser | 2007-10-03 19:53:07 -0700 (Wed, 03 Oct 2007) | 7 lines
textView cleanup. Patch 1718043 Tal Einat.
M idlelib/EditorWindow.py
M idlelib/aboutDialog.py
M idlelib/textView.py
M idlelib/NEWS.txt
........
r58310 | kurt.kaiser | 2007-10-03 20:11:12 -0700 (Wed, 03 Oct 2007) | 3 lines
configDialog cleanup. Patch 1730217 Tal Einat.
........
r58311 | neal.norwitz | 2007-10-03 23:00:48 -0700 (Wed, 03 Oct 2007) | 4 lines
Coverity #151: Remove deadcode.
All this code already exists above starting at line 653.
........
r58325 | fred.drake | 2007-10-04 19:46:12 -0700 (Thu, 04 Oct 2007) | 1 line
wrap lines to <80 characters before fixing errors
........
r58326 | raymond.hettinger | 2007-10-04 19:47:07 -0700 (Thu, 04 Oct 2007) | 6 lines
Add __asdict__() to NamedTuple and refine the docs.
Add maxlen support to deque() and fixup docs.
Partially fix __reduce__(). The None as a third arg was no longer supported.
Still needs work on __reduce__() to handle recursive inputs.
........
r58327 | fred.drake | 2007-10-04 19:48:32 -0700 (Thu, 04 Oct 2007) | 3 lines
move descriptions of ac_(in|out)_buffer_size to the right place
http://bugs.python.org/issue1053
........
r58329 | neal.norwitz | 2007-10-04 20:39:17 -0700 (Thu, 04 Oct 2007) | 3 lines
dict could be NULL, so we need to XDECREF.
Fix a compiler warning about passing a PyTypeObject* instead of PyObject*.
........
r58330 | neal.norwitz | 2007-10-04 20:41:19 -0700 (Thu, 04 Oct 2007) | 2 lines
Fix Coverity #158: Check the correct variable.
........
r58332 | neal.norwitz | 2007-10-04 22:01:38 -0700 (Thu, 04 Oct 2007) | 7 lines
Fix Coverity #159.
This code was broken if save() returned a negative number since i contained
a boolean value and then we compared i < 0 which should never be true.
Will backport (assuming it's necessary)
........
r58334 | neal.norwitz | 2007-10-04 22:29:17 -0700 (Thu, 04 Oct 2007) | 1 line
Add a note about fixing some more warnings found by Coverity.
........
r58338 | raymond.hettinger | 2007-10-05 12:07:31 -0700 (Fri, 05 Oct 2007) | 1 line
Restore BEGIN/END THREADS macros which were squashed in the previous checkin
........
r58343 | gregory.p.smith | 2007-10-06 00:48:10 -0700 (Sat, 06 Oct 2007) | 3 lines
Stab in the dark attempt to fix the test_bsddb3 failure on sparc and S-390
ubuntu buildbots.
........
r58344 | gregory.p.smith | 2007-10-06 00:51:59 -0700 (Sat, 06 Oct 2007) | 2 lines
Allows BerkeleyDB 4.6.x >= 4.6.21 for the bsddb module.
........
r58348 | gregory.p.smith | 2007-10-06 08:47:37 -0700 (Sat, 06 Oct 2007) | 3 lines
Use the host the author likely meant in the first place. pop.gmail.com is
reliable. gmail.org is someones personal domain.
........
r58351 | neal.norwitz | 2007-10-06 12:16:28 -0700 (Sat, 06 Oct 2007) | 3 lines
Ensure that this test will pass even if another test left an unwritable TESTFN.
Also use the safe unlink in test_support instead of rolling our own here.
........
r58368 | georg.brandl | 2007-10-08 00:50:24 -0700 (Mon, 08 Oct 2007) | 3 lines
#1123: fix the docs for the str.split(None, sep) case.
Also expand a few other methods' docs, which had more info in the deprecated string module docs.
........
r58369 | georg.brandl | 2007-10-08 01:06:05 -0700 (Mon, 08 Oct 2007) | 2 lines
Update docstring of sched, also remove an unused assignment.
........
r58370 | raymond.hettinger | 2007-10-08 02:14:28 -0700 (Mon, 08 Oct 2007) | 5 lines
Add comments to NamedTuple code.
Let the field spec be either a string or a non-string sequence (suggested by Martin Blais with use cases).
Improve the error message in the case of a SyntaxError (caused by a duplicate field name).
........
r58371 | raymond.hettinger | 2007-10-08 02:56:29 -0700 (Mon, 08 Oct 2007) | 1 line
Missed a line in the docs
........
r58372 | raymond.hettinger | 2007-10-08 03:11:51 -0700 (Mon, 08 Oct 2007) | 1 line
Better variable names
........
r58376 | georg.brandl | 2007-10-08 07:12:47 -0700 (Mon, 08 Oct 2007) | 3 lines
#1199: docs for tp_as_{number,sequence,mapping}, by Amaury Forgeot d'Arc.
No need to merge this to py3k!
........
r58380 | raymond.hettinger | 2007-10-08 14:26:58 -0700 (Mon, 08 Oct 2007) | 1 line
Eliminate camelcase function name
........
r58381 | andrew.kuchling | 2007-10-08 16:23:03 -0700 (Mon, 08 Oct 2007) | 1 line
Eliminate camelcase function name
........
r58382 | raymond.hettinger | 2007-10-08 18:36:23 -0700 (Mon, 08 Oct 2007) | 1 line
Make the error messages more specific
........
r58384 | gregory.p.smith | 2007-10-08 23:02:21 -0700 (Mon, 08 Oct 2007) | 10 lines
Splits Modules/_bsddb.c up into bsddb.h and _bsddb.c and adds a C API
object available as bsddb.db.api. This is based on the patch submitted
by Duncan Grisby here:
http://sourceforge.net/tracker/index.php?func=detail&aid=1551895&group_id=13900&atid=313900
See this thread for additional info:
http://sourceforge.net/mailarchive/forum.php?thread_name=E1GAVDK-0002rk-Iw%40apasphere.com&forum_name=pybsddb-users
It also cleans up the code a little by removing some ifdef/endifs for
python prior to 2.1 and for unsupported Berkeley DB <= 3.2.
........
r58385 | gregory.p.smith | 2007-10-08 23:50:43 -0700 (Mon, 08 Oct 2007) | 5 lines
Fix a double free when positioning a database cursor to a non-existant
string key (and probably a few other situations with string keys).
This was reported with a patch as pybsddb sourceforge bug 1708868 by
jjjhhhlll at gmail.
........
r58386 | gregory.p.smith | 2007-10-09 00:19:11 -0700 (Tue, 09 Oct 2007) | 3 lines
Use the highest cPickle protocol in bsddb.dbshelve. This comes from
sourceforge pybsddb patch 1551443 by w_barnes.
........
r58394 | gregory.p.smith | 2007-10-09 11:26:02 -0700 (Tue, 09 Oct 2007) | 2 lines
remove another sleepycat reference
........
r58396 | kurt.kaiser | 2007-10-09 12:31:30 -0700 (Tue, 09 Oct 2007) | 3 lines
Allow interrupt only when executing user code in subprocess
Patch 1225 Tal Einat modified from IDLE-Spoon.
........
r58399 | brett.cannon | 2007-10-09 17:07:50 -0700 (Tue, 09 Oct 2007) | 5 lines
Remove file-level typedefs that were inconsistently used throughout the file.
Just move over to the public API names.
Closes issue1238.
........
r58401 | raymond.hettinger | 2007-10-09 17:26:46 -0700 (Tue, 09 Oct 2007) | 1 line
Accept Jim Jewett's api suggestion to use None instead of -1 to indicate unbounded deques.
........
r58403 | kurt.kaiser | 2007-10-09 17:55:40 -0700 (Tue, 09 Oct 2007) | 2 lines
Allow cursor color change w/o restart. Patch 1725576 Tal Einat.
........
r58404 | kurt.kaiser | 2007-10-09 18:06:47 -0700 (Tue, 09 Oct 2007) | 2 lines
show paste if > 80 columns. Patch 1659326 Tal Einat.
........
r58415 | thomas.heller | 2007-10-11 12:51:32 -0700 (Thu, 11 Oct 2007) | 5 lines
On OS X, use os.uname() instead of gestalt.sysv(...) to get the
operating system version. This allows to use ctypes when Python
was configured with --disable-toolbox-glue.
........
r58419 | neal.norwitz | 2007-10-11 20:01:01 -0700 (Thu, 11 Oct 2007) | 1 line
Get rid of warning about not being able to create an existing directory.
........
r58420 | neal.norwitz | 2007-10-11 20:01:30 -0700 (Thu, 11 Oct 2007) | 1 line
Get rid of warnings on a bunch of platforms by using a proper prototype.
........
r58421 | neal.norwitz | 2007-10-11 20:01:54 -0700 (Thu, 11 Oct 2007) | 4 lines
Get rid of compiler warning about retval being used (returned) without
being initialized. (gcc warning and Coverity 202)
........
r58422 | neal.norwitz | 2007-10-11 20:03:23 -0700 (Thu, 11 Oct 2007) | 1 line
Fix Coverity 168: Close the file before returning (exiting).
........
r58423 | neal.norwitz | 2007-10-11 20:04:18 -0700 (Thu, 11 Oct 2007) | 4 lines
Fix Coverity 180: Don't overallocate. We don't need structs, but pointers.
Also fix a memory leak.
........
r58424 | neal.norwitz | 2007-10-11 20:05:19 -0700 (Thu, 11 Oct 2007) | 5 lines
Fix Coverity 185-186: If the passed in FILE is NULL, uninitialized memory
would be accessed.
Will backport.
........
r58425 | neal.norwitz | 2007-10-11 20:52:34 -0700 (Thu, 11 Oct 2007) | 1 line
Get this module to compile with bsddb versions prior to 4.3
........
r58430 | martin.v.loewis | 2007-10-12 01:56:52 -0700 (Fri, 12 Oct 2007) | 3 lines
Bug #1216: Restore support for Visual Studio 2002.
Will backport to 2.5.
........
r58433 | raymond.hettinger | 2007-10-12 10:53:11 -0700 (Fri, 12 Oct 2007) | 1 line
Fix test of count.__repr__() to ignore the 'L' if the count is a long
........
r58434 | gregory.p.smith | 2007-10-12 11:44:06 -0700 (Fri, 12 Oct 2007) | 4 lines
Fixes http://bugs.python.org/issue1233 - bsddb.dbshelve.DBShelf.append
was useless due to inverted logic. Also adds a test case for RECNO dbs
to test_dbshelve.
........
r58445 | georg.brandl | 2007-10-13 06:20:03 -0700 (Sat, 13 Oct 2007) | 2 lines
Fix email example.
........
r58450 | gregory.p.smith | 2007-10-13 16:02:05 -0700 (Sat, 13 Oct 2007) | 2 lines
Fix an uncollectable reference leak in bsddb.db.DBShelf.append
........
r58453 | neal.norwitz | 2007-10-13 17:18:40 -0700 (Sat, 13 Oct 2007) | 8 lines
Let the O/S supply a port if none of the default ports can be used.
This should make the tests more robust at the expense of allowing
tests to be sloppier by not requiring them to cleanup after themselves.
(It will legitamitely help when running two test suites simultaneously
or if another process is already using one of the predefined ports.)
Also simplifies (slightLy) the exception handling elsewhere.
........
r58459 | neal.norwitz | 2007-10-14 11:30:21 -0700 (Sun, 14 Oct 2007) | 2 lines
Don't raise a string exception, they don't work anymore.
........
r58460 | neal.norwitz | 2007-10-14 11:40:37 -0700 (Sun, 14 Oct 2007) | 1 line
Use unittest for assertions
........
r58468 | armin.rigo | 2007-10-15 00:48:35 -0700 (Mon, 15 Oct 2007) | 2 lines
test_bigbits was not testing what it seemed to.
........
r58471 | guido.van.rossum | 2007-10-15 08:54:11 -0700 (Mon, 15 Oct 2007) | 3 lines
Change a PyErr_Print() into a PyErr_Clear(),
per discussion in issue 1031213.
........
r58500 | raymond.hettinger | 2007-10-16 12:18:30 -0700 (Tue, 16 Oct 2007) | 1 line
Improve error messages
........
r58506 | raymond.hettinger | 2007-10-16 14:28:32 -0700 (Tue, 16 Oct 2007) | 1 line
More docs, error messages, and tests
........
r58507 | andrew.kuchling | 2007-10-16 15:58:03 -0700 (Tue, 16 Oct 2007) | 1 line
Add items
........
r58508 | brett.cannon | 2007-10-16 16:24:06 -0700 (Tue, 16 Oct 2007) | 3 lines
Remove ``:const:`` notation on None in parameter list. Since the markup is not
rendered for parameters it just showed up as ``:const:`None` `` in the output.
........
r58509 | brett.cannon | 2007-10-16 16:26:45 -0700 (Tue, 16 Oct 2007) | 3 lines
Re-order some functions whose parameters differ between PyObject and const char
* so that they are next to each other.
........
r58522 | armin.rigo | 2007-10-17 11:46:37 -0700 (Wed, 17 Oct 2007) | 5 lines
Fix the overflow checking of list_repeat.
Introduce overflow checking into list_inplace_repeat.
Backport candidate, possibly.
........
r58530 | facundo.batista | 2007-10-17 20:16:03 -0700 (Wed, 17 Oct 2007) | 7 lines
Issue #1580738. When HTTPConnection reads the whole stream with read(),
it closes itself. When the stream is read in several calls to read(n),
it should behave in the same way if HTTPConnection knows where the end
of the stream is (through self.length). Added a test case for this
behaviour.
........
r58531 | facundo.batista | 2007-10-17 20:44:48 -0700 (Wed, 17 Oct 2007) | 3 lines
Issue 1289, just a typo.
........
r58532 | gregory.p.smith | 2007-10-18 00:56:54 -0700 (Thu, 18 Oct 2007) | 4 lines
cleanup test_dbtables to use mkdtemp. cleanup dbtables to pass txn as a
keyword argument whenever possible to avoid bugs and confusion. (dbtables.py
line 447 self.db.get using txn as a non-keyword was an actual bug due to this)
........
r58533 | gregory.p.smith | 2007-10-18 01:34:20 -0700 (Thu, 18 Oct 2007) | 4 lines
Fix a weird bug in dbtables: if it chose a random rowid string that contained
NULL bytes it would cause the database all sorts of problems in the future
leading to very strange random failures and corrupt dbtables.bsdTableDb dbs.
........
r58534 | gregory.p.smith | 2007-10-18 09:32:02 -0700 (Thu, 18 Oct 2007) | 3 lines
A cleaner fix than the one committed last night. Generate random rowids that
do not contain null bytes.
........
r58537 | gregory.p.smith | 2007-10-18 10:17:57 -0700 (Thu, 18 Oct 2007) | 2 lines
mention bsddb fixes.
........
r58538 | raymond.hettinger | 2007-10-18 14:13:06 -0700 (Thu, 18 Oct 2007) | 1 line
Remove useless warning
........
r58539 | gregory.p.smith | 2007-10-19 00:31:20 -0700 (Fri, 19 Oct 2007) | 2 lines
squelch the warning that this test is supposed to trigger.
........
r58542 | georg.brandl | 2007-10-19 05:32:39 -0700 (Fri, 19 Oct 2007) | 2 lines
Clarify wording for apply().
........
r58544 | mark.summerfield | 2007-10-19 05:48:17 -0700 (Fri, 19 Oct 2007) | 3 lines
Added a cross-ref to each other.
........
r58545 | georg.brandl | 2007-10-19 10:38:49 -0700 (Fri, 19 Oct 2007) | 2 lines
#1284: "S" means "seen", not unread.
........
r58548 | thomas.heller | 2007-10-19 11:11:41 -0700 (Fri, 19 Oct 2007) | 4 lines
Fix ctypes on 32-bit systems when Python is configured --with-system-ffi.
See also https://bugs.launchpad.net/bugs/72505.
Ported from release25-maint branch.
........
r58550 | facundo.batista | 2007-10-19 12:25:57 -0700 (Fri, 19 Oct 2007) | 8 lines
The constructor from tuple was way too permissive: it allowed bad
coefficient numbers, floats in the sign, and other details that
generated directly the wrong number in the best case, or triggered
misfunctionality in the alorithms.
Test cases added for these issues. Thanks Mark Dickinson.
........
r58559 | georg.brandl | 2007-10-20 06:22:53 -0700 (Sat, 20 Oct 2007) | 2 lines
Fix code being interpreted as a target.
........
r58561 | georg.brandl | 2007-10-20 06:36:24 -0700 (Sat, 20 Oct 2007) | 2 lines
Document new "cmdoption" directive.
........
r58562 | georg.brandl | 2007-10-20 08:21:22 -0700 (Sat, 20 Oct 2007) | 2 lines
Make a path more Unix-standardy.
........
r58564 | georg.brandl | 2007-10-20 10:51:39 -0700 (Sat, 20 Oct 2007) | 2 lines
Document new directive "envvar".
........
r58567 | georg.brandl | 2007-10-20 11:08:14 -0700 (Sat, 20 Oct 2007) | 6 lines
* Add new toplevel chapter, "Using Python." (how to install,
configure and setup python on different platforms -- at least
in theory.)
* Move the Python on Mac docs in that chapter.
* Add a new chapter about the command line invocation, by stargaming.
........
r58568 | georg.brandl | 2007-10-20 11:33:20 -0700 (Sat, 20 Oct 2007) | 2 lines
Change title, for now.
........
r58569 | georg.brandl | 2007-10-20 11:39:25 -0700 (Sat, 20 Oct 2007) | 2 lines
Add entry to ACKS.
........
r58570 | georg.brandl | 2007-10-20 12:05:45 -0700 (Sat, 20 Oct 2007) | 2 lines
Clarify -E docs.
........
r58571 | georg.brandl | 2007-10-20 12:08:36 -0700 (Sat, 20 Oct 2007) | 2 lines
Even more clarification.
........
r58572 | andrew.kuchling | 2007-10-20 12:25:37 -0700 (Sat, 20 Oct 2007) | 1 line
Fix protocol name
........
r58573 | andrew.kuchling | 2007-10-20 12:35:18 -0700 (Sat, 20 Oct 2007) | 1 line
Various items
........
r58574 | andrew.kuchling | 2007-10-20 12:39:35 -0700 (Sat, 20 Oct 2007) | 1 line
Use correct header line
........
r58576 | armin.rigo | 2007-10-21 02:14:15 -0700 (Sun, 21 Oct 2007) | 3 lines
Add a crasher for the long-standing issue with closing a file
while another thread uses it.
........
r58577 | georg.brandl | 2007-10-21 03:01:56 -0700 (Sun, 21 Oct 2007) | 2 lines
Remove duplicate crasher.
........
r58578 | georg.brandl | 2007-10-21 03:24:20 -0700 (Sun, 21 Oct 2007) | 2 lines
Unify "byte code" to "bytecode". Also sprinkle :term: markup for it.
........
r58579 | georg.brandl | 2007-10-21 03:32:54 -0700 (Sun, 21 Oct 2007) | 2 lines
Add markup to new function descriptions.
........
r58580 | georg.brandl | 2007-10-21 03:45:46 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for descriptors.
........
r58581 | georg.brandl | 2007-10-21 03:46:24 -0700 (Sun, 21 Oct 2007) | 2 lines
Unify "file-descriptor" to "file descriptor".
........
r58582 | georg.brandl | 2007-10-21 03:52:38 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term: for generators.
........
r58583 | georg.brandl | 2007-10-21 05:10:28 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for iterator.
........
r58584 | georg.brandl | 2007-10-21 05:15:05 -0700 (Sun, 21 Oct 2007) | 2 lines
Add :term:s for "new-style class".
........
r58588 | neal.norwitz | 2007-10-21 21:47:54 -0700 (Sun, 21 Oct 2007) | 1 line
Add Chris Monson so he can edit PEPs.
........
r58594 | guido.van.rossum | 2007-10-22 09:27:19 -0700 (Mon, 22 Oct 2007) | 4 lines
Issue #1307, patch by Derek Shockey.
When "MAIL" is received without args, an exception happens instead of
sending a 501 syntax error response.
........
r58598 | travis.oliphant | 2007-10-22 19:40:56 -0700 (Mon, 22 Oct 2007) | 1 line
Add phuang patch from Issue 708374 which adds offset parameter to mmap module.
........
r58601 | neal.norwitz | 2007-10-22 22:44:27 -0700 (Mon, 22 Oct 2007) | 2 lines
Bug #1313, fix typo (wrong variable name) in example.
........
r58609 | georg.brandl | 2007-10-23 11:21:35 -0700 (Tue, 23 Oct 2007) | 2 lines
Update Pygments version from externals.
........
r58618 | guido.van.rossum | 2007-10-23 12:25:41 -0700 (Tue, 23 Oct 2007) | 3 lines
Issue 1307 by Derek Shockey, fox the same bug for RCPT.
Neal: please backport!
........
r58620 | raymond.hettinger | 2007-10-23 13:37:41 -0700 (Tue, 23 Oct 2007) | 1 line
Shorter name for namedtuple()
........
r58621 | andrew.kuchling | 2007-10-23 13:55:47 -0700 (Tue, 23 Oct 2007) | 1 line
Update name
........
r58622 | raymond.hettinger | 2007-10-23 14:23:07 -0700 (Tue, 23 Oct 2007) | 1 line
Fixup news entry
........
r58623 | raymond.hettinger | 2007-10-23 18:28:33 -0700 (Tue, 23 Oct 2007) | 1 line
Optimize sum() for integer and float inputs.
........
r58624 | raymond.hettinger | 2007-10-23 19:05:51 -0700 (Tue, 23 Oct 2007) | 1 line
Fixup error return and add support for intermixed ints and floats/
........
r58628 | vinay.sajip | 2007-10-24 03:47:06 -0700 (Wed, 24 Oct 2007) | 1 line
Bug #1321: Fixed logic error in TimedRotatingFileHandler.__init__()
........
r58641 | facundo.batista | 2007-10-24 12:11:08 -0700 (Wed, 24 Oct 2007) | 4 lines
Issue 1290. CharacterData.__repr__ was constructing a string
in response that keeped having a non-ascii character.
........
r58643 | thomas.heller | 2007-10-24 12:50:45 -0700 (Wed, 24 Oct 2007) | 1 line
Added unittest for calling a function with paramflags (backport from py3k branch).
........
r58645 | matthias.klose | 2007-10-24 13:00:44 -0700 (Wed, 24 Oct 2007) | 2 lines
- Build using system ffi library on arm*-linux*.
........
r58651 | georg.brandl | 2007-10-24 14:40:38 -0700 (Wed, 24 Oct 2007) | 2 lines
Bug #1287: make os.environ.pop() work as expected.
........
r58652 | raymond.hettinger | 2007-10-24 19:26:58 -0700 (Wed, 24 Oct 2007) | 1 line
Missing DECREFs
........
r58653 | matthias.klose | 2007-10-24 23:37:24 -0700 (Wed, 24 Oct 2007) | 2 lines
- Build using system ffi library on arm*-linux*, pass --with-system-ffi to CONFIG_ARGS
........
r58655 | thomas.heller | 2007-10-25 12:47:32 -0700 (Thu, 25 Oct 2007) | 2 lines
ffi_type_longdouble may be already #defined.
See issue 1324.
........
r58656 | kurt.kaiser | 2007-10-25 15:43:45 -0700 (Thu, 25 Oct 2007) | 3 lines
Correct an ancient bug in an unused path by removing that path: register() is
now idempotent.
........
r58660 | kurt.kaiser | 2007-10-25 17:10:09 -0700 (Thu, 25 Oct 2007) | 4 lines
1. Add comments to provide top-level documentation.
2. Refactor to use more descriptive names.
3. Enhance tests in main().
........
r58675 | georg.brandl | 2007-10-26 11:30:41 -0700 (Fri, 26 Oct 2007) | 2 lines
Fix new pop() method on os.environ on ignorecase-platforms.
........
r58696 | neal.norwitz | 2007-10-27 15:32:21 -0700 (Sat, 27 Oct 2007) | 1 line
Update URL for Pygments. 0.8.1 is no longer available
........
r58697 | hyeshik.chang | 2007-10-28 04:19:02 -0700 (Sun, 28 Oct 2007) | 3 lines
- Add support for FreeBSD 8 which is recently forked from FreeBSD 7.
- Regenerate IN module for most recent maintenance tree of FreeBSD 6 and 7.
........
r58698 | hyeshik.chang | 2007-10-28 05:38:09 -0700 (Sun, 28 Oct 2007) | 2 lines
Enable platform-specific tweaks for FreeBSD 8 (exactly same to FreeBSD 7's yet)
........
r58700 | kurt.kaiser | 2007-10-28 12:03:59 -0700 (Sun, 28 Oct 2007) | 2 lines
Add confirmation dialog before printing. Patch 1717170 Tal Einat.
........
r58706 | guido.van.rossum | 2007-10-29 13:52:45 -0700 (Mon, 29 Oct 2007) | 3 lines
Patch 1353 by Jacob Winther.
Add mp4 mapping to mimetypes.py.
........
r58709 | guido.van.rossum | 2007-10-29 15:15:05 -0700 (Mon, 29 Oct 2007) | 6 lines
Backport fixes for the code that decodes octal escapes (and for PyString
also hex escapes) -- this was reaching beyond the end of the input string
buffer, even though it is not supposed to be \0-terminated.
This has no visible effect but is clearly the correct thing to do.
(In 3.0 it had a visible effect after removing ob_sstate from PyString.)
........
r58710 | kurt.kaiser | 2007-10-29 19:38:54 -0700 (Mon, 29 Oct 2007) | 7 lines
check in Tal Einat's update to tabpage.py
Patch 1612746
M configDialog.py
M NEWS.txt
AM tabbedpages.py
........
r58715 | georg.brandl | 2007-10-30 10:51:18 -0700 (Tue, 30 Oct 2007) | 2 lines
Use correct markup.
........
r58716 | georg.brandl | 2007-10-30 10:57:12 -0700 (Tue, 30 Oct 2007) | 2 lines
Make example about hiding None return values at the prompt clearer.
........
r58728 | neal.norwitz | 2007-10-30 23:33:20 -0700 (Tue, 30 Oct 2007) | 1 line
Fix some compiler warnings for signed comparisons on Unix and Windows.
........
r58731 | martin.v.loewis | 2007-10-31 10:19:33 -0700 (Wed, 31 Oct 2007) | 2 lines
Adding Christian Heimes.
........
r58737 | raymond.hettinger | 2007-10-31 14:57:58 -0700 (Wed, 31 Oct 2007) | 1 line
Clarify the reasons why pickle is almost always better than marshal
........
r58739 | raymond.hettinger | 2007-10-31 15:15:49 -0700 (Wed, 31 Oct 2007) | 1 line
Sets are marshalable.
........
2007-11-01 17:32:30 -03:00
|
|
|
matching rows.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
This example uses the iterator form::
|
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
>>> for row in c.execute('SELECT * FROM stocks ORDER BY price'):
|
|
|
|
print(row)
|
|
|
|
|
2009-09-13 02:49:25 -03:00
|
|
|
('2006-01-05', 'BUY', 'RHAT', 100, 35.14)
|
|
|
|
('2006-03-28', 'BUY', 'IBM', 1000, 45.0)
|
|
|
|
('2006-04-06', 'SELL', 'IBM', 500, 53.0)
|
2014-04-01 14:21:56 -03:00
|
|
|
('2006-04-05', 'BUY', 'MSFT', 1000, 72.0)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
2014-01-16 10:52:38 -04:00
|
|
|
https://github.com/ghaering/pysqlite
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
The pysqlite web page -- sqlite3 is developed externally under the name
|
|
|
|
"pysqlite".
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2016-05-07 04:49:07 -03:00
|
|
|
https://www.sqlite.org
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
The SQLite web page; the documentation describes the syntax and the
|
|
|
|
available data types for the supported SQL dialect.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
http://www.w3schools.com/sql/
|
|
|
|
Tutorial, reference and examples for learning SQL syntax.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
:pep:`249` - Database API Specification 2.0
|
|
|
|
PEP written by Marc-André Lemburg.
|
|
|
|
|
|
|
|
|
|
|
|
.. _sqlite3-module-contents:
|
|
|
|
|
|
|
|
Module functions and constants
|
|
|
|
------------------------------
|
|
|
|
|
|
|
|
|
2013-01-10 21:18:21 -04:00
|
|
|
.. data:: version
|
|
|
|
|
|
|
|
The version number of this module, as a string. This is not the version of
|
|
|
|
the SQLite library.
|
|
|
|
|
|
|
|
|
|
|
|
.. data:: version_info
|
|
|
|
|
|
|
|
The version number of this module, as a tuple of integers. This is not the
|
|
|
|
version of the SQLite library.
|
|
|
|
|
|
|
|
|
|
|
|
.. data:: sqlite_version
|
|
|
|
|
|
|
|
The version number of the run-time SQLite library, as a string.
|
|
|
|
|
|
|
|
|
|
|
|
.. data:: sqlite_version_info
|
|
|
|
|
|
|
|
The version number of the run-time SQLite library, as a tuple of integers.
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. data:: PARSE_DECLTYPES
|
|
|
|
|
|
|
|
This constant is meant to be used with the *detect_types* parameter of the
|
|
|
|
:func:`connect` function.
|
|
|
|
|
|
|
|
Setting it makes the :mod:`sqlite3` module parse the declared type for each
|
Merged revisions 62425-62429,62434-62436,62441,62444,62446-62448,62450-62455,62463,62465-62466,62469,62474,62476-62478,62480,62485,62492,62497-62498,62500,62507,62513-62514,62516,62521,62531,62535,62545-62546,62548-62551,62553-62559,62569,62574,62577,62593,62595,62604-62606,62608,62616,62626-62627,62636,62638,62644-62645,62647-62648,62651-62653,62656,62661,62663,62680,62686-62687,62696,62699-62703,62711 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
................
r62425 | andrew.kuchling | 2008-04-21 03:45:57 +0200 (Mon, 21 Apr 2008) | 1 line
Comment typo
................
r62426 | mark.dickinson | 2008-04-21 03:55:50 +0200 (Mon, 21 Apr 2008) | 2 lines
Silence 'r may be used uninitialized' compiler warning.
................
r62427 | andrew.kuchling | 2008-04-21 04:08:00 +0200 (Mon, 21 Apr 2008) | 1 line
Markup fix
................
r62428 | andrew.kuchling | 2008-04-21 04:08:13 +0200 (Mon, 21 Apr 2008) | 1 line
Wording changes
................
r62429 | andrew.kuchling | 2008-04-21 04:14:24 +0200 (Mon, 21 Apr 2008) | 1 line
Add various items
................
r62434 | thomas.heller | 2008-04-21 15:46:55 +0200 (Mon, 21 Apr 2008) | 1 line
Fix typo.
................
r62435 | david.goodger | 2008-04-21 16:40:22 +0200 (Mon, 21 Apr 2008) | 1 line
corrections ("reStructuredText" is one word)
................
r62436 | david.goodger | 2008-04-21 16:43:33 +0200 (Mon, 21 Apr 2008) | 1 line
capitalization
................
r62441 | gregory.p.smith | 2008-04-21 19:46:40 +0200 (Mon, 21 Apr 2008) | 2 lines
explicitly flush after the ... since there wasn't a newline
................
r62444 | jeroen.ruigrok | 2008-04-21 22:15:39 +0200 (Mon, 21 Apr 2008) | 2 lines
Windows x64 also falls under VER_PLATFORM_WIN32_NT.
................
r62446 | gregory.p.smith | 2008-04-21 23:31:08 +0200 (Mon, 21 Apr 2008) | 3 lines
If sys.stdin is not a tty, fall back to default_getpass after printing
a warning instead of failing with a termios.error.
................
r62447 | mark.dickinson | 2008-04-22 00:32:24 +0200 (Tue, 22 Apr 2008) | 8 lines
test_math and test_cmath are failing on the FreeBSD 6.2 trunk buildbot,
apparently because tanh(-0.) loses the sign of zero on that platform.
If true, this is a bug in FreeBSD.
Added a configure test to verify this. I still need to figure out
how best to deal with this failure.
................
r62448 | amaury.forgeotdarc | 2008-04-22 00:35:30 +0200 (Tue, 22 Apr 2008) | 7 lines
Issue 2665: On Windows, sys.stderr does not contain a valid file when running without a console.
It seems to work, but will fail at the first flush.
This causes IDLE to crash when too many warnings are printed.
Will backport.
................
r62450 | benjamin.peterson | 2008-04-22 00:57:00 +0200 (Tue, 22 Apr 2008) | 2 lines
Fix Sphinx warnings
................
r62451 | mark.dickinson | 2008-04-22 02:54:27 +0200 (Tue, 22 Apr 2008) | 3 lines
Make configure test for tanh(-0.) == -0. committed in r62447 actually
work. (The test wasn't properly linked with libm. Sigh.)
................
r62452 | benjamin.peterson | 2008-04-22 04:16:03 +0200 (Tue, 22 Apr 2008) | 2 lines
Various io doc updates
................
r62453 | neal.norwitz | 2008-04-22 07:07:47 +0200 (Tue, 22 Apr 2008) | 1 line
Add Thomas Lee
................
r62454 | gregory.p.smith | 2008-04-22 10:08:41 +0200 (Tue, 22 Apr 2008) | 8 lines
Major improvements:
* Default to using /dev/tty for the password prompt and input before
falling back to sys.stdin and sys.stderr.
* Use sys.stderr instead of sys.stdout.
* print the 'password may be echoed' warning to stream used to display
the prompt rather than always sys.stderr.
* warn() with GetPassWarning when input may be echoed.
................
r62455 | gregory.p.smith | 2008-04-22 10:11:33 +0200 (Tue, 22 Apr 2008) | 2 lines
update the getpass entry
................
r62463 | amaury.forgeotdarc | 2008-04-22 23:14:41 +0200 (Tue, 22 Apr 2008) | 5 lines
Issue #2670: urllib2.build_opener() failed when two handlers
derive the same default base class.
Will backport.
................
r62465 | skip.montanaro | 2008-04-23 00:45:09 +0200 (Wed, 23 Apr 2008) | 3 lines
Factor in documentation changes from issue 1753732.
................
r62466 | gregory.p.smith | 2008-04-23 03:06:42 +0200 (Wed, 23 Apr 2008) | 2 lines
syntax fixup
................
r62469 | benjamin.peterson | 2008-04-23 22:38:06 +0200 (Wed, 23 Apr 2008) | 2 lines
#2673 Fix example typo in optparse docs
................
r62474 | martin.v.loewis | 2008-04-24 11:50:50 +0200 (Thu, 24 Apr 2008) | 2 lines
Add Guilherme Polo.
................
r62476 | martin.v.loewis | 2008-04-24 15:16:36 +0200 (Thu, 24 Apr 2008) | 3 lines
Remove Py_Refcnt, Py_Type, Py_Size, as they were added only
for backwards compatibility, yet 2.5 did not have them at all.
................
r62477 | martin.v.loewis | 2008-04-24 15:17:24 +0200 (Thu, 24 Apr 2008) | 2 lines
Fix typo.
................
r62478 | martin.v.loewis | 2008-04-24 15:18:03 +0200 (Thu, 24 Apr 2008) | 2 lines
Add Jesus Cea.
................
r62480 | amaury.forgeotdarc | 2008-04-24 20:07:05 +0200 (Thu, 24 Apr 2008) | 4 lines
Issue2681: the literal 0o8 was wrongly accepted, and evaluated as float(0.0).
This happened only when 8 is the first digit.
Credits go to Lukas Meuser.
................
r62485 | amaury.forgeotdarc | 2008-04-24 22:10:26 +0200 (Thu, 24 Apr 2008) | 5 lines
Disable gc when running test_trace, or we may record the __del__ of collected objects.
See http://mail.python.org/pipermail/python-checkins/2008-April/068633.html
the extra events perfectly match several calls to socket._fileobject.__del__()
................
r62492 | neal.norwitz | 2008-04-25 05:40:17 +0200 (Fri, 25 Apr 2008) | 1 line
Fix typo (now -> no)
................
r62497 | armin.rigo | 2008-04-25 11:35:18 +0200 (Fri, 25 Apr 2008) | 2 lines
A new crasher.
................
r62498 | thomas.heller | 2008-04-25 17:44:16 +0200 (Fri, 25 Apr 2008) | 1 line
Add from_buffer and from_buffer_copy class methods to ctypes types.
................
r62500 | mark.dickinson | 2008-04-25 18:59:09 +0200 (Fri, 25 Apr 2008) | 3 lines
Issue 2635: fix bug in the fix_sentence_endings option to textwrap.fill.
................
r62507 | benjamin.peterson | 2008-04-25 23:43:56 +0200 (Fri, 25 Apr 2008) | 2 lines
Allow test_import to work when it is invoked directly
................
r62513 | georg.brandl | 2008-04-26 20:31:07 +0200 (Sat, 26 Apr 2008) | 2 lines
#2691: document PyLong (s)size_t APIs, patch by Alexander Belopolsky.
................
r62514 | georg.brandl | 2008-04-26 20:32:17 +0200 (Sat, 26 Apr 2008) | 2 lines
Add missing return type to dealloc.
................
r62516 | alexandre.vassalotti | 2008-04-27 02:52:24 +0200 (Sun, 27 Apr 2008) | 2 lines
Fixed URL of PEP 205 in weakref's module docstring.
................
r62521 | georg.brandl | 2008-04-27 11:39:59 +0200 (Sun, 27 Apr 2008) | 2 lines
#2677: add note that not all functions may accept keyword args.
................
r62531 | georg.brandl | 2008-04-27 19:38:55 +0200 (Sun, 27 Apr 2008) | 2 lines
Use correct XHTML tags.
................
r62535 | benjamin.peterson | 2008-04-27 20:14:39 +0200 (Sun, 27 Apr 2008) | 2 lines
#2700 Document PyNumber_ToBase
................
r62545 | skip.montanaro | 2008-04-27 22:53:57 +0200 (Sun, 27 Apr 2008) | 1 line
minor wording changes, rewrap a few lines
................
r62546 | kurt.kaiser | 2008-04-27 23:07:41 +0200 (Sun, 27 Apr 2008) | 7 lines
Home / Control-A toggles between left margin and end of leading white
space. Patch 1196903 Jeff Shute.
M idlelib/PyShell.py
M idlelib/EditorWindow.py
M idlelib/NEWS.txt
................
r62548 | kurt.kaiser | 2008-04-27 23:38:05 +0200 (Sun, 27 Apr 2008) | 2 lines
Improved AutoCompleteWindow logic. Patch 2062 Tal Einat.
................
r62549 | kurt.kaiser | 2008-04-27 23:52:19 +0200 (Sun, 27 Apr 2008) | 4 lines
Autocompletion of filenames now support alternate separators, e.g. the
'/' char on Windows. Patch 2061 Tal Einat.
................
r62550 | skip.montanaro | 2008-04-28 00:49:56 +0200 (Mon, 28 Apr 2008) | 6 lines
A few small changes:
* The only exception we should catch when trying to import cStringIO is an
ImportError.
* Delete the function signatures embedded in the mk*temp docstrings.
* The tempdir global variable was initialized twice.
................
r62551 | skip.montanaro | 2008-04-28 00:52:02 +0200 (Mon, 28 Apr 2008) | 4 lines
Wrap some long paragraphs and include the default values for optional
function parameters.
................
r62553 | skip.montanaro | 2008-04-28 04:57:23 +0200 (Mon, 28 Apr 2008) | 7 lines
Minor cleanups:
* Avoid creating unused local variables where we can. Where we can't prefix
the unused variables with '_'.
* Avoid shadowing builtins where it won't change the external interface of a
function.
* Use None as default path arg to readmodule and readmodule_ex.
................
r62554 | skip.montanaro | 2008-04-28 04:59:45 +0200 (Mon, 28 Apr 2008) | 6 lines
Correct documentation to match implementation: "Class" instead of
"class_descriptor", "Function" instead of "function_descriptor". Note
default path value for readmodule*. Wrap some long paragraphs. Don't
mention 'inpackage' which isn't part of the public API.
................
r62555 | brett.cannon | 2008-04-28 05:23:50 +0200 (Mon, 28 Apr 2008) | 5 lines
Fix a bug introduced by the warnings rewrite where tracebacks were being
improperly indented.
Closes issue #2699.
................
r62556 | skip.montanaro | 2008-04-28 05:25:37 +0200 (Mon, 28 Apr 2008) | 2 lines
Wrap some long lines.
................
r62557 | skip.montanaro | 2008-04-28 05:27:53 +0200 (Mon, 28 Apr 2008) | 6 lines
Get rid of _test(), _main(), _debug() and _check(). Tests are no longer
needed (better set available in Lib/test/test_robotparser.py). Clean up a
few PEP 8 nits (compound statements on a single line, whitespace around
operators).
................
r62558 | brett.cannon | 2008-04-28 06:50:06 +0200 (Mon, 28 Apr 2008) | 3 lines
Rename the test_traceback_print() function to traceback_print() to prevent
test_capi from automatically calling the function.
................
r62559 | georg.brandl | 2008-04-28 07:16:30 +0200 (Mon, 28 Apr 2008) | 2 lines
Fix markup.
................
r62569 | amaury.forgeotdarc | 2008-04-28 23:07:06 +0200 (Mon, 28 Apr 2008) | 5 lines
test_sundry performs minimal tests (a simple import...) on modules that are not tested otherwise.
Some of them now have tests and can be removed.
Only 70 to go...
................
r62574 | andrew.kuchling | 2008-04-29 04:03:54 +0200 (Tue, 29 Apr 2008) | 1 line
Strip down SSL docs; I'm not managing to get test programs working, so I'll just give a minimal description
................
r62577 | martin.v.loewis | 2008-04-29 08:10:53 +0200 (Tue, 29 Apr 2008) | 2 lines
Add Rodrigo and Heiko.
................
r62593 | nick.coghlan | 2008-04-30 16:23:36 +0200 (Wed, 30 Apr 2008) | 1 line
Update command line usage documentation to reflect 2.6 changes (also includes some minor cleanups). Addresses TODO list issue 2258
................
r62595 | andrew.kuchling | 2008-04-30 18:19:55 +0200 (Wed, 30 Apr 2008) | 1 line
Typo fix
................
r62604 | benjamin.peterson | 2008-04-30 23:03:58 +0200 (Wed, 30 Apr 2008) | 2 lines
make test_support's captured_output a bit more robust when exceptions happen
................
r62605 | georg.brandl | 2008-04-30 23:08:42 +0200 (Wed, 30 Apr 2008) | 2 lines
#1748: use functools.wraps instead of rolling own metadata update.
................
r62606 | benjamin.peterson | 2008-04-30 23:25:55 +0200 (Wed, 30 Apr 2008) | 2 lines
Remove some from __future__ import with_statements
................
r62608 | benjamin.peterson | 2008-05-01 00:03:36 +0200 (Thu, 01 May 2008) | 2 lines
Fix typo in whatsnew
................
r62616 | georg.brandl | 2008-05-01 20:24:32 +0200 (Thu, 01 May 2008) | 2 lines
Fix synopsis.
................
r62626 | brett.cannon | 2008-05-02 04:25:09 +0200 (Fri, 02 May 2008) | 6 lines
Fix a backwards-compatibility mistake where a new optional argument for
warnings.showwarning() was being used. This broke pre-existing replacements for
the function since they didn't support the extra argument.
Closes issue 2705.
................
r62627 | gregory.p.smith | 2008-05-02 09:26:52 +0200 (Fri, 02 May 2008) | 20 lines
This should fix issue2632. A long description of the two competing
problems is in the bug report (one old, one recently introduced trying
to fix the old one). In short:
buffer data during socket._fileobject.read() and readlines() within a
cStringIO object instead of a [] of str()s returned from the recv()
call.
This prevents excessive memory use due to the size parameter being
passed to recv() being grossly larger than the actual size of the data
returned *and* prevents excessive cpu usage due to looping in python
calling recv() with a very tiny size value if min() is used as the
previous memory-use bug "fix" did.
It also documents what the socket._fileobject._rbufsize member is
actually used for.
This is a candidate for back porting to 2.5.
................
r62636 | mark.hammond | 2008-05-02 14:48:15 +0200 (Fri, 02 May 2008) | 2 lines
#2581: Vista UAC/elevation support for bdist_wininst
................
r62638 | facundo.batista | 2008-05-02 19:39:00 +0200 (Fri, 02 May 2008) | 3 lines
Fixed some test structures. Thanks Mark Dickinson.
................
r62644 | ronald.oussoren | 2008-05-02 21:45:11 +0200 (Fri, 02 May 2008) | 7 lines
Fix for issue #2573: Can't change the framework name on OS X builds
This introduces a new configure option: --with-framework-name=NAME
(defaulting to 'Python'). This allows you to install several copies
of the Python framework with different names (such as a normal build
and a debug build).
................
r62645 | ronald.oussoren | 2008-05-02 21:58:56 +0200 (Fri, 02 May 2008) | 2 lines
Finish fix for issue2573, previous patch was incomplete.
................
r62647 | martin.v.loewis | 2008-05-02 23:30:20 +0200 (Fri, 02 May 2008) | 13 lines
Merged revisions 62263-62646 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r62470 | david.wolever | 2008-04-24 02:11:07 +0200 (Do, 24 Apr 2008) | 3 lines
Fixed up and applied the patch for #2431 -- speeding up 2to3 with a lookup table.
........
r62646 | martin.v.loewis | 2008-05-02 23:29:27 +0200 (Fr, 02 Mai 2008) | 2 lines
Fix whitespace.
........
................
r62648 | ronald.oussoren | 2008-05-02 23:42:35 +0200 (Fri, 02 May 2008) | 4 lines
Fix for #1905: PythonLauncher not working correctly on OSX 10.5/Leopard
This fixes both Python Launchar and the terminalcommand module.
................
r62651 | ronald.oussoren | 2008-05-02 23:54:56 +0200 (Fri, 02 May 2008) | 2 lines
Fix for issue #2520 (cannot import macerrors)
................
r62652 | benjamin.peterson | 2008-05-03 00:12:58 +0200 (Sat, 03 May 2008) | 2 lines
capitalization nit for reStructuredText
................
r62653 | brett.cannon | 2008-05-03 03:02:41 +0200 (Sat, 03 May 2008) | 2 lines
Fix some indentation errors.
................
r62656 | brett.cannon | 2008-05-03 05:19:39 +0200 (Sat, 03 May 2008) | 6 lines
Fix the C implementation of 'warnings' to infer the filename of the module that
raised an exception properly when __file__ is not set, __name__ == '__main__',
and sys.argv[0] is a false value.
Closes issue2743.
................
r62661 | amaury.forgeotdarc | 2008-05-03 14:21:13 +0200 (Sat, 03 May 2008) | 8 lines
In test_io, StatefulIncrementalDecoderTest was not part of the test suite.
And of course, the test failed:
a bytearray was used without reason in io.TextIOWrapper.tell().
The difference is that iterating over bytes (i.e. str in python2.6) returns 1-char bytes,
whereas bytearrays yield integers.
This code should still work with python3.0
................
r62663 | benjamin.peterson | 2008-05-03 17:56:42 +0200 (Sat, 03 May 2008) | 2 lines
The compiling struct is now passed around to all AST helpers (see issue 2720)
................
r62680 | benjamin.peterson | 2008-05-03 23:35:18 +0200 (Sat, 03 May 2008) | 2 lines
Moved testing of builtin types out of test_builtin and into type specific modules
................
r62686 | mark.dickinson | 2008-05-04 04:25:46 +0200 (Sun, 04 May 2008) | 4 lines
Make sure that Context traps and flags dictionaries have values 0 and 1
(as documented) rather than True and False.
................
r62687 | benjamin.peterson | 2008-05-04 05:05:49 +0200 (Sun, 04 May 2008) | 2 lines
Fix typo in whatsnew
................
r62696 | georg.brandl | 2008-05-04 11:15:04 +0200 (Sun, 04 May 2008) | 2 lines
#2752: wrong meaning of '' for socket host.
................
r62699 | christian.heimes | 2008-05-04 13:50:53 +0200 (Sun, 04 May 2008) | 1 line
Added note that Python requires at least Win2k SP4
................
r62700 | gerhard.haering | 2008-05-04 14:59:57 +0200 (Sun, 04 May 2008) | 3 lines
SQLite requires 64-bit integers in order to build. So the whole HAVE_LONG_LONG
#ifdefing was useless.
................
r62701 | gerhard.haering | 2008-05-04 15:15:12 +0200 (Sun, 04 May 2008) | 3 lines
Applied sqliterow-richcmp.diff patch from Thomas Heller in Issue2152. The
sqlite3.Row type is now correctly hashable.
................
r62702 | gerhard.haering | 2008-05-04 15:42:44 +0200 (Sun, 04 May 2008) | 5 lines
Implemented feature request 2157: Converter names are cut off at '('
characters. This avoids the common case of something like 'NUMBER(10)' not
being parsed as 'NUMBER', like expected. Also corrected the docs about
converter names being case-sensitive. They aren't any longer.
................
r62703 | georg.brandl | 2008-05-04 17:45:05 +0200 (Sun, 04 May 2008) | 2 lines
#2757: Remove spare newline.
................
r62711 | benjamin.peterson | 2008-05-04 21:10:02 +0200 (Sun, 04 May 2008) | 2 lines
Fix typo in bugs.rst
................
2008-05-04 19:42:01 -03:00
|
|
|
column it returns. It will parse out the first word of the declared type,
|
|
|
|
i. e. for "integer primary key", it will parse out "integer", or for
|
|
|
|
"number(10)" it will parse out "number". Then for that column, it will look
|
|
|
|
into the converters dictionary and use the converter function registered for
|
|
|
|
that type there.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. data:: PARSE_COLNAMES
|
|
|
|
|
|
|
|
This constant is meant to be used with the *detect_types* parameter of the
|
|
|
|
:func:`connect` function.
|
|
|
|
|
|
|
|
Setting this makes the SQLite interface parse the column name for each column it
|
|
|
|
returns. It will look for a string formed [mytype] in there, and then decide
|
|
|
|
that 'mytype' is the type of the column. It will try to find an entry of
|
|
|
|
'mytype' in the converters dictionary and then use the converter function found
|
2008-10-10 21:49:57 -03:00
|
|
|
there to return the value. The column name found in :attr:`Cursor.description`
|
2007-08-15 11:28:22 -03:00
|
|
|
is only the first word of the column name, i. e. if you use something like
|
|
|
|
``'as "x [datetime]"'`` in your SQL, then we will parse out everything until the
|
|
|
|
first blank for the column name: the column name would simply be "x".
|
|
|
|
|
|
|
|
|
2013-02-09 19:02:44 -04:00
|
|
|
.. function:: connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri])
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
Opens a connection to the SQLite database file *database*. You can use
|
|
|
|
``":memory:"`` to open a database connection to a database that resides in RAM
|
|
|
|
instead of on disk.
|
|
|
|
|
|
|
|
When a database is accessed by multiple connections, and one of the processes
|
|
|
|
modifies the database, the SQLite database is locked until that transaction is
|
|
|
|
committed. The *timeout* parameter specifies how long the connection should wait
|
|
|
|
for the lock to go away until raising an exception. The default for the timeout
|
|
|
|
parameter is 5.0 (five seconds).
|
|
|
|
|
|
|
|
For the *isolation_level* parameter, please see the
|
|
|
|
:attr:`Connection.isolation_level` property of :class:`Connection` objects.
|
|
|
|
|
2013-10-06 07:38:44 -03:00
|
|
|
SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. If
|
2007-08-15 11:28:22 -03:00
|
|
|
you want to use other types you must add support for them yourself. The
|
|
|
|
*detect_types* parameter and the using custom **converters** registered with the
|
|
|
|
module-level :func:`register_converter` function allow you to easily do that.
|
|
|
|
|
|
|
|
*detect_types* defaults to 0 (i. e. off, no type detection), you can set it to
|
|
|
|
any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` to turn
|
|
|
|
type detection on.
|
|
|
|
|
2016-06-03 04:03:48 -03:00
|
|
|
By default, *check_same_thread* is :const:`True` and only the creating thread may
|
|
|
|
use the connection. If set :const:`False`, the returned connection may be shared
|
|
|
|
across multiple threads. When using multiple threads with the same connection
|
|
|
|
writing operations should be serialized by the user to avoid data corruption.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
By default, the :mod:`sqlite3` module uses its :class:`Connection` class for the
|
|
|
|
connect call. You can, however, subclass the :class:`Connection` class and make
|
|
|
|
:func:`connect` use your class instead by providing your class for the *factory*
|
|
|
|
parameter.
|
|
|
|
|
|
|
|
Consult the section :ref:`sqlite3-types` of this manual for details.
|
|
|
|
|
|
|
|
The :mod:`sqlite3` module internally uses a statement cache to avoid SQL parsing
|
|
|
|
overhead. If you want to explicitly set the number of statements that are cached
|
|
|
|
for the connection, you can set the *cached_statements* parameter. The currently
|
|
|
|
implemented default is to cache 100 statements.
|
|
|
|
|
2013-02-09 19:02:44 -04:00
|
|
|
If *uri* is true, *database* is interpreted as a URI. This allows you
|
|
|
|
to specify options. For example, to open a database in read-only mode
|
|
|
|
you can use::
|
|
|
|
|
|
|
|
db = sqlite3.connect('file:path/to/database?mode=ro', uri=True)
|
|
|
|
|
|
|
|
More information about this feature, including a list of recognized options, can
|
2016-05-07 04:49:07 -03:00
|
|
|
be found in the `SQLite URI documentation <https://www.sqlite.org/uri.html>`_.
|
2013-02-09 19:02:44 -04:00
|
|
|
|
|
|
|
.. versionchanged:: 3.4
|
|
|
|
Added the *uri* parameter.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
.. function:: register_converter(typename, callable)
|
|
|
|
|
|
|
|
Registers a callable to convert a bytestring from the database into a custom
|
|
|
|
Python type. The callable will be invoked for all database values that are of
|
|
|
|
the type *typename*. Confer the parameter *detect_types* of the :func:`connect`
|
|
|
|
function for how the type detection works. Note that the case of *typename* and
|
|
|
|
the name of the type in your query must match!
|
|
|
|
|
|
|
|
|
|
|
|
.. function:: register_adapter(type, callable)
|
|
|
|
|
|
|
|
Registers a callable to convert the custom Python type *type* into one of
|
|
|
|
SQLite's supported types. The callable *callable* accepts as single parameter
|
2007-11-29 13:41:05 -04:00
|
|
|
the Python value, and must return a value of the following types: int,
|
2010-02-02 19:00:29 -04:00
|
|
|
float, str or bytes.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. function:: complete_statement(sql)
|
|
|
|
|
|
|
|
Returns :const:`True` if the string *sql* contains one or more complete SQL
|
|
|
|
statements terminated by semicolons. It does not verify that the SQL is
|
|
|
|
syntactically correct, only that there are no unclosed string literals and the
|
|
|
|
statement is terminated by a semicolon.
|
|
|
|
|
|
|
|
This can be used to build a shell for SQLite, as in the following example:
|
|
|
|
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/complete_statement.py
|
|
|
|
|
|
|
|
|
|
|
|
.. function:: enable_callback_tracebacks(flag)
|
|
|
|
|
|
|
|
By default you will not get any tracebacks in user-defined functions,
|
2013-11-29 06:17:13 -04:00
|
|
|
aggregates, converters, authorizer callbacks etc. If you want to debug them,
|
|
|
|
you can call this function with *flag* set to ``True``. Afterwards, you will
|
|
|
|
get tracebacks from callbacks on ``sys.stderr``. Use :const:`False` to
|
|
|
|
disable the feature again.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. _sqlite3-connection-objects:
|
|
|
|
|
|
|
|
Connection Objects
|
|
|
|
------------------
|
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
.. class:: Connection
|
|
|
|
|
|
|
|
A SQLite database connection has the following attributes and methods:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: isolation_level
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Get or set the current isolation level. :const:`None` for autocommit mode or
|
|
|
|
one of "DEFERRED", "IMMEDIATE" or "EXCLUSIVE". See section
|
|
|
|
:ref:`sqlite3-controlling-transactions` for a more detailed explanation.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: in_transaction
|
2010-05-31 22:32:12 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
:const:`True` if a transaction is active (there are uncommitted changes),
|
|
|
|
:const:`False` otherwise. Read-only attribute.
|
2010-05-31 22:32:12 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. versionadded:: 3.2
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: cursor([cursorClass])
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The cursor method accepts a single optional parameter *cursorClass*. If
|
|
|
|
supplied, this must be a custom cursor class that extends
|
|
|
|
:class:`sqlite3.Cursor`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: commit()
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This method commits the current transaction. If you don't call this method,
|
|
|
|
anything you did since the last call to ``commit()`` is not visible from
|
|
|
|
other database connections. If you wonder why you don't see the data you've
|
|
|
|
written to the database, please check you didn't forget to call this method.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: rollback()
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This method rolls back any changes to the database since the last call to
|
|
|
|
:meth:`commit`.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: close()
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This closes the database connection. Note that this does not automatically
|
|
|
|
call :meth:`commit`. If you just close your database connection without
|
|
|
|
calling :meth:`commit` first, your changes will be lost!
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: execute(sql, [parameters])
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This is a nonstandard shortcut that creates an intermediate cursor object by
|
|
|
|
calling the cursor method, then calls the cursor's :meth:`execute
|
|
|
|
<Cursor.execute>` method with the parameters given.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: executemany(sql, [parameters])
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This is a nonstandard shortcut that creates an intermediate cursor object by
|
|
|
|
calling the cursor method, then calls the cursor's :meth:`executemany
|
|
|
|
<Cursor.executemany>` method with the parameters given.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: executescript(sql_script)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This is a nonstandard shortcut that creates an intermediate cursor object by
|
|
|
|
calling the cursor method, then calls the cursor's :meth:`executescript
|
|
|
|
<Cursor.executescript>` method with the parameters given.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: create_function(name, num_params, func)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Creates a user-defined function that you can later use from within SQL
|
|
|
|
statements under the function name *name*. *num_params* is the number of
|
2016-03-27 16:39:14 -03:00
|
|
|
parameters the function accepts (if *num_params* is -1, the function may
|
|
|
|
take any number of arguments), and *func* is a Python callable that is
|
|
|
|
called as the SQL function.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The function can return any of the types supported by SQLite: bytes, str, int,
|
|
|
|
float and None.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Example:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/md5func.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: create_aggregate(name, num_params, aggregate_class)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Creates a user-defined aggregate function.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The aggregate class must implement a ``step`` method, which accepts the number
|
2016-03-27 16:39:14 -03:00
|
|
|
of parameters *num_params* (if *num_params* is -1, the function may take
|
|
|
|
any number of arguments), and a ``finalize`` method which will return the
|
2012-09-30 21:44:43 -03:00
|
|
|
final result of the aggregate.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The ``finalize`` method can return any of the types supported by SQLite:
|
|
|
|
bytes, str, int, float and None.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Example:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/mysumaggr.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: create_collation(name, callable)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Creates a collation with the specified *name* and *callable*. The callable will
|
|
|
|
be passed two string arguments. It should return -1 if the first is ordered
|
|
|
|
lower than the second, 0 if they are ordered equal and 1 if the first is ordered
|
|
|
|
higher than the second. Note that this controls sorting (ORDER BY in SQL) so
|
|
|
|
your comparisons don't affect other SQL operations.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Note that the callable will get its parameters as Python bytestrings, which will
|
|
|
|
normally be encoded in UTF-8.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The following example shows a custom collation that sorts "the wrong way":
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/collation_reverse.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
To remove a collation, call ``create_collation`` with None as callable::
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
con.create_collation("reverse", None)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: interrupt()
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
You can call this method from a different thread to abort any queries that might
|
|
|
|
be executing on the connection. The query will then abort and the caller will
|
|
|
|
get an exception.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: set_authorizer(authorizer_callback)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This routine registers a callback. The callback is invoked for each attempt to
|
|
|
|
access a column of a table in the database. The callback should return
|
|
|
|
:const:`SQLITE_OK` if access is allowed, :const:`SQLITE_DENY` if the entire SQL
|
|
|
|
statement should be aborted with an error and :const:`SQLITE_IGNORE` if the
|
|
|
|
column should be treated as a NULL value. These constants are available in the
|
|
|
|
:mod:`sqlite3` module.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The first argument to the callback signifies what kind of operation is to be
|
|
|
|
authorized. The second and third argument will be arguments or :const:`None`
|
|
|
|
depending on the first argument. The 4th argument is the name of the database
|
|
|
|
("main", "temp", etc.) if applicable. The 5th argument is the name of the
|
|
|
|
inner-most trigger or view that is responsible for the access attempt or
|
|
|
|
:const:`None` if this access attempt is directly from input SQL code.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Please consult the SQLite documentation about the possible values for the first
|
|
|
|
argument and the meaning of the second and third argument depending on the first
|
|
|
|
one. All necessary constants are available in the :mod:`sqlite3` module.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: set_progress_handler(handler, n)
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This routine registers a callback. The callback is invoked for every *n*
|
|
|
|
instructions of the SQLite virtual machine. This is useful if you want to
|
|
|
|
get called from SQLite during long-running operations, for example to update
|
|
|
|
a GUI.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
If you want to clear any previously installed progress handler, call the
|
|
|
|
method with :const:`None` for *handler*.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:49:19 -03:00
|
|
|
.. method:: set_trace_callback(trace_callback)
|
2011-04-03 19:12:04 -03:00
|
|
|
|
2012-09-30 21:49:19 -03:00
|
|
|
Registers *trace_callback* to be called for each SQL statement that is
|
|
|
|
actually executed by the SQLite backend.
|
2011-04-03 19:12:04 -03:00
|
|
|
|
2012-09-30 21:49:19 -03:00
|
|
|
The only argument passed to the callback is the statement (as string) that
|
|
|
|
is being executed. The return value of the callback is ignored. Note that
|
|
|
|
the backend does not only run statements passed to the :meth:`Cursor.execute`
|
|
|
|
methods. Other sources include the transaction management of the Python
|
|
|
|
module and the execution of triggers defined in the current database.
|
2011-04-03 19:12:04 -03:00
|
|
|
|
2012-09-30 21:49:19 -03:00
|
|
|
Passing :const:`None` as *trace_callback* will disable the trace callback.
|
2011-04-03 19:12:04 -03:00
|
|
|
|
2012-09-30 21:49:19 -03:00
|
|
|
.. versionadded:: 3.3
|
2011-04-03 19:12:04 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: enable_load_extension(enabled)
|
2010-03-05 11:20:03 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This routine allows/disallows the SQLite engine to load SQLite extensions
|
|
|
|
from shared libraries. SQLite extensions can define new functions,
|
|
|
|
aggregates or whole new virtual table implementations. One well-known
|
|
|
|
extension is the fulltext-search extension distributed with SQLite.
|
2010-03-05 11:20:03 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Loadable extensions are disabled by default. See [#f1]_.
|
2012-03-01 15:18:34 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. versionadded:: 3.2
|
2010-08-17 12:07:14 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/load_extension.py
|
2010-03-05 11:20:03 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: load_extension(path)
|
2010-03-05 11:20:03 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This routine loads a SQLite extension from a shared library. You have to
|
|
|
|
enable extension loading with :meth:`enable_load_extension` before you can
|
|
|
|
use this routine.
|
2010-03-05 11:20:03 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Loadable extensions are disabled by default. See [#f1]_.
|
2010-10-03 18:47:06 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. versionadded:: 3.2
|
2012-03-01 15:18:34 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: row_factory
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
You can change this attribute to a callable that accepts the cursor and the
|
|
|
|
original row as a tuple and will return the real result row. This way, you can
|
|
|
|
implement more advanced ways of returning results, such as returning an object
|
|
|
|
that can also access columns by name.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Example:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/row_factory.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
If returning a tuple doesn't suffice and you want name-based access to
|
|
|
|
columns, you should consider setting :attr:`row_factory` to the
|
|
|
|
highly-optimized :class:`sqlite3.Row` type. :class:`Row` provides both
|
|
|
|
index-based and case-insensitive name-based access to columns with almost no
|
|
|
|
memory overhead. It will probably be better than your own custom
|
|
|
|
dictionary-based approach or even a db_row based solution.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. XXX what's a db_row-based solution?
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: text_factory
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Using this attribute you can control what objects are returned for the ``TEXT``
|
|
|
|
data type. By default, this attribute is set to :class:`str` and the
|
|
|
|
:mod:`sqlite3` module will return Unicode objects for ``TEXT``. If you want to
|
|
|
|
return bytestrings instead, you can set it to :class:`bytes`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
For efficiency reasons, there's also a way to return :class:`str` objects
|
|
|
|
only for non-ASCII data, and :class:`bytes` otherwise. To activate it, set
|
|
|
|
this attribute to :const:`sqlite3.OptimizedUnicode`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
You can also set it to any other callable that accepts a single bytestring
|
|
|
|
parameter and returns the resulting object.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
See the following example code for illustration:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/text_factory.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: total_changes
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Returns the total number of database rows that have been modified, inserted, or
|
|
|
|
deleted since the database connection was opened.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
2016-03-27 12:46:18 -03:00
|
|
|
.. method:: iterdump
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Returns an iterator to dump the database in an SQL text format. Useful when
|
|
|
|
saving an in-memory database for later restoration. This function provides
|
|
|
|
the same capabilities as the :kbd:`.dump` command in the :program:`sqlite3`
|
|
|
|
shell.
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Example::
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
# Convert file existing_db.db to SQL dump file dump.sql
|
2016-03-27 12:46:18 -03:00
|
|
|
import sqlite3
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
con = sqlite3.connect('existing_db.db')
|
|
|
|
with open('dump.sql', 'w') as f:
|
|
|
|
for line in con.iterdump():
|
|
|
|
f.write('%s\n' % line)
|
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61981 | amaury.forgeotdarc | 2008-03-28 01:21:34 +0100 (Fri, 28 Mar 2008) | 2 lines
test_future3.py is a regular test file, and should be part of the test suite
........
r61984 | jeffrey.yasskin | 2008-03-28 05:11:18 +0100 (Fri, 28 Mar 2008) | 6 lines
Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
........
r61985 | neal.norwitz | 2008-03-28 05:41:34 +0100 (Fri, 28 Mar 2008) | 1 line
Allow use of other ports so the test can pass if 9091 is in use
........
r61986 | jeffrey.yasskin | 2008-03-28 05:53:10 +0100 (Fri, 28 Mar 2008) | 2 lines
Print more information the next time test_socket throws the wrong exception.
........
r61987 | neal.norwitz | 2008-03-28 05:58:51 +0100 (Fri, 28 Mar 2008) | 5 lines
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Rather than sprinkle casts throughout the code, change Py_CHARMASK to
always cast it's result to an unsigned char. This should ensure we
do the right thing when accessing an array with the result.
........
r61992 | neal.norwitz | 2008-03-28 06:34:59 +0100 (Fri, 28 Mar 2008) | 2 lines
Fix compiler warning about finite() missing on Solaris.
........
r61993 | neal.norwitz | 2008-03-28 07:34:03 +0100 (Fri, 28 Mar 2008) | 11 lines
Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution. We need
to determine if this causes the test to hang on any platforms or do
other bad things.
Even if it gets the test to pass reliably, it might be that we want
to fix this in socket. The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
........
r61997 | neal.norwitz | 2008-03-28 08:36:31 +0100 (Fri, 28 Mar 2008) | 1 line
Name the main method correctly so the test is run
........
r61998 | gregory.p.smith | 2008-03-28 09:00:44 +0100 (Fri, 28 Mar 2008) | 7 lines
This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.
Accepts patch from issue2429.
Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
........
r61999 | georg.brandl | 2008-03-28 09:06:56 +0100 (Fri, 28 Mar 2008) | 2 lines
#2406: add examples to gzip docs.
........
r62000 | gregory.p.smith | 2008-03-28 09:32:09 +0100 (Fri, 28 Mar 2008) | 4 lines
Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
........
2008-03-28 07:53:29 -03:00
|
|
|
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. _sqlite3-cursor-objects:
|
|
|
|
|
|
|
|
Cursor Objects
|
|
|
|
--------------
|
|
|
|
|
2010-10-17 06:33:24 -03:00
|
|
|
.. class:: Cursor
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2010-10-17 06:33:24 -03:00
|
|
|
A :class:`Cursor` instance has the following attributes and methods.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: execute(sql, [parameters])
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
Executes an SQL statement. The SQL statement may be parameterized (i. e.
|
2012-09-30 21:44:43 -03:00
|
|
|
placeholders instead of SQL literals). The :mod:`sqlite3` module supports two
|
|
|
|
kinds of placeholders: question marks (qmark style) and named placeholders
|
|
|
|
(named style).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Here's an example of both styles:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/execute_1.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
:meth:`execute` will only execute a single SQL statement. If you try to execute
|
|
|
|
more than one statement with it, it will raise a Warning. Use
|
|
|
|
:meth:`executescript` if you want to execute multiple SQL statements with one
|
|
|
|
call.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: executemany(sql, seq_of_parameters)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Executes an SQL command against all parameter sequences or mappings found in
|
|
|
|
the sequence *sql*. The :mod:`sqlite3` module also allows using an
|
|
|
|
:term:`iterator` yielding parameters instead of a sequence.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/executemany_1.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Here's a shorter example using a :term:`generator`:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/executemany_2.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: executescript(sql_script)
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This is a nonstandard convenience method for executing multiple SQL statements
|
|
|
|
at once. It issues a ``COMMIT`` statement first, then executes the SQL script it
|
|
|
|
gets as a parameter.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
*sql_script* can be an instance of :class:`str` or :class:`bytes`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Example:
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. literalinclude:: ../includes/sqlite3/executescript.py
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: fetchone()
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Fetches the next row of a query result set, returning a single sequence,
|
|
|
|
or :const:`None` when no more data is available.
|
Merged revisions 60094-60123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
*** NOTE ***
I haven't merged the files in Doc/c-api/. I got too many conflicts. Georg,
please split them manually.
........
r60095 | andrew.kuchling | 2008-01-19 21:12:04 +0100 (Sat, 19 Jan 2008) | 2 lines
Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
........
r60097 | georg.brandl | 2008-01-19 21:22:13 +0100 (Sat, 19 Jan 2008) | 4 lines
#1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
........
r60099 | georg.brandl | 2008-01-19 21:40:24 +0100 (Sat, 19 Jan 2008) | 2 lines
#1411695: clarify behavior of xml.sax.utils.[un]escape.
........
r60101 | andrew.kuchling | 2008-01-19 21:47:59 +0100 (Sat, 19 Jan 2008) | 7 lines
Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).
2.5 bugfix candidate, assuming no one reports any problems with this change.
........
r60102 | gregory.p.smith | 2008-01-19 21:49:02 +0100 (Sat, 19 Jan 2008) | 3 lines
fix comment typos, use not arg instead of arg == "", add test coverage
for inside of the final if needquotes: within subprocess.list2cmdline().
........
r60103 | georg.brandl | 2008-01-19 21:53:07 +0100 (Sat, 19 Jan 2008) | 2 lines
#1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods.
........
r60104 | gregory.p.smith | 2008-01-19 21:57:59 +0100 (Sat, 19 Jan 2008) | 6 lines
Fixes issue1336 - a race condition could occur when forking if the gc
kicked in during the critical section. solution: disable gc during
that section. Patch contributed by jpa and updated by me to cover the
race condition still existing what therve from twistedmatrix pointed
out (already seen and fixed in twisted's own subprocess code).
........
r60105 | gregory.p.smith | 2008-01-19 22:00:37 +0100 (Sat, 19 Jan 2008) | 2 lines
note about r60104
........
r60106 | andrew.kuchling | 2008-01-19 22:00:38 +0100 (Sat, 19 Jan 2008) | 1 line
Bug 1296: restore text describing OptionGroup
........
r60109 | georg.brandl | 2008-01-19 23:08:21 +0100 (Sat, 19 Jan 2008) | 2 lines
Split the monstrous C API manual files in smaller parts.
........
r60110 | georg.brandl | 2008-01-19 23:14:27 +0100 (Sat, 19 Jan 2008) | 2 lines
Missed one big file to split up.
........
r60111 | gregory.p.smith | 2008-01-19 23:23:56 +0100 (Sat, 19 Jan 2008) | 12 lines
Undo an unnecessary else: and indentation that r60104 added.
try:
...
except:
...
raise
else:
...
the else: is unecessary due to the blind except: with a raise.
........
r60115 | gregory.p.smith | 2008-01-19 23:49:37 +0100 (Sat, 19 Jan 2008) | 3 lines
Fix issue 1300: Quote command line arguments that contain a '|' character in
subprocess.list2cmdline (windows).
........
r60116 | gregory.p.smith | 2008-01-20 00:10:52 +0100 (Sun, 20 Jan 2008) | 3 lines
Fixes/Accepts Patch for issue1189216 - Work properly with archives
that have file headers past the 2**31 byte boundary.
........
r60119 | andrew.kuchling | 2008-01-20 01:00:38 +0100 (Sun, 20 Jan 2008) | 3 lines
Patch #1048820 from Stefan Wehr: add insert-mode editing to Textbox.
Fix an off-by-one error I noticed.
........
r60120 | andrew.kuchling | 2008-01-20 01:12:19 +0100 (Sun, 20 Jan 2008) | 1 line
Add an interactive test script for exercising curses
........
r60121 | gregory.p.smith | 2008-01-20 02:21:03 +0100 (Sun, 20 Jan 2008) | 7 lines
Fix zipfile decryption. The check for validity only worked on one
type of encrypted zip files. Files using extended local headers
needed to compare the check byte against different values. (according
to reading the infozip unzip crypt.c source code)
Fixes issue1003.
........
r60122 | gregory.p.smith | 2008-01-20 02:26:04 +0100 (Sun, 20 Jan 2008) | 2 lines
note for r60121
........
r60123 | gregory.p.smith | 2008-01-20 02:32:00 +0100 (Sun, 20 Jan 2008) | 4 lines
Document that zipfile decryption is insanely slow and fix a typo and
blatant lie in a docstring (it is not useful for security regardless of
how you spell it).
........
2008-01-20 05:06:41 -04:00
|
|
|
|
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: fetchmany(size=cursor.arraysize)
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Fetches the next set of rows of a query result, returning a list. An empty
|
|
|
|
list is returned when no more rows are available.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
The number of rows to fetch per call is specified by the *size* parameter.
|
|
|
|
If it is not given, the cursor's arraysize determines the number of rows
|
|
|
|
to be fetched. The method should try to fetch as many rows as indicated by
|
|
|
|
the size parameter. If this is not possible due to the specified number of
|
|
|
|
rows not being available, fewer rows may be returned.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Note there are performance considerations involved with the *size* parameter.
|
|
|
|
For optimal performance, it is usually best to use the arraysize attribute.
|
|
|
|
If the *size* parameter is used, then it is best for it to retain the same
|
|
|
|
value from one :meth:`fetchmany` call to the next.
|
2008-03-28 22:32:44 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. method:: fetchall()
|
Merged revisions 60094-60123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
*** NOTE ***
I haven't merged the files in Doc/c-api/. I got too many conflicts. Georg,
please split them manually.
........
r60095 | andrew.kuchling | 2008-01-19 21:12:04 +0100 (Sat, 19 Jan 2008) | 2 lines
Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
........
r60097 | georg.brandl | 2008-01-19 21:22:13 +0100 (Sat, 19 Jan 2008) | 4 lines
#1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
........
r60099 | georg.brandl | 2008-01-19 21:40:24 +0100 (Sat, 19 Jan 2008) | 2 lines
#1411695: clarify behavior of xml.sax.utils.[un]escape.
........
r60101 | andrew.kuchling | 2008-01-19 21:47:59 +0100 (Sat, 19 Jan 2008) | 7 lines
Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).
2.5 bugfix candidate, assuming no one reports any problems with this change.
........
r60102 | gregory.p.smith | 2008-01-19 21:49:02 +0100 (Sat, 19 Jan 2008) | 3 lines
fix comment typos, use not arg instead of arg == "", add test coverage
for inside of the final if needquotes: within subprocess.list2cmdline().
........
r60103 | georg.brandl | 2008-01-19 21:53:07 +0100 (Sat, 19 Jan 2008) | 2 lines
#1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods.
........
r60104 | gregory.p.smith | 2008-01-19 21:57:59 +0100 (Sat, 19 Jan 2008) | 6 lines
Fixes issue1336 - a race condition could occur when forking if the gc
kicked in during the critical section. solution: disable gc during
that section. Patch contributed by jpa and updated by me to cover the
race condition still existing what therve from twistedmatrix pointed
out (already seen and fixed in twisted's own subprocess code).
........
r60105 | gregory.p.smith | 2008-01-19 22:00:37 +0100 (Sat, 19 Jan 2008) | 2 lines
note about r60104
........
r60106 | andrew.kuchling | 2008-01-19 22:00:38 +0100 (Sat, 19 Jan 2008) | 1 line
Bug 1296: restore text describing OptionGroup
........
r60109 | georg.brandl | 2008-01-19 23:08:21 +0100 (Sat, 19 Jan 2008) | 2 lines
Split the monstrous C API manual files in smaller parts.
........
r60110 | georg.brandl | 2008-01-19 23:14:27 +0100 (Sat, 19 Jan 2008) | 2 lines
Missed one big file to split up.
........
r60111 | gregory.p.smith | 2008-01-19 23:23:56 +0100 (Sat, 19 Jan 2008) | 12 lines
Undo an unnecessary else: and indentation that r60104 added.
try:
...
except:
...
raise
else:
...
the else: is unecessary due to the blind except: with a raise.
........
r60115 | gregory.p.smith | 2008-01-19 23:49:37 +0100 (Sat, 19 Jan 2008) | 3 lines
Fix issue 1300: Quote command line arguments that contain a '|' character in
subprocess.list2cmdline (windows).
........
r60116 | gregory.p.smith | 2008-01-20 00:10:52 +0100 (Sun, 20 Jan 2008) | 3 lines
Fixes/Accepts Patch for issue1189216 - Work properly with archives
that have file headers past the 2**31 byte boundary.
........
r60119 | andrew.kuchling | 2008-01-20 01:00:38 +0100 (Sun, 20 Jan 2008) | 3 lines
Patch #1048820 from Stefan Wehr: add insert-mode editing to Textbox.
Fix an off-by-one error I noticed.
........
r60120 | andrew.kuchling | 2008-01-20 01:12:19 +0100 (Sun, 20 Jan 2008) | 1 line
Add an interactive test script for exercising curses
........
r60121 | gregory.p.smith | 2008-01-20 02:21:03 +0100 (Sun, 20 Jan 2008) | 7 lines
Fix zipfile decryption. The check for validity only worked on one
type of encrypted zip files. Files using extended local headers
needed to compare the check byte against different values. (according
to reading the infozip unzip crypt.c source code)
Fixes issue1003.
........
r60122 | gregory.p.smith | 2008-01-20 02:26:04 +0100 (Sun, 20 Jan 2008) | 2 lines
note for r60121
........
r60123 | gregory.p.smith | 2008-01-20 02:32:00 +0100 (Sun, 20 Jan 2008) | 4 lines
Document that zipfile decryption is insanely slow and fix a typo and
blatant lie in a docstring (it is not useful for security regardless of
how you spell it).
........
2008-01-20 05:06:41 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Fetches all (remaining) rows of a query result, returning a list. Note that
|
|
|
|
the cursor's arraysize attribute can affect the performance of this operation.
|
|
|
|
An empty list is returned when no rows are available.
|
Merged revisions 60094-60123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
*** NOTE ***
I haven't merged the files in Doc/c-api/. I got too many conflicts. Georg,
please split them manually.
........
r60095 | andrew.kuchling | 2008-01-19 21:12:04 +0100 (Sat, 19 Jan 2008) | 2 lines
Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
........
r60097 | georg.brandl | 2008-01-19 21:22:13 +0100 (Sat, 19 Jan 2008) | 4 lines
#1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
........
r60099 | georg.brandl | 2008-01-19 21:40:24 +0100 (Sat, 19 Jan 2008) | 2 lines
#1411695: clarify behavior of xml.sax.utils.[un]escape.
........
r60101 | andrew.kuchling | 2008-01-19 21:47:59 +0100 (Sat, 19 Jan 2008) | 7 lines
Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).
2.5 bugfix candidate, assuming no one reports any problems with this change.
........
r60102 | gregory.p.smith | 2008-01-19 21:49:02 +0100 (Sat, 19 Jan 2008) | 3 lines
fix comment typos, use not arg instead of arg == "", add test coverage
for inside of the final if needquotes: within subprocess.list2cmdline().
........
r60103 | georg.brandl | 2008-01-19 21:53:07 +0100 (Sat, 19 Jan 2008) | 2 lines
#1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods.
........
r60104 | gregory.p.smith | 2008-01-19 21:57:59 +0100 (Sat, 19 Jan 2008) | 6 lines
Fixes issue1336 - a race condition could occur when forking if the gc
kicked in during the critical section. solution: disable gc during
that section. Patch contributed by jpa and updated by me to cover the
race condition still existing what therve from twistedmatrix pointed
out (already seen and fixed in twisted's own subprocess code).
........
r60105 | gregory.p.smith | 2008-01-19 22:00:37 +0100 (Sat, 19 Jan 2008) | 2 lines
note about r60104
........
r60106 | andrew.kuchling | 2008-01-19 22:00:38 +0100 (Sat, 19 Jan 2008) | 1 line
Bug 1296: restore text describing OptionGroup
........
r60109 | georg.brandl | 2008-01-19 23:08:21 +0100 (Sat, 19 Jan 2008) | 2 lines
Split the monstrous C API manual files in smaller parts.
........
r60110 | georg.brandl | 2008-01-19 23:14:27 +0100 (Sat, 19 Jan 2008) | 2 lines
Missed one big file to split up.
........
r60111 | gregory.p.smith | 2008-01-19 23:23:56 +0100 (Sat, 19 Jan 2008) | 12 lines
Undo an unnecessary else: and indentation that r60104 added.
try:
...
except:
...
raise
else:
...
the else: is unecessary due to the blind except: with a raise.
........
r60115 | gregory.p.smith | 2008-01-19 23:49:37 +0100 (Sat, 19 Jan 2008) | 3 lines
Fix issue 1300: Quote command line arguments that contain a '|' character in
subprocess.list2cmdline (windows).
........
r60116 | gregory.p.smith | 2008-01-20 00:10:52 +0100 (Sun, 20 Jan 2008) | 3 lines
Fixes/Accepts Patch for issue1189216 - Work properly with archives
that have file headers past the 2**31 byte boundary.
........
r60119 | andrew.kuchling | 2008-01-20 01:00:38 +0100 (Sun, 20 Jan 2008) | 3 lines
Patch #1048820 from Stefan Wehr: add insert-mode editing to Textbox.
Fix an off-by-one error I noticed.
........
r60120 | andrew.kuchling | 2008-01-20 01:12:19 +0100 (Sun, 20 Jan 2008) | 1 line
Add an interactive test script for exercising curses
........
r60121 | gregory.p.smith | 2008-01-20 02:21:03 +0100 (Sun, 20 Jan 2008) | 7 lines
Fix zipfile decryption. The check for validity only worked on one
type of encrypted zip files. Files using extended local headers
needed to compare the check byte against different values. (according
to reading the infozip unzip crypt.c source code)
Fixes issue1003.
........
r60122 | gregory.p.smith | 2008-01-20 02:26:04 +0100 (Sun, 20 Jan 2008) | 2 lines
note for r60121
........
r60123 | gregory.p.smith | 2008-01-20 02:32:00 +0100 (Sun, 20 Jan 2008) | 4 lines
Document that zipfile decryption is insanely slow and fix a typo and
blatant lie in a docstring (it is not useful for security regardless of
how you spell it).
........
2008-01-20 05:06:41 -04:00
|
|
|
|
2016-03-27 15:51:02 -03:00
|
|
|
.. method:: close()
|
|
|
|
|
|
|
|
Close the cursor now (rather than whenever ``__del__`` is called).
|
|
|
|
|
|
|
|
The cursor will be unusable from this point forward; a ``ProgrammingError``
|
|
|
|
exception will be raised if any operation is attempted with the cursor.
|
Merged revisions 60094-60123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
*** NOTE ***
I haven't merged the files in Doc/c-api/. I got too many conflicts. Georg,
please split them manually.
........
r60095 | andrew.kuchling | 2008-01-19 21:12:04 +0100 (Sat, 19 Jan 2008) | 2 lines
Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
........
r60097 | georg.brandl | 2008-01-19 21:22:13 +0100 (Sat, 19 Jan 2008) | 4 lines
#1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
........
r60099 | georg.brandl | 2008-01-19 21:40:24 +0100 (Sat, 19 Jan 2008) | 2 lines
#1411695: clarify behavior of xml.sax.utils.[un]escape.
........
r60101 | andrew.kuchling | 2008-01-19 21:47:59 +0100 (Sat, 19 Jan 2008) | 7 lines
Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).
2.5 bugfix candidate, assuming no one reports any problems with this change.
........
r60102 | gregory.p.smith | 2008-01-19 21:49:02 +0100 (Sat, 19 Jan 2008) | 3 lines
fix comment typos, use not arg instead of arg == "", add test coverage
for inside of the final if needquotes: within subprocess.list2cmdline().
........
r60103 | georg.brandl | 2008-01-19 21:53:07 +0100 (Sat, 19 Jan 2008) | 2 lines
#1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods.
........
r60104 | gregory.p.smith | 2008-01-19 21:57:59 +0100 (Sat, 19 Jan 2008) | 6 lines
Fixes issue1336 - a race condition could occur when forking if the gc
kicked in during the critical section. solution: disable gc during
that section. Patch contributed by jpa and updated by me to cover the
race condition still existing what therve from twistedmatrix pointed
out (already seen and fixed in twisted's own subprocess code).
........
r60105 | gregory.p.smith | 2008-01-19 22:00:37 +0100 (Sat, 19 Jan 2008) | 2 lines
note about r60104
........
r60106 | andrew.kuchling | 2008-01-19 22:00:38 +0100 (Sat, 19 Jan 2008) | 1 line
Bug 1296: restore text describing OptionGroup
........
r60109 | georg.brandl | 2008-01-19 23:08:21 +0100 (Sat, 19 Jan 2008) | 2 lines
Split the monstrous C API manual files in smaller parts.
........
r60110 | georg.brandl | 2008-01-19 23:14:27 +0100 (Sat, 19 Jan 2008) | 2 lines
Missed one big file to split up.
........
r60111 | gregory.p.smith | 2008-01-19 23:23:56 +0100 (Sat, 19 Jan 2008) | 12 lines
Undo an unnecessary else: and indentation that r60104 added.
try:
...
except:
...
raise
else:
...
the else: is unecessary due to the blind except: with a raise.
........
r60115 | gregory.p.smith | 2008-01-19 23:49:37 +0100 (Sat, 19 Jan 2008) | 3 lines
Fix issue 1300: Quote command line arguments that contain a '|' character in
subprocess.list2cmdline (windows).
........
r60116 | gregory.p.smith | 2008-01-20 00:10:52 +0100 (Sun, 20 Jan 2008) | 3 lines
Fixes/Accepts Patch for issue1189216 - Work properly with archives
that have file headers past the 2**31 byte boundary.
........
r60119 | andrew.kuchling | 2008-01-20 01:00:38 +0100 (Sun, 20 Jan 2008) | 3 lines
Patch #1048820 from Stefan Wehr: add insert-mode editing to Textbox.
Fix an off-by-one error I noticed.
........
r60120 | andrew.kuchling | 2008-01-20 01:12:19 +0100 (Sun, 20 Jan 2008) | 1 line
Add an interactive test script for exercising curses
........
r60121 | gregory.p.smith | 2008-01-20 02:21:03 +0100 (Sun, 20 Jan 2008) | 7 lines
Fix zipfile decryption. The check for validity only worked on one
type of encrypted zip files. Files using extended local headers
needed to compare the check byte against different values. (according
to reading the infozip unzip crypt.c source code)
Fixes issue1003.
........
r60122 | gregory.p.smith | 2008-01-20 02:26:04 +0100 (Sun, 20 Jan 2008) | 2 lines
note for r60121
........
r60123 | gregory.p.smith | 2008-01-20 02:32:00 +0100 (Sun, 20 Jan 2008) | 4 lines
Document that zipfile decryption is insanely slow and fix a typo and
blatant lie in a docstring (it is not useful for security regardless of
how you spell it).
........
2008-01-20 05:06:41 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: rowcount
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
Although the :class:`Cursor` class of the :mod:`sqlite3` module implements this
|
|
|
|
attribute, the database engine's own support for the determination of "rows
|
|
|
|
affected"/"rows selected" is quirky.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
For :meth:`executemany` statements, the number of modifications are summed up
|
|
|
|
into :attr:`rowcount`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
As required by the Python DB API Spec, the :attr:`rowcount` attribute "is -1 in
|
|
|
|
case no ``executeXX()`` has been performed on the cursor or the rowcount of the
|
|
|
|
last operation is not determinable by the interface". This includes ``SELECT``
|
|
|
|
statements because we cannot determine the number of rows a query produced
|
|
|
|
until all rows were fetched.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
With SQLite versions before 3.6.5, :attr:`rowcount` is set to 0 if
|
|
|
|
you make a ``DELETE FROM table`` without any condition.
|
Merged revisions 57221-57391 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r57227 | facundo.batista | 2007-08-20 17:16:21 -0700 (Mon, 20 Aug 2007) | 5 lines
Catch ProtocolError exceptions and include the header information in
test output (to make it easier to debug test failures caused by
problems in the server). [GSoC - Alan McIntyre]
........
r57229 | mark.hammond | 2007-08-20 18:04:47 -0700 (Mon, 20 Aug 2007) | 5 lines
[ 1761786 ] distutils.util.get_platform() return value on 64bit Windows
As discussed on distutils-sig: Allows the generated installer name on
64bit Windows platforms to be different than the name generated for
32bit Windows platforms.
........
r57230 | mark.hammond | 2007-08-20 18:05:16 -0700 (Mon, 20 Aug 2007) | 5 lines
[ 1761786 ] distutils.util.get_platform() return value on 64bit Windows
As discussed on distutils-sig: Allows the generated installer name on
64bit Windows platforms to be different than the name generated for
32bit Windows platforms.
........
r57253 | georg.brandl | 2007-08-20 23:01:18 -0700 (Mon, 20 Aug 2007) | 2 lines
Demand version 2.5.1 since 2.5 has a bug with codecs.open context managers.
........
r57254 | georg.brandl | 2007-08-20 23:03:43 -0700 (Mon, 20 Aug 2007) | 2 lines
Revert accidental checkins from last commit.
........
r57255 | georg.brandl | 2007-08-20 23:07:08 -0700 (Mon, 20 Aug 2007) | 2 lines
Bug #1777160: mention explicitly that e.g. -1**2 is -1.
........
r57256 | georg.brandl | 2007-08-20 23:12:19 -0700 (Mon, 20 Aug 2007) | 3 lines
Bug #1777168: replace operator names "opa"... with "op1"... and mark everything up as literal,
to enhance readability.
........
r57259 | facundo.batista | 2007-08-21 09:57:18 -0700 (Tue, 21 Aug 2007) | 8 lines
Added test for behavior of operations on an unconnected SMTP object,
and tests for NOOP, RSET, and VRFY. Corrected typo in a comment for
testNonnumericPort. Added a check for constructing SMTP objects when
non-numeric ports are included in the host name. Derived a server from
SMTPServer to test various ESMTP/SMTP capabilities. Check that a
second HELO to DebuggingServer returns an error. [GSoC - Alan McIntyre]
........
r57279 | skip.montanaro | 2007-08-22 12:02:16 -0700 (Wed, 22 Aug 2007) | 2 lines
Note that BeOS is unsupported as of Python 2.6.
........
r57280 | skip.montanaro | 2007-08-22 12:05:21 -0700 (Wed, 22 Aug 2007) | 1 line
whoops - need to check in configure as well
........
r57284 | alex.martelli | 2007-08-22 14:14:17 -0700 (Wed, 22 Aug 2007) | 5 lines
Fix compile.c so that it records 0.0 and -0.0 as separate constants in a code
object's co_consts tuple; add a test to show that the previous behavior (where
these two constants were "collapsed" into one) causes serious malfunctioning.
........
r57286 | gregory.p.smith | 2007-08-22 14:32:34 -0700 (Wed, 22 Aug 2007) | 3 lines
stop leaving log.0000001 __db.00* and xxx.db turds in developer
sandboxes when bsddb3 tests are run.
........
r57301 | jeffrey.yasskin | 2007-08-22 16:14:27 -0700 (Wed, 22 Aug 2007) | 3 lines
When setup.py fails to find the necessary bits to build some modules, have it
print a slightly more informative message.
........
r57320 | brett.cannon | 2007-08-23 07:53:17 -0700 (Thu, 23 Aug 2007) | 2 lines
Make test_runpy re-entrant.
........
r57324 | georg.brandl | 2007-08-23 10:54:11 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1768121: fix wrong/missing opcode docs.
........
r57326 | georg.brandl | 2007-08-23 10:57:05 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1766421: "return code" vs. "status code".
........
r57328 | georg.brandl | 2007-08-23 11:08:06 -0700 (Thu, 23 Aug 2007) | 2 lines
Second half of #1752175: #ifdef out references to PyImport_DynLoadFiletab if HAVE_DYNAMIC_LOADING is not defined.
........
r57331 | georg.brandl | 2007-08-23 11:11:33 -0700 (Thu, 23 Aug 2007) | 2 lines
Use try-except-finally in contextlib.
........
r57343 | georg.brandl | 2007-08-23 13:35:00 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1697820: document that the old slice protocol is still used by builtin types.
........
r57345 | georg.brandl | 2007-08-23 13:40:01 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1573854: fix docs for sqlite3 cursor rowcount attr.
........
r57347 | georg.brandl | 2007-08-23 13:50:23 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1694833: fix imp.find_module() docs wrt. packages.
........
r57348 | georg.brandl | 2007-08-23 13:53:28 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1594966: fix misleading usage example
........
r57349 | georg.brandl | 2007-08-23 13:55:44 -0700 (Thu, 23 Aug 2007) | 2 lines
Clarify wording a bit.
........
r57351 | georg.brandl | 2007-08-23 14:18:44 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1752332: httplib no longer uses socket.getaddrinfo().
........
r57352 | georg.brandl | 2007-08-23 14:21:36 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1734111: document struct.Struct.size.
........
r57353 | georg.brandl | 2007-08-23 14:27:57 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1688564: document os.path.join's absolute path behavior in the docstring.
........
r57354 | georg.brandl | 2007-08-23 14:36:05 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1625381: clarify match vs search introduction.
........
r57355 | georg.brandl | 2007-08-23 14:42:54 -0700 (Thu, 23 Aug 2007) | 2 lines
Bug #1758696: more info about descriptors.
........
r57357 | georg.brandl | 2007-08-23 14:55:57 -0700 (Thu, 23 Aug 2007) | 2 lines
Patch #1779550: remove redundant code in logging.
........
r57378 | gregory.p.smith | 2007-08-23 22:11:38 -0700 (Thu, 23 Aug 2007) | 2 lines
Fix bug 1725856.
........
r57382 | georg.brandl | 2007-08-23 23:10:01 -0700 (Thu, 23 Aug 2007) | 2 lines
uuid creation is now threadsafe, backport from py3k rev. 57375.
........
r57389 | georg.brandl | 2007-08-24 04:47:37 -0700 (Fri, 24 Aug 2007) | 2 lines
Bug #1765375: fix stripping of unwanted LDFLAGS.
........
r57391 | guido.van.rossum | 2007-08-24 07:53:14 -0700 (Fri, 24 Aug 2007) | 2 lines
Fix silly typo in test name.
........
2007-08-24 13:32:05 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: lastrowid
|
2008-03-29 16:13:55 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This read-only attribute provides the rowid of the last modified row. It is
|
2015-11-01 23:37:02 -04:00
|
|
|
only set if you issued an ``INSERT`` statement using the :meth:`execute`
|
2012-09-30 21:44:43 -03:00
|
|
|
method. For operations other than ``INSERT`` or when :meth:`executemany` is
|
|
|
|
called, :attr:`lastrowid` is set to :const:`None`.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
.. attribute:: description
|
2008-10-10 21:49:57 -03:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
This read-only attribute provides the column names of the last query. To
|
|
|
|
remain compatible with the Python DB API, it returns a 7-tuple for each
|
|
|
|
column where the last six items of each tuple are :const:`None`.
|
2009-01-03 17:18:54 -04:00
|
|
|
|
2012-09-30 21:44:43 -03:00
|
|
|
It is set for ``SELECT`` statements without any matching rows as well.
|
2008-10-10 21:49:57 -03:00
|
|
|
|
2016-03-18 15:10:36 -03:00
|
|
|
.. attribute:: connection
|
|
|
|
|
|
|
|
This read-only attribute provides the SQLite database :class:`Connection`
|
|
|
|
used by the :class:`Cursor` object. A :class:`Cursor` object created by
|
|
|
|
calling :meth:`con.cursor() <Connection.cursor>` will have a
|
|
|
|
:attr:`connection` attribute that refers to *con*::
|
|
|
|
|
|
|
|
>>> con = sqlite3.connect(":memory:")
|
|
|
|
>>> cur = con.cursor()
|
|
|
|
>>> cur.connection == con
|
|
|
|
True
|
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
.. _sqlite3-row-objects:
|
|
|
|
|
|
|
|
Row Objects
|
|
|
|
-----------
|
|
|
|
|
|
|
|
.. class:: Row
|
|
|
|
|
|
|
|
A :class:`Row` instance serves as a highly optimized
|
2009-01-03 17:18:54 -04:00
|
|
|
:attr:`~Connection.row_factory` for :class:`Connection` objects.
|
2008-10-10 21:49:57 -03:00
|
|
|
It tries to mimic a tuple in most of its features.
|
|
|
|
|
|
|
|
It supports mapping access by column name and index, iteration,
|
|
|
|
representation, equality testing and :func:`len`.
|
|
|
|
|
|
|
|
If two :class:`Row` objects have exactly the same columns and their
|
|
|
|
members are equal, they compare equal.
|
2009-01-03 17:18:54 -04:00
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
.. method:: keys
|
|
|
|
|
2014-06-05 16:16:38 -03:00
|
|
|
This method returns a list of column names. Immediately after a query,
|
2008-10-10 21:49:57 -03:00
|
|
|
it is the first member of each tuple in :attr:`Cursor.description`.
|
|
|
|
|
2015-03-31 07:33:11 -03:00
|
|
|
.. versionchanged:: 3.5
|
|
|
|
Added support of slicing.
|
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
Let's assume we initialize a table as in the example given above::
|
|
|
|
|
2011-07-03 14:17:22 -03:00
|
|
|
conn = sqlite3.connect(":memory:")
|
|
|
|
c = conn.cursor()
|
|
|
|
c.execute('''create table stocks
|
|
|
|
(date text, trans text, symbol text,
|
|
|
|
qty real, price real)''')
|
|
|
|
c.execute("""insert into stocks
|
|
|
|
values ('2006-01-05','BUY','RHAT',100,35.14)""")
|
|
|
|
conn.commit()
|
|
|
|
c.close()
|
2008-10-10 21:49:57 -03:00
|
|
|
|
|
|
|
Now we plug :class:`Row` in::
|
|
|
|
|
2011-07-03 14:17:22 -03:00
|
|
|
>>> conn.row_factory = sqlite3.Row
|
|
|
|
>>> c = conn.cursor()
|
|
|
|
>>> c.execute('select * from stocks')
|
|
|
|
<sqlite3.Cursor object at 0x7f4e7dd8fa80>
|
|
|
|
>>> r = c.fetchone()
|
|
|
|
>>> type(r)
|
|
|
|
<class 'sqlite3.Row'>
|
|
|
|
>>> tuple(r)
|
|
|
|
('2006-01-05', 'BUY', 'RHAT', 100.0, 35.14)
|
|
|
|
>>> len(r)
|
|
|
|
5
|
|
|
|
>>> r[2]
|
|
|
|
'RHAT'
|
|
|
|
>>> r.keys()
|
|
|
|
['date', 'trans', 'symbol', 'qty', 'price']
|
|
|
|
>>> r['qty']
|
|
|
|
100.0
|
|
|
|
>>> for member in r:
|
|
|
|
... print(member)
|
|
|
|
...
|
|
|
|
2006-01-05
|
|
|
|
BUY
|
|
|
|
RHAT
|
|
|
|
100.0
|
|
|
|
35.14
|
2008-10-10 21:49:57 -03:00
|
|
|
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. _sqlite3-types:
|
|
|
|
|
|
|
|
SQLite and Python types
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
^^^^^^^^^^^^
|
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
SQLite natively supports the following types: ``NULL``, ``INTEGER``,
|
|
|
|
``REAL``, ``TEXT``, ``BLOB``.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
The following Python types can thus be sent to SQLite without any problem:
|
|
|
|
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
|
|
|
| Python type | SQLite type |
|
|
|
|
+===============================+=============+
|
2008-10-10 21:49:57 -03:00
|
|
|
| :const:`None` | ``NULL`` |
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
2008-10-10 21:49:57 -03:00
|
|
|
| :class:`int` | ``INTEGER`` |
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
2008-10-10 21:49:57 -03:00
|
|
|
| :class:`float` | ``REAL`` |
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
2008-10-10 21:49:57 -03:00
|
|
|
| :class:`str` | ``TEXT`` |
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
2010-02-02 19:00:29 -04:00
|
|
|
| :class:`bytes` | ``BLOB`` |
|
2008-02-01 07:56:49 -04:00
|
|
|
+-------------------------------+-------------+
|
2007-08-15 11:28:22 -03:00
|
|
|
|
2008-10-10 21:49:57 -03:00
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
This is how SQLite types are converted to Python types by default:
|
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
+-------------+----------------------------------------------+
|
|
|
|
| SQLite type | Python type |
|
|
|
|
+=============+==============================================+
|
|
|
|
| ``NULL`` | :const:`None` |
|
|
|
|
+-------------+----------------------------------------------+
|
|
|
|
| ``INTEGER`` | :class:`int` |
|
|
|
|
+-------------+----------------------------------------------+
|
|
|
|
| ``REAL`` | :class:`float` |
|
|
|
|
+-------------+----------------------------------------------+
|
|
|
|
| ``TEXT`` | depends on :attr:`~Connection.text_factory`, |
|
|
|
|
| | :class:`str` by default |
|
|
|
|
+-------------+----------------------------------------------+
|
|
|
|
| ``BLOB`` | :class:`bytes` |
|
|
|
|
+-------------+----------------------------------------------+
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
The type system of the :mod:`sqlite3` module is extensible in two ways: you can
|
|
|
|
store additional Python types in a SQLite database via object adaptation, and
|
|
|
|
you can let the :mod:`sqlite3` module convert SQLite types to different Python
|
|
|
|
types via converters.
|
|
|
|
|
|
|
|
|
|
|
|
Using adapters to store additional Python types in SQLite databases
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
As described before, SQLite supports only a limited set of types natively. To
|
|
|
|
use other Python types with SQLite, you must **adapt** them to one of the
|
2007-11-29 13:41:05 -04:00
|
|
|
sqlite3 module's supported types for SQLite: one of NoneType, int, float,
|
2010-02-02 19:00:29 -04:00
|
|
|
str, bytes.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
There are two ways to enable the :mod:`sqlite3` module to adapt a custom Python
|
|
|
|
type to one of the supported ones.
|
|
|
|
|
|
|
|
|
|
|
|
Letting your object adapt itself
|
|
|
|
""""""""""""""""""""""""""""""""
|
|
|
|
|
|
|
|
This is a good approach if you write the class yourself. Let's suppose you have
|
|
|
|
a class like this::
|
|
|
|
|
2010-11-21 23:09:19 -04:00
|
|
|
class Point:
|
2007-08-15 11:28:22 -03:00
|
|
|
def __init__(self, x, y):
|
|
|
|
self.x, self.y = x, y
|
|
|
|
|
|
|
|
Now you want to store the point in a single SQLite column. First you'll have to
|
|
|
|
choose one of the supported types first to be used for representing the point.
|
|
|
|
Let's just use str and separate the coordinates using a semicolon. Then you need
|
|
|
|
to give your class a method ``__conform__(self, protocol)`` which must return
|
|
|
|
the converted value. The parameter *protocol* will be :class:`PrepareProtocol`.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/adapter_point_1.py
|
|
|
|
|
|
|
|
|
|
|
|
Registering an adapter callable
|
|
|
|
"""""""""""""""""""""""""""""""
|
|
|
|
|
|
|
|
The other possibility is to create a function that converts the type to the
|
|
|
|
string representation and register the function with :meth:`register_adapter`.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/adapter_point_2.py
|
|
|
|
|
|
|
|
The :mod:`sqlite3` module has two default adapters for Python's built-in
|
|
|
|
:class:`datetime.date` and :class:`datetime.datetime` types. Now let's suppose
|
|
|
|
we want to store :class:`datetime.datetime` objects not in ISO representation,
|
|
|
|
but as a Unix timestamp.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/adapter_datetime.py
|
|
|
|
|
|
|
|
|
|
|
|
Converting SQLite values to custom Python types
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Writing an adapter lets you send custom Python types to SQLite. But to make it
|
|
|
|
really useful we need to make the Python to SQLite to Python roundtrip work.
|
|
|
|
|
|
|
|
Enter converters.
|
|
|
|
|
|
|
|
Let's go back to the :class:`Point` class. We stored the x and y coordinates
|
|
|
|
separated via semicolons as strings in SQLite.
|
|
|
|
|
|
|
|
First, we'll define a converter function that accepts the string as a parameter
|
|
|
|
and constructs a :class:`Point` object from it.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
2014-04-01 14:21:56 -03:00
|
|
|
Converter functions **always** get called with a :class:`bytes` object, no
|
|
|
|
matter under which data type you sent the value to SQLite.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
def convert_point(s):
|
2012-02-15 16:17:21 -04:00
|
|
|
x, y = map(float, s.split(b";"))
|
2007-08-15 11:28:22 -03:00
|
|
|
return Point(x, y)
|
|
|
|
|
|
|
|
Now you need to make the :mod:`sqlite3` module know that what you select from
|
|
|
|
the database is actually a point. There are two ways of doing this:
|
|
|
|
|
|
|
|
* Implicitly via the declared type
|
|
|
|
|
|
|
|
* Explicitly via the column name
|
|
|
|
|
|
|
|
Both ways are described in section :ref:`sqlite3-module-contents`, in the entries
|
|
|
|
for the constants :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES`.
|
|
|
|
|
|
|
|
The following example illustrates both approaches.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/converter_point.py
|
|
|
|
|
|
|
|
|
|
|
|
Default adapters and converters
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
There are default adapters for the date and datetime types in the datetime
|
|
|
|
module. They will be sent as ISO dates/ISO timestamps to SQLite.
|
|
|
|
|
|
|
|
The default converters are registered under the name "date" for
|
|
|
|
:class:`datetime.date` and under the name "timestamp" for
|
|
|
|
:class:`datetime.datetime`.
|
|
|
|
|
|
|
|
This way, you can use date/timestamps from Python without any additional
|
|
|
|
fiddling in most cases. The format of the adapters is also compatible with the
|
|
|
|
experimental SQLite date/time functions.
|
|
|
|
|
|
|
|
The following example demonstrates this.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/pysqlite_datetime.py
|
|
|
|
|
2013-02-26 15:32:02 -04:00
|
|
|
If a timestamp stored in SQLite has a fractional part longer than 6
|
|
|
|
numbers, its value will be truncated to microsecond precision by the
|
|
|
|
timestamp converter.
|
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
.. _sqlite3-controlling-transactions:
|
|
|
|
|
|
|
|
Controlling Transactions
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
By default, the :mod:`sqlite3` module opens transactions implicitly before a
|
2009-01-03 17:18:54 -04:00
|
|
|
Data Modification Language (DML) statement (i.e.
|
2008-10-10 21:49:57 -03:00
|
|
|
``INSERT``/``UPDATE``/``DELETE``/``REPLACE``), and commits transactions
|
|
|
|
implicitly before a non-DML, non-query statement (i. e.
|
|
|
|
anything other than ``SELECT`` or the aforementioned).
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
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
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
is that sqlite3 needs to keep track of the transaction state (if a transaction
|
2010-05-31 22:32:12 -03:00
|
|
|
is active or not). The current transaction state is exposed through the
|
|
|
|
:attr:`Connection.in_transaction` attribute of the connection object.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
You can control which kind of ``BEGIN`` statements sqlite3 implicitly executes
|
2007-08-15 11:28:22 -03:00
|
|
|
(or none at all) via the *isolation_level* parameter to the :func:`connect`
|
|
|
|
call, or via the :attr:`isolation_level` property of connections.
|
|
|
|
|
|
|
|
If you want **autocommit mode**, then set :attr:`isolation_level` to None.
|
|
|
|
|
|
|
|
Otherwise leave it at its default, which will result in a plain "BEGIN"
|
2008-11-07 05:39:56 -04:00
|
|
|
statement, or set it to one of SQLite's supported isolation levels: "DEFERRED",
|
|
|
|
"IMMEDIATE" or "EXCLUSIVE".
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
Fix example output for doctest-like demos.
........
r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
#6034: clarify __reversed__ doc.
........
r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
#6025: fix signature of parse().
........
r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
#6009: undocument default argument of Option as deprecated.
........
r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
Fix about and bugs pages to match real workflow.
........
r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
#5935: mention that BROWSER is looked for in PATH.
........
r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
#6055: refer to "sqlite3" consistently.
........
r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
Use raise X(y).
........
2009-05-25 18:13:36 -03:00
|
|
|
Using :mod:`sqlite3` efficiently
|
|
|
|
--------------------------------
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
Using shortcut methods
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Using the nonstandard :meth:`execute`, :meth:`executemany` and
|
|
|
|
:meth:`executescript` methods of the :class:`Connection` object, your code can
|
|
|
|
be written more concisely because you don't have to create the (often
|
|
|
|
superfluous) :class:`Cursor` objects explicitly. Instead, the :class:`Cursor`
|
|
|
|
objects are created implicitly and these shortcut methods return the cursor
|
2008-10-10 21:49:57 -03:00
|
|
|
objects. This way, you can execute a ``SELECT`` statement and iterate over it
|
2007-08-15 11:28:22 -03:00
|
|
|
directly using only a single call on the :class:`Connection` object.
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/shortcut_methods.py
|
|
|
|
|
|
|
|
|
|
|
|
Accessing columns by name instead of by index
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2009-07-26 11:54:51 -03:00
|
|
|
One useful feature of the :mod:`sqlite3` module is the built-in
|
2007-08-15 11:28:22 -03:00
|
|
|
:class:`sqlite3.Row` class designed to be used as a row factory.
|
|
|
|
|
|
|
|
Rows wrapped with this class can be accessed both by index (like tuples) and
|
|
|
|
case-insensitively by name:
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/rowclass.py
|
|
|
|
|
2008-03-28 22:32:44 -03:00
|
|
|
|
|
|
|
Using the connection as a context manager
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Connection objects can be used as context managers
|
|
|
|
that automatically commit or rollback transactions. In the event of an
|
|
|
|
exception, the transaction is rolled back; otherwise, the transaction is
|
|
|
|
committed:
|
|
|
|
|
|
|
|
.. literalinclude:: ../includes/sqlite3/ctx_manager.py
|
2010-08-06 03:12:05 -03:00
|
|
|
|
|
|
|
|
|
|
|
Common issues
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Multithreading
|
|
|
|
^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Older SQLite versions had issues with sharing connections between threads.
|
|
|
|
That's why the Python module disallows sharing connections and cursors between
|
|
|
|
threads. If you still try to do so, you will get an exception at runtime.
|
|
|
|
|
|
|
|
The only exception is calling the :meth:`~Connection.interrupt` method, which
|
|
|
|
only makes sense to call from a different thread.
|
|
|
|
|
2010-10-03 18:47:06 -03:00
|
|
|
.. rubric:: Footnotes
|
|
|
|
|
|
|
|
.. [#f1] The sqlite3 module is not built with loadable extension support by
|
2011-07-03 14:17:22 -03:00
|
|
|
default, because some platforms (notably Mac OS X) have SQLite
|
|
|
|
libraries which are compiled without this feature. To get loadable
|
|
|
|
extension support, you must pass --enable-loadable-sqlite-extensions to
|
|
|
|
configure.
|