** Description changed:
When I feed a blank SQL statement to sqlite via Python 2.6 via the
executescript() call, I get the following:
- sqlite3.ProgrammingError: you did not provide a complete SQL statement
+ sqlite3.ProgrammingError: you did not provide a complete SQL statement
One can argue that rejecting a blank SQL statement is correct behavior,
but that behavior appears to be specific only to Python 2.6 (not 2.5 or
2.7) on Ubuntu (not any other OS).
This one line bash command tests the problem:
python -c 'import sqlite3; print sqlite3.sqlite_version_info;
c=sqlite3.Connection(":memory:"); c.executescript("")'
If successful it just prints out something like "(3, 7, 4)" which is the
the SQLite version.
The following combinations of operating system/SQLite version/Python version
all accept the test command with no complaint:
+ {{{
Ubuntu 8.04 sqlite 3.4.2, Python 2.5.2
Ubuntu 10.10 sqlite 3.7.2, Python 2.7.0+
Ubuntu 11.04 sqlite 3.7.4, Python 2.7.1+
WinXP sqlite 3.3.4, Python 2.5.4
WinXP sqlite 3.5.9, Python 2.6.5
OS X 10.6 sqlite 3.6.11, Python 2.6.6
OpenSUSE 11.2 64 bit sqlite 3.6.16, Python 2.6.2
Ubuntu 09.10 sqlite 3.6.16, Python 2.6.4
RHEL6 Beta sqlite 3.6.19, Python 2.6.6 (EPD)
Scientific Linux 6.0 sqlite 3.6.20, Python 2.6.6
WinXP sqlite 3.6.21, Python 2.7.1
Fedora 14 sqlite 3.6.23.1, Python 2.7
Fedora 15 sqlite 3.7.5, Python 2.7.1
+ }}}
The following combinations raise the sqlite3.ProgrammingError:
+ {{{
Ubuntu 10.04 sqlite 3.6.22, Python 2.6.5
Ubuntu 10.10 sqlite 3.7.2, Python 2.6.6
Ubuntu 11.04 sqlite 3.7.4, Python 2.6.6
+ }}}
Any easy workaround is to just add a semicolon, i.e. this:
- c.executescript(";")
+ c.executescript(";")
instead of this:
- c.executescript("")
+ c.executescript("")
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: python2.6 2.6.6-6ubuntu7
ProcVersionSignature: Ubuntu 2.6.38-10.46-generic 2.6.38.7
Uname: Linux 2.6.38-10-generic i686
Architecture: i386
Date: Sun Aug 7 18:21:50 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
ProcEnviron:
- LANGUAGE=en_US:en
- LANG=en_US.UTF-8
- SHELL=/bin/bash
+ LANGUAGE=en_US:en
+ LANG=en_US.UTF-8
+ SHELL=/bin/bash
SourcePackage: python2.6
UpgradeStatus: No upgrade log present (probably fresh install)
** Description changed:
When I feed a blank SQL statement to sqlite via Python 2.6 via the
executescript() call, I get the following:
sqlite3.ProgrammingError: you did not provide a complete SQL statement
One can argue that rejecting a blank SQL statement is correct behavior,
but that behavior appears to be specific only to Python 2.6 (not 2.5 or
2.7) on Ubuntu (not any other OS).
This one line bash command tests the problem:
python -c 'import sqlite3; print sqlite3.sqlite_version_info;
c=sqlite3.Connection(":memory:"); c.executescript("")'
If successful it just prints out something like "(3, 7, 4)" which is the
the SQLite version.
The following combinations of operating system/SQLite version/Python version
all accept the test command with no complaint:
- {{{
+ `
Ubuntu 8.04 sqlite 3.4.2, Python 2.5.2
Ubuntu 10.10 sqlite 3.7.2, Python 2.7.0+
Ubuntu 11.04 sqlite 3.7.4, Python 2.7.1+
WinXP sqlite 3.3.4, Python 2.5.4
WinXP sqlite 3.5.9, Python 2.6.5
OS X 10.6 sqlite 3.6.11, Python 2.6.6
OpenSUSE 11.2 64 bit sqlite 3.6.16, Python 2.6.2
Ubuntu 09.10 sqlite 3.6.16, Python 2.6.4
RHEL6 Beta sqlite 3.6.19, Python 2.6.6 (EPD)
Scientific Linux 6.0 sqlite 3.6.20, Python 2.6.6
WinXP sqlite 3.6.21, Python 2.7.1
Fedora 14 sqlite 3.6.23.1, Python 2.7
Fedora 15 sqlite 3.7.5, Python 2.7.1
- }}}
+ `
The following combinations raise the sqlite3.ProgrammingError:
- {{{
+ `
Ubuntu 10.04 sqlite 3.6.22, Python 2.6.5
Ubuntu 10.10 sqlite 3.7.2, Python 2.6.6
Ubuntu 11.04 sqlite 3.7.4, Python 2.6.6
- }}}
+ `
Any easy workaround is to just add a semicolon, i.e. this:
c.executescript(";")
instead of this:
c.executescript("")
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: python2.6 2.6.6-6ubuntu7
ProcVersionSignature: Ubuntu 2.6.38-10.46-generic 2.6.38.7
Uname: Linux 2.6.38-10-generic i686
Architecture: i386
Date: Sun Aug 7 18:21:50 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
ProcEnviron:
LANGUAGE=en_US:en
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: python2.6
UpgradeStatus: No upgrade log present (probably fresh install)
** Description changed:
When I feed a blank SQL statement to sqlite via Python 2.6 via the
executescript() call, I get the following:
sqlite3.ProgrammingError: you did not provide a complete SQL statement
One can argue that rejecting a blank SQL statement is correct behavior,
but that behavior appears to be specific only to Python 2.6 (not 2.5 or
2.7) on Ubuntu (not any other OS).
This one line bash command tests the problem:
python -c 'import sqlite3; print sqlite3.sqlite_version_info;
c=sqlite3.Connection(":memory:"); c.executescript("")'
If successful it just prints out something like "(3, 7, 4)" which is the
the SQLite version.
The following combinations of operating system/SQLite version/Python version
all accept the test command with no complaint:
- `
Ubuntu 8.04 sqlite 3.4.2, Python 2.5.2
Ubuntu 10.10 sqlite 3.7.2, Python 2.7.0+
Ubuntu 11.04 sqlite 3.7.4, Python 2.7.1+
WinXP sqlite 3.3.4, Python 2.5.4
WinXP sqlite 3.5.9, Python 2.6.5
OS X 10.6 sqlite 3.6.11, Python 2.6.6
OpenSUSE 11.2 64 bit sqlite 3.6.16, Python 2.6.2
Ubuntu 09.10 sqlite 3.6.16, Python 2.6.4
RHEL6 Beta sqlite 3.6.19, Python 2.6.6 (EPD)
Scientific Linux 6.0 sqlite 3.6.20, Python 2.6.6
WinXP sqlite 3.6.21, Python 2.7.1
Fedora 14 sqlite 3.6.23.1, Python 2.7
Fedora 15 sqlite 3.7.5, Python 2.7.1
- `
The following combinations raise the sqlite3.ProgrammingError:
- `
Ubuntu 10.04 sqlite 3.6.22, Python 2.6.5
Ubuntu 10.10 sqlite 3.7.2, Python 2.6.6
Ubuntu 11.04 sqlite 3.7.4, Python 2.6.6
- `
Any easy workaround is to just add a semicolon, i.e. this:
c.executescript(";")
instead of this:
c.executescript("")
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: python2.6 2.6.6-6ubuntu7
ProcVersionSignature: Ubuntu 2.6.38-10.46-generic 2.6.38.7
Uname: Linux 2.6.38-10-generic i686
Architecture: i386
Date: Sun Aug 7 18:21:50 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
ProcEnviron:
LANGUAGE=en_US:en
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: python2.6
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/822459
Title:
Python 2.6/SQLite: blank SQL gives sqlite3.ProgrammingError
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python2.6/+bug/822459/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs