sqllite doesn't support tables with names such as release or savepoint
Bug #375852 reported by
jfding
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sqlite (Fedora) |
Fix Released
|
Critical
|
|||
sqlite3 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jaunty |
Fix Released
|
Medium
|
Loïc Minier |
Bug Description
sqlite3 doesn't support tables with the names release or savepoint; this notably breaks yum.
TESTCASE:
cat <<EOF | sqlite3
CREATE TABLE savepoint(release);
INSERT INTO savepoint(release) VALUES(10);
UPDATE savepoint SET release = 5;
SELECT release FROM savepoint;
EOF
fail:
SQL error near line 1: near "savepoint": syntax error
SQL error near line 2: near "savepoint": syntax error
SQL error near line 3: near "savepoint": syntax error
SQL error near line 4: near "release": syntax error
passes:
5
Changed in sqlite (Fedora): | |
status: | Unknown → Fix Released |
affects: | yum (Ubuntu) → sqlite3 (Ubuntu) |
Changed in sqlite3 (Ubuntu): | |
status: | New → Fix Released |
Changed in sqlite3 (Ubuntu Jaunty): | |
status: | Fix Released → Fix Committed |
tags: |
added: verification-done removed: verification-needed |
Changed in sqlite (Fedora): | |
importance: | Unknown → Critical |
To post a comment you must log in.
Description of problem:
Yum fails with latest sqlite 3.6.10 in rawhide.
Version-Release number of selected component (if applicable):
yum-3.2.21-3
How reproducible:
Always
Steps to Reproduce:
1. Update to new sqlite.
2. Remove /var/cache/yum directory.
3. Run a yum update.
Actual results:
It fetches the primary dbs for all the repos and then returns the following error:
Error: malformed database schema (removals) - no such table: main.packages
Expected results:
Update without error.
Additional info:
Yum works as expected if you revert to the previous sqlite-3.6.7, so it is definitely some change in the sqlite api.
There is also an issue with local repositories created with createrepo. I had a local repository in my repos.d and it causes the following error:
localrepo | 1.0 kB 00:00
localrepo/primary | 27 kB 00:00
(process:5225): GLib-CRITICAL **: g_timer_stop: assertion `timer != NULL' failed
(process:5225): GLib-CRITICAL **: g_timer_destroy: assertion `timer != NULL' failed user_main( sys.argv[ 1:], exit_code=True) yum-cli/ yummain. py", line 229, in user_main yum-cli/ yummain. py", line 104, in main yum-cli/ cli.py" , line 339, in doCommands _getTs( needTsRemove) python2. 6/site- packages/ yum/depsolve. py", line 101, in _getTs _getTsInfo( remove_ only) python2. 6/site- packages/ yum/depsolve. py", line 112, in _getTsInfo python2. 6/site- packages/ yum/__init_ _.py", line 592, in <lambda> fget=lambda self: self._getSacks(), python2. 6/site- packages/ yum/__init_ _.py", line 435, in _getSacks repos.populateS ack(which= repos) python2. 6/site- packages/ yum/repos. py", line 251, in populateSack populate( repo, mdtype, callback, cacheonly) python2. 6/site- packages/ yum/yumRepo. py", line 184, in populate function( xml, csum) python2. 6/site- packages/ sqlitecachec. py", line 45, in getPrimary
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.
File "/usr/share/
errcode = main(args)
File "/usr/share/
result, resultmsgs = base.doCommands()
File "/usr/share/
self.
File "/usr/lib/
self.
File "/usr/lib/
pkgSack = self.pkgSack
File "/usr/lib/
pkgSack = property(
File "/usr/lib/
self.
File "/usr/lib/
sack.
File "/usr/lib/
dobj = repo_cache_
File "/usr/lib64/
self.repoid))
TypeError: Can not create packages table: near "release": syntax error
Again, when I revert to the previous sqlite 3.6.7, yum works as expected.