[sqlite] SQLite 3.6.8+ breaks YUM
Hi, I've been back-porting SQLite 3.x to CentOS 4.7 for some development work. I've been taking the SRPMS from koji.fedoraproject.org and rebuilding them. All has been fine through v3.6.7 but when I tried to recently upgrade to 3.6.10 (by just updating the SPEC file and rebuilding), the YUM updater no longer works. In particular the python-sqlite package exits with an error when it tries to read it's cache file (I assume that it's a SQLite DB). I checked the in-between builds and one of the changes in v3.6.8 has triggered this error. Is there anyone else with a similar problem? FWIW, I've also done this under CentOS 5.2 and it also breaks its YUM too. Thanks, Tuan P.S. Please reply all since I'm not subscribed to the mailing list. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] request to become co-maintainer of DBD::SQLite
I am not sure agree. Companies that don't upgrade DBI releases are unlikely to upgrade DBD drivers more frequently; and they're always free to use older DBD releases. We don't want to hold developers hostage to the tendency of a few companies to be slow in upgrades. At my workplace, a large corporation, we make multiple DBI and DBD::xxx releases available, and applications can choose their own versions. It'd be unfortunate if useful new DBI features would not be used by current DBD::xxx releases. That's not to say that incompatibility should be introduced just for fun. But if a DBD driver wants to use a new DBI feature, and that breaks compatibility with older DBI releases, the DBD driver author should go ahead. The Makefile.PL file for the DBD module will specify the minimal DBI release required. yair lenga wrote: > Hi, > > I would like to highlight the fact the in large corporations, bumping > DBI to new version is a major issue, as the module serve as a > foundation for hundreds of applications, which must be retested on every > change. As a result, large companies will bump DBI version every few > years. > > Also, large companies usually prefer to use vendor provided software. > Red Hat 4 is bundled with DBI 1.40, and Red Hat 5 is bundled with 1.52. > While this may not be the latest and greatest, this is the reality for > many development projects. > > My 2 cents - If possible, DBD drivers should be compatible with older > version as long as practically possible. This will make newer SQLite > versions viable option for most projects. > > Yair > > >> >> -Original Message- >> From: Darren Duncan [mailto:dar...@darrenduncan.net] >> Sent: Wednesday, January 14, 2009 9:19 PM >> To: General Discussion of SQLite Database; DBI Dev >> Subject: Re: [sqlite] request to become co-maintainer of DBD::SQLite >> >> These are replies to posts on the sqlite-users list. However, if there >> is going to be ongoing discussion I prefer it happen on the dbi-dev >> list. Not that sqlite-users isn't very on topic itself, dbi-dev just >> seems *more* on topic, I think. >> >> Clark Christensen wrote: One of my first code changes will be to require DBI 1.607+ >>> The current DBD-SQLite works fine under older versions of DBI. So >> unless there's a compelling reason to do it, I would prefer you not make >> what seems like an arbitrary requirement. >> >> I have 2 answers to that: >> >> 1. Sure, I can avoid changing the enforced dependency requirements for >> now, leaving them as Matt left them. However, I will officially >> deprecate support for the older versions and won't test on them. If >> something works with the newer dependencies but not the older ones, it >> will be up to those using or supporting the older dependencies to supply >> fixes. >> >> 2. On one hand I could say, why not update your DBI when you're >> updating DBD::SQLite, since even the DBI added lots of fixes one should >> have. On the other hand, I can understand the reality that you may have >> other legacy modules like drivers for other old databases that might >> break with a DBI update. I say might, since on the other hand they >> might not break. Still, I'll just go the deprecation angle for now. >> >>> Otherwise, it sounds like a good start. Matt must be really busy with >> other work. >>> I'll be happy to contribute where I can, but no C-fu here, either :-( >> Thank you. >> >> Ribeiro, Glauber wrote: >> > My only suggestion at the moment, please use the amalgamation instead >> of > individual files. This makes it much easier to upgrade when SQLite >>> releases a new version. >> Okay. >> >> Jim Dodgen wrote: >> > I'm for the amalgamation too. the rest of you ideas are great also. >> > excelent idea to use Audrey Tangs nameing convention. >> > >> > I have been stuck back at 3.4 for various issues. >> > >> > I do Perl and C and offer some help. >> >> Okay and thank you. >> >> -- Darren Duncan >> >> >> > ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] reading beyond end of file
Hello Richard I'm using a heavily-modified version of threadtest1.c from the SQLite test suite to run on my embedded platform. I think Noah may be on to something (thanks Noah!) - I looked at the stacktrace and found that the specific sqlite3OsRead() call he mentioned was triggering my bad VFS read. Are previous versions of the amalgamation source available? I'd be happy to try 3.6.8 and 3.6.9 to see at which version this issue appeared. Cheers, Dave. -Original Message- From: D. Richard Hipp [mailto:d...@hwaci.com] Sent: 16 January 2009 15:30 To: General Discussion of SQLite Database Subject: Re: [sqlite] reading beyond end of file On Jan 16, 2009, at 5:38 PM, Dave Toll wrote: > Hello list > > > > I recently upgraded from SQLite 3.6.7 to 3.6.10 and I'm now noticing > some apparently undesirable behaviour. I'm running on an embedded > system > with my own VFS implementation, and I see in my tests that SQLite is > now > trying to read journal files at an offset beyond the end of the > file. Is > anyone aware of any recent changes that could cause this scenario? > Should this case be handled within the VFS implementation? > For testing this, I added an assert() to the unix VFS which will fire if it ever tries to read past the end of a journal file. Then I ran our test suite. The assert() never fired. So in our test suite, at least, SQLite never reads past the end of a a journal file. I'm curious to know what you are doing to provoke it to read past the end of a journal file. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] reading beyond end of file
On Jan 16, 2009, at 6:54 PM, D. Richard Hipp wrote: > > On Jan 16, 2009, at 6:43 PM, Noah Hart wrote: > >> Just a random thought ... This is new code in pager.c, >> and if Pager->journalOff is at the end of the file, >> then perhaps it could cause his problem. >> >> ** >> ** To work around this, if the journal file does appear to >> contain >> ** a valid header following Pager.journalOff, then write a 0x00 >> ** byte to the start of it to prevent it from being recognized. >> */ >> rc = sqlite3OsRead(pPager.jfd, zMagic, 8, jrnlOff); >> > > > Noah is correct. There was a bug in my earlier assert statement. > The code above reads past the end of the journal file when you are > in persistent journaling mode. > Note that correct behavior of the xRead method of the VFS in this case is to return SQLITE_IOERR_SHORT_READ since it should be reading 0 bytes. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] reading beyond end of file
On Jan 16, 2009, at 6:43 PM, Noah Hart wrote: > Just a random thought ... This is new code in pager.c, > and if Pager->journalOff is at the end of the file, > then perhaps it could cause his problem. > >** >** To work around this, if the journal file does appear to > contain >** a valid header following Pager.journalOff, then write a 0x00 >** byte to the start of it to prevent it from being recognized. >*/ >rc = sqlite3OsRead(pPager.jfd, zMagic, 8, jrnlOff); > Noah is correct. There was a bug in my earlier assert statement. The code above reads past the end of the journal file when you are in persistent journaling mode. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] reading beyond end of file
Just a random thought ... This is new code in pager.c, and if Pager->journalOff is at the end of the file, then perhaps it could cause his problem. ** ** To work around this, if the journal file does appear to contain ** a valid header following Pager.journalOff, then write a 0x00 ** byte to the start of it to prevent it from being recognized. */ rc = sqlite3OsRead(pPager.jfd, zMagic, 8, jrnlOff); --- Noah -Original Message- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of D. Richard Hipp Sent: Friday, January 16, 2009 3:30 PM To: General Discussion of SQLite Database Subject: Re: [sqlite] reading beyond end of file Importance: High On Jan 16, 2009, at 5:38 PM, Dave Toll wrote: > Hello list > > > > I recently upgraded from SQLite 3.6.7 to 3.6.10 and I'm now noticing > some apparently undesirable behaviour. I'm running on an embedded > system > with my own VFS implementation, and I see in my tests that SQLite is > now > trying to read journal files at an offset beyond the end of the > file. Is > anyone aware of any recent changes that could cause this scenario? > Should this case be handled within the VFS implementation? > For testing this, I added an assert() to the unix VFS which will fire if it ever tries to read past the end of a journal file. Then I ran our test suite. The assert() never fired. So in our test suite, at least, SQLite never reads past the end of a a journal file. I'm curious to know what you are doing to provoke it to read past the end of a journal file. D. Richard Hipp d...@hwaci.com CONFIDENTIALITY NOTICE: This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] reading beyond end of file
On Jan 16, 2009, at 5:38 PM, Dave Toll wrote: > Hello list > > > > I recently upgraded from SQLite 3.6.7 to 3.6.10 and I'm now noticing > some apparently undesirable behaviour. I'm running on an embedded > system > with my own VFS implementation, and I see in my tests that SQLite is > now > trying to read journal files at an offset beyond the end of the > file. Is > anyone aware of any recent changes that could cause this scenario? > Should this case be handled within the VFS implementation? > For testing this, I added an assert() to the unix VFS which will fire if it ever tries to read past the end of a journal file. Then I ran our test suite. The assert() never fired. So in our test suite, at least, SQLite never reads past the end of a a journal file. I'm curious to know what you are doing to provoke it to read past the end of a journal file. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] reading beyond end of file
Hello list I recently upgraded from SQLite 3.6.7 to 3.6.10 and I'm now noticing some apparently undesirable behaviour. I'm running on an embedded system with my own VFS implementation, and I see in my tests that SQLite is now trying to read journal files at an offset beyond the end of the file. Is anyone aware of any recent changes that could cause this scenario? Should this case be handled within the VFS implementation? Thanks, Dave. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Question on database locking or corrupted
I am currently using Sqlite version 2.8.13. We have one thread that constantly inserts data to sqlite tables. I have a UI application that reads data from the same database, I sometimes get an error from the UI app: "Attempted to read or write protected memory. This is often indication that other memory is corrupt." When I try to do select from the sqlite command prompt, I got the SQL error: database is locked. Please advice on what I can do to eliminate the read lock access problem. Thank you for your help. Trien ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Question on delete record in a master-detail typetables
Dao, Trien (STP)wrote: >> I have two tables - header and detail tables - that are a master >> -detail type setup, with header ID item is the FK to rowID in the >> detail table. Deleting a record in the header table, would that >> also delete the records in the detail table? Not automatically, but you can create a trigger to achieve that. Igor Tandetnik ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] FW: Question on delete record in a master-detail type tables
> -Original Message- > From: Dao, Trien (STP) > Sent: Friday, January 16, 2009 10:32 AM > To: 'sqlite-users-boun...@sqlite.org' > Subject: Question on delete record in a master-detail type tables > > I have two tables - header and detail tables - that are a master -detail type > setup, with header ID item is the FK to rowID in the detail table. Deleting > a record in the header table, would that also delete the records in the > detail table? Please recommend the best way to delete both the master and > detail records. Thank you for your help. > > Trien ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Multi-thread concurrency problem
Hi, I'm running a multi-threaded application and am running into some concurrency issues. I have thread "A" which is attempting to do thousands of reads that take approximately 20-50ms each. Thread "B" is writing to the database and each write takes a few seconds. Currently, it appears that thread "A" is locked out from reading while thread "B" is writing (which is what I expect based upon documentation). Thread "B" is working within transactions so thread "A" is only locked out while thread "B" is committing. So essentially thread "A" is taking 60x longer to execute when thread "B" is writing. I've tried enabling the shared cache, but that results in lots of database lock failures and seems to ignore the busytimeout. Does anybody have any creative solutions to such a problem? I've looked in to the read_uncommitted pragma command, but can't find a lot of detail. In the code documentation, it says that the read_uncommited pragma ignores the "table" lock, but my understanding of the locking model is that the database as a whole is locked, not individual tables. Also, the documentation seemed to indicate that it had some relationship to the shared cache mode. Would enabling the read_uncommited pragma ever result in invalid data being read from a table which is being written to? Thank for any help! Mike Borland CygNet Software, Inc. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Jan 16, 2009, at 2:24 PM, Nicolas Williams wrote: > On Fri, Jan 16, 2009 at 02:22:35PM -0500, D. Richard Hipp wrote: >> >> On Jan 16, 2009, at 2:07 PM, Nicolas Williams wrote: >> >>> On Sat, Jan 17, 2009 at 02:04:47AM +0700, Dan wrote: > What do those mean? Are these errors a problem? Are you compiling with SQLITE_ENABLE_FTS3 defined? >>> >>> Yes. Would that make a difference? >> >> Yes. FTS3 is not robust against malloc failures. FTS3 will >> sometimes >> segfault following a malloc failure. This is a known issue. We are >> working on it. > > Is that true only when one uses FTS3? > > Or is it true if FTS3 is compiled in even if one does not use it? I think FTS3 only mallocs() if you use it. But I haven't really checked, so I don't know for certain. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
Is it safe to ship 3.6.10 with FTS3 compiled in? Oh, I've found ticket #2762, which helps explain what I'm seeing. Basically, SQLite 3.6.9 (haven't tried 3.6.10 yet, though obviously I must) and earlier had bugs in FTS3 where FTS3 was using malloc()/ free()/... directly from libc instead of sqlite3_malloc()/ sqlite3_free()/... When you could this with fault injection during memory management tests via sqlite3Fault() then bad things happen. I suppose that just the fix for ticket #2762 may not be enough, but it sounds like a great start. BTW, how can I tell which releases have a given check-in? Nico -- ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] need a CURRENT_USER() function
Hello! В сообщении от Friday 16 January 2009 18:25:34 jose isaias cabrera написал(а): > Did not come attached... Will you send it again? Source: http://mobigroup.ru/dload/sqlite3.6.7/env.c Full source: http://mobigroup.ru/dload/sqlite3.6.7/sqlite-3.6.7.tar.bz2 Compiled: http://mobigroup.ru/dload/sqlite3.6.7/libsqliteenv.so Full SQLite+extensions: http://mobigroup.ru/dload/sqlite3.6.7/libsqlite3.so.0.8.6 http://mobigroup.ru/dload/sqlite3.6.7/libtclsqlite3.so.0.8.6 http://mobigroup.ru/dload/sqlite3.6.7/sqlite3 There is extensions: billing compress env fts1 fts2 fts3 functions gaiageo iconv icu inet mbrcache md5 rtree tablefunc uuid virtualshape virtualtext Best regards, Alexey. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Fri, Jan 16, 2009 at 02:22:35PM -0500, D. Richard Hipp wrote: > > On Jan 16, 2009, at 2:07 PM, Nicolas Williams wrote: > > > On Sat, Jan 17, 2009 at 02:04:47AM +0700, Dan wrote: > >>> What do those mean? Are these errors a problem? > >> > >> Are you compiling with SQLITE_ENABLE_FTS3 defined? > > > > Yes. Would that make a difference? > > Yes. FTS3 is not robust against malloc failures. FTS3 will sometimes > segfault following a malloc failure. This is a known issue. We are > working on it. Is that true only when one uses FTS3? Or is it true if FTS3 is compiled in even if one does not use it? Nico -- ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Jan 16, 2009, at 2:07 PM, Nicolas Williams wrote: > On Sat, Jan 17, 2009 at 02:04:47AM +0700, Dan wrote: >>> What do those mean? Are these errors a problem? >> >> Are you compiling with SQLITE_ENABLE_FTS3 defined? > > Yes. Would that make a difference? Yes. FTS3 is not robust against malloc failures. FTS3 will sometimes segfault following a malloc failure. This is a known issue. We are working on it. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Sat, Jan 17, 2009 at 02:04:47AM +0700, Dan wrote: > > What do those mean? Are these errors a problem? > > Are you compiling with SQLITE_ENABLE_FTS3 defined? Yes. Would that make a difference? ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Fri, Jan 16, 2009 at 01:14:28PM -0500, D. Richard Hipp wrote: > > What do those mean? Are these errors a problem? > > These are simulated malloc() failures. They are important for > embedded devices (which tend to run out of memory) but not so much on > Solaris. When was the last time you remember that malloc() really > failed on a workstation or a server? That's what I expected, but you should know that on Solaris malloc() can fail with ENOMEM. On Linux malloc() typically never fails, as Linux takes the OOM killer approach. > The errors you are getting seem to indicate that the memory allocation > problems are simply not getting reported back up to the top-level. > SQLite is able to complete whatever it was doing in spite of malloc() > returning NULL. I do not know why. If you want to try to debug the Is that a problem? > problem, set a breakpoint on the routine "sqlite3Fault()" for the test > case that is given a problem. The sqlite3Fault() routine is called > whenever one of the simulated malloc() failures occurs. Then look at > the stack to see where the problem is occurring. Using DTrace I see lots of calls to sqlite3Fault(), so I used speculative tracing to grab the stacktrace of sqlite3Fault() calls that were followed by writes to stdout of "\nExpected: ..." and got these stack traces for those test failures (DTrace script attached): CPU IDFUNCTION:NAME 1 61477 sqlite3Fault:entry testfixture`sqlite3Fault testfixture`faultsimStep+0x27 testfixture`faultsimMalloc+0xe testfixture`mallocWithAlarm+0x5d testfixture`sqlite3Malloc+0x42 testfixture`sqlite3DbMallocRaw+0x70 testfixture`sqlite3DbMallocZero+0x14 testfixture`sqlite3FindFunction+0xca testfixture`sqlite3CreateFunc+0x13c testfixture`sqlite3_create_function+0x31 testfixture`sqlite3Fts3ExprInitTestInterface+0x22 testfixture`sqlite3Fts3Init+0x99 testfixture`openDatabase+0x320 testfixture`sqlite3_open_v2+0x18 testfixture`DbMain+0x2b1 libtcl8.4.so`TclEvalObjvInternal+0x200 libtcl8.4.so`TclExecuteByteCode+0x1199 libtcl8.4.so`TclCompEvalObj+0x112 libtcl8.4.so`Tcl_EvalObjEx+0x69 libtcl8.4.so`Tcl_CatchObjCmd+0x43 0 61477 sqlite3Fault:entry testfixture`sqlite3Fault testfixture`faultsimStep+0x27 testfixture`faultsimMalloc+0xe testfixture`mallocWithAlarm+0x5d testfixture`sqlite3Malloc+0x42 testfixture`sqlite3DbMallocRaw+0x70 testfixture`sqlite3DbMallocZero+0x14 testfixture`sqlite3FindFunction+0xca testfixture`sqlite3CreateFunc+0x13c testfixture`sqlite3_create_function+0x31 testfixture`sqlite3Fts3ExprInitTestInterface+0x22 testfixture`sqlite3Fts3Init+0x99 testfixture`openDatabase+0x320 testfixture`sqlite3_open_v2+0x18 testfixture`DbMain+0x2b1 libtcl8.4.so`TclEvalObjvInternal+0x200 libtcl8.4.so`TclExecuteByteCode+0x1199 libtcl8.4.so`TclCompEvalObj+0x112 libtcl8.4.so`Tcl_EvalObjEx+0x69 libtcl8.4.so`Tcl_CatchObjCmd+0x43 0 61477 sqlite3Fault:entry testfixture`sqlite3Fault testfixture`faultsimStep+0x27 testfixture`faultsimMalloc+0xe testfixture`mallocWithAlarm+0x5d testfixture`sqlite3Malloc+0x42 testfixture`sqlite3DbMallocRaw+0x70 testfixture`sqlite3DbMallocZero+0x14 testfixture`sqlite3FindFunction+0xca testfixture`sqlite3CreateFunc+0x13c testfixture`sqlite3_create_function+0x31 testfixture`sqlite3Fts3ExprInitTestInterface+0x22 testfixture`sqlite3Fts3Init+0x99 testfixture`openDatabase+0x320 testfixture`sqlite3_open16+0x51 testfixture`test_open16+0x2e libtcl8.4.so`TclEvalObjvInternal+0x200 libtcl8.4.so`TclExecuteByteCode+0x1199 libtcl8.4.so`TclCompEvalObj+0x112 libtcl8.4.so`Tcl_EvalObjEx+0x69 libtcl8.4.so`Tcl_CatchObjCmd+0x43 0 61477 sqlite3Fault:entry testfixture`sqlite3Fault testfixture`faultsimStep+0x27 testfixture`faultsimMalloc+0xe testfixture`mallocWithAlarm+0x5d testfixture`sqlite3Malloc+0x42 testfixture`sqlite3DbMallocRaw+0x70 testfixture`sqlite3DbMallocZero+0x14 testfixture`sqlite3FindFunction+0xca testfixture`sqlite3CreateFunc+0x13c
Re: [sqlite] fulltest *malloc* test failures
On Jan 17, 2009, at 12:58 AM, Nicolas Williams wrote: > Failures on these tests: malloc-1.transient.40 malloc-10.transient.40 >malloc-14.transient.40 malloc-17.transient.41 > malloc-20.transi ent.40 malloc-26.transient.40 > > malloc-1.transient.40... > Expected: [1 1] > Got: [0 {1 2.3 4.5 hi there^@ 6 7.0 0.8 hello {out yonder} 1 > {out yonder} 7.0}] > malloc-10.transient.40... > Expected: [1 1] > Got: [0 {}] > malloc-14.transient.40... > Expected: [1 1] > Got: [0 {1 2}] > malloc-17.transient.41... > Expected: [1 1] > Got: [0 0] > malloc-20.transient.40... > Expected: [1 1] > Got: [0 {}] > malloc-26.transient.40... > Expected: [1 1] > Got: [0 {}] > > What do those mean? Are these errors a problem? Are you compiling with SQLITE_ENABLE_FTS3 defined? ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] fulltest *malloc* test failures
On Jan 16, 2009, at 12:58 PM, Nicolas Williams wrote: > Failures on these tests: malloc-1.transient.40 malloc-10.transient.40 >malloc-14.transient.40 malloc-17.transient.41 > malloc-20.transi ent.40 malloc-26.transient.40 > > malloc-1.transient.40... > Expected: [1 1] > Got: [0 {1 2.3 4.5 hi there^@ 6 7.0 0.8 hello {out yonder} 1 > {out yonder} 7.0}] > malloc-10.transient.40... > Expected: [1 1] > Got: [0 {}] > malloc-14.transient.40... > Expected: [1 1] > Got: [0 {1 2}] > malloc-17.transient.41... > Expected: [1 1] > Got: [0 0] > malloc-20.transient.40... > Expected: [1 1] > Got: [0 {}] > malloc-26.transient.40... > Expected: [1 1] > Got: [0 {}] > > What do those mean? Are these errors a problem? > These are simulated malloc() failures. They are important for embedded devices (which tend to run out of memory) but not so much on Solaris. When was the last time you remember that malloc() really failed on a workstation or a server? The errors you are getting seem to indicate that the memory allocation problems are simply not getting reported back up to the top-level. SQLite is able to complete whatever it was doing in spite of malloc() returning NULL. I do not know why. If you want to try to debug the problem, set a breakpoint on the routine "sqlite3Fault()" for the test case that is given a problem. The sqlite3Fault() routine is called whenever one of the simulated malloc() failures occurs. Then look at the stack to see where the problem is occurring. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] fulltest *malloc* test failures
Failures on these tests: malloc-1.transient.40 malloc-10.transient.40 malloc-14.transient.40 malloc-17.transient.41 malloc-20.transi ent.40 malloc-26.transient.40 malloc-1.transient.40... Expected: [1 1] Got: [0 {1 2.3 4.5 hi there^@ 6 7.0 0.8 hello {out yonder} 1 {out yonder} 7.0}] malloc-10.transient.40... Expected: [1 1] Got: [0 {}] malloc-14.transient.40... Expected: [1 1] Got: [0 {1 2}] malloc-17.transient.41... Expected: [1 1] Got: [0 0] malloc-20.transient.40... Expected: [1 1] Got: [0 {}] malloc-26.transient.40... Expected: [1 1] Got: [0 {}] What do those mean? Are these errors a problem? Nico -- ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
On Fri, Jan 16, 2009 at 09:43:36AM +0100, Christophe Leske wrote: > sqlite> .o cl1.sql ^^ This says: send output of queries to a file called "cl1.sql". > sqlite> .dump cl1% And this says: dump the named table. > sqlite> select * from cl1; And the output of this will still go to a file called "cl1.sql". > sqlite> > > Also, a .show statement returns nothing either. It seems as if the > database does simply not exist anymore. Look: % sqlite3 /tmp/xdb SQLite version 3.6.9 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> create table t(a); sqlite> insert into t values (1); sqlite> .o /tmp/xyz sqlite> .dump t sqlite> select * from t; sqlite> .show sqlite> .o stdout sqlite> select * from t; 1 sqlite> .dump t BEGIN TRANSACTION; CREATE TABLE t(a); INSERT INTO "t" VALUES(1); COMMIT; sqlite> .show echo: off explain: off headers: off mode: list nullvalue: "" output: stdout separator: "|" width: sqlite> ^D % sqlite3 /tmp/xdb SQLite version 3.6.9 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .dump t BEGIN TRANSACTION; CREATE TABLE t(a); INSERT INTO "t" VALUES(1); COMMIT; sqlite> ^D % Nico -- ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
> After you complete your ".dump" do: > > .output stdout > Ok, that was stupid, my apologies. Yet somehow this used to work i think... Still, when rereading the dumped table, it does not reread the values correctly for the rtree table. I am sorry, I must go now, I can provide further information on the 25th. Thank you for your patience, -- Christophe Leske www.multimedial.de - i...@multimedial.de http://www.linkedin.com/in/multimedial Lessingstr. 5 - 40227 Duesseldorf - Germany 0211 261 32 12 - 0177 249 70 31 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
On Jan 16, 2009, at 3:42 AM, Christophe Leske wrote: > >> Try instead: >> >>.dump cl1% > Apparently, this doesn´t help either. Once I tried to export the > table, the application refuses to show the entries in the table. > > The database i am opening here is correct, it holds data in cl1 > prior to opening it for this step here: > > Microsoft Windows XP [Version 5.1.2600] > (C) Copyright 1985-2001 Microsoft Corp. > > C:\Arbeit\Arbeit\__Projekte\2007\MMCD\SRC\globe\DB>sqlite3 > countries2.db > SQLite version 3.6.10 > Enter ".help" for instructions > Enter SQL statements terminated with a ";" > sqlite> .o cl1.sql > sqlite> .dump cl1% > sqlite> select * from cl1; > sqlite> > > Also, a .show statement returns nothing either. It seems as if the > database does simply not exist anymore. > Everything is still working normally. But the output is all going into the file named "cl1.sql", as you requested on the first line. After you complete your ".dump" do: .output stdout To cause output to go to the screen again. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] need a CURRENT_USER() function
Did not come attached... Will you send it again? - Original Message - From: "Alexey Pechnikov"To: "General Discussion of SQLite Database" Sent: Friday, January 16, 2009 5:47 AM Subject: Re: [sqlite] need a CURRENT_USER() function > Hello! > > В сообщении от Friday 16 January 2009 00:23:18 Hoover, Jeffrey написал(а): >> Can anyone tell me set-by-step how to add a CURRENT_USER() function to >> SQLLITE that will return the current linux login? > > See attached file. > > Best regards, Alexey. > > ___ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
On Jan 16, 2009, at 3:43 AM, Christophe Leske wrote: > > Do you want me to mail you the corrupted database for further > inspection? I also understand that this is not the right place for > bugreports eventually. No. Email me the original, uncorrupted database and instructions for how to make the corruption occur. D. Richard Hipp d...@hwaci.com ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Sqlite3 database creation very slow when changes Linux OS version
On Fri, Jan 16, 2009 at 11:52:01AM +0100, Mohamed Zayed scratched on the wall: > Hi, > > I wender if you ever have experienced this kind of problem. In fact, I used > to create a database which > contains about 1.5 Millions records. > > The problem is, when I do this on : > Linux 2.6.9-34.ELsmp #1 SMP Sun Mar 19 13:54:02 CST 2006 i686 i686 i386 > GNU/Linux > > it takes less than 10 minutes > > However when, I do it on : > Linux 2.6.18-53.el5 #1 SMP Mon Nov 12 02:14:55 EST 2007 x86_64 x86_64 x86_64 > GNU/Linux > > it takes about 2 hours ? It sounds like the first case is using transactions and/or has "PRAGMA synchronous" turned off, while the second one is inserting records one at a time. The low CPU indicates a lot of thumb twiddling while waiting for physical I/O. I suppose the other possibility is that the first machine lies to SQLite about when the writes actually hit spinning disk, while the second version does not. -j -- Jay A. Kreibich < J A Y @ K R E I B I.C H > "Our opponent is an alien starship packed with atomic bombs. We have a protractor." "I'll go home and see if I can scrounge up a ruler and a piece of string." --from Anathem by Neal Stephenson ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] tcl blobs and incrblobs
As a (new) user I followed the advice looking at the tcl test examples to understand how to move text files to an sql database using blobs or incrblobs. Net result is I can't unerstand or do it. Please has someone got a tcl script(s) that loads and unloads files? - further perhaps reading and writing using puts and gets with a channelid? Thanks Dave Davies ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] How to use BEGIN & COMMIT in my C program?
"Pramoda M. A"wrote in message news:f7846b8f3c78c049b6a1dff861f6c16f031cd...@kcinblrexb01.kpit.com > How to use BEGIN and COMMIT in my C program? They are statements. You exectue them as you would any other statement, like INSERT or UPDATE. Igor Tandetnik ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Hi All
HI , We are using freescale 1.MX31 board and Windows CE OS. We have ported sqlite 3.6.5. But system is hanging after porting. My colleagues saying that malloc functions used by sqlite itself causing the problem. Is it true? Can anybody please help me in this regard? Pramoda.M.A KPIT Cummins Infosystems Limited | Bengaluru ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
> Try instead: > > .dump cl1% Apparently, this doesn´t help either. Once I tried to export the table, the application refuses to show the entries in the table. The database i am opening here is correct, it holds data in cl1 prior to opening it for this step here: Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Arbeit\Arbeit\__Projekte\2007\MMCD\SRC\globe\DB>sqlite3 countries2.db SQLite version 3.6.10 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .o cl1.sql sqlite> .dump cl1% sqlite> select * from cl1; sqlite> Also, a .show statement returns nothing either. It seems as if the database does simply not exist anymore. Furthermore, i got a corrupted version of the database here as the result of my operations as well - this used to be the same database than the one above, yet after exporting and reimporting the data for the cl1 table, it is now corrupted. C:\Arbeit\Arbeit\__Projekte\2007\MMCD\SRC\globe\DB>sqlite3 countries-corrupted.d b SQLite version 3.6.10 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .s sqlite> .s cl1; sqlite> We also experience crashes with the new version, but this may be due to the component we are using (i am not sure it is supporting the new version of sqlite.dll) Do you want me to mail you the corrupted database for further inspection? I also understand that this is not the right place for bugreports eventually. Christophe Leske www.multimedial.de - i...@multimedial.de http://www.linkedin.com/in/multimedial Lessingstr. 5 - 40227 Duesseldorf - Germany 0211 261 32 12 - 0177 249 70 31 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] request to become co-maintainer of DBD::SQLite
Hi, I would like to highlight the fact the in large corporations, bumping DBI to new version is a major issue, as the module serve as a foundation for hundreds of applications, which must be retested on every change. As a result, large companies will bump DBI version every few years. Also, large companies usually prefer to use vendor provided software. Red Hat 4 is bundled with DBI 1.40, and Red Hat 5 is bundled with 1.52. While this may not be the latest and greatest, this is the reality for many development projects. My 2 cents - If possible, DBD drivers should be compatible with older version as long as practically possible. This will make newer SQLite versions viable option for most projects. Yair > > > -Original Message- > From: Darren Duncan [mailto:dar...@darrenduncan.net] > Sent: Wednesday, January 14, 2009 9:19 PM > To: General Discussion of SQLite Database; DBI Dev > Subject: Re: [sqlite] request to become co-maintainer of DBD::SQLite > > These are replies to posts on the sqlite-users list. However, if there > is going to be ongoing discussion I prefer it happen on the dbi-dev > list. Not that sqlite-users isn't very on topic itself, dbi-dev just > seems *more* on topic, I think. > > Clark Christensen wrote: > >> One of my first code changes will be to require DBI 1.607+ > > > > The current DBD-SQLite works fine under older versions of DBI. So > unless there's a compelling reason to do it, I would prefer you not make > what seems like an arbitrary requirement. > > I have 2 answers to that: > > 1. Sure, I can avoid changing the enforced dependency requirements for > now, leaving them as Matt left them. However, I will officially > deprecate support for the older versions and won't test on them. If > something works with the newer dependencies but not the older ones, it > will be up to those using or supporting the older dependencies to supply > fixes. > > 2. On one hand I could say, why not update your DBI when you're > updating DBD::SQLite, since even the DBI added lots of fixes one should > have. On the other hand, I can understand the reality that you may have > other legacy modules like drivers for other old databases that might > break with a DBI update. I say might, since on the other hand they > might not break. Still, I'll just go the deprecation angle for now. > > > Otherwise, it sounds like a good start. Matt must be really busy with > other work. > > > > I'll be happy to contribute where I can, but no C-fu here, either :-( > > Thank you. > > Ribeiro, Glauber wrote: > > My only suggestion at the moment, please use the amalgamation instead > of > individual files. This makes it much easier to upgrade when SQLite > > releases a new version. > > Okay. > > Jim Dodgen wrote: > > I'm for the amalgamation too. the rest of you ideas are great also. > > excelent idea to use Audrey Tangs nameing convention. > > > > I have been stuck back at 3.4 for various issues. > > > > I do Perl and C and offer some help. > > Okay and thank you. > > -- Darren Duncan > > > ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10
Jim Dodgen schrieb: > I'm a strong believer in the "continuous improvement" philosophy. Keep up > the good work. > Same here. Better fix stuff as you know of it. Please keep up the great work with SQlite, i never used such a good and sturdy tool that just did what it was supposed to do. I think this is what I like best about it: it does the stuff it is supposed to do, no more, but also not less. -- Christophe Leske www.multimedial.de - i...@multimedial.de http://www.linkedin.com/in/multimedial Lessingstr. 5 - 40227 Duesseldorf - Germany 0211 261 32 12 - 0177 249 70 31 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] How to use BEGIN & COMMIT in my C program?
Hi All, How to use BEGIN and COMMIT in my C program? Main() { BEGIN; Sqlite3_exec(db, - - - -); COMMIT; } Is it valid? Pramoda.M.A KPIT Cummins Infosystems Limited | Bengaluru ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Sqlite3 database creation very slow when chang es Linux OS version
Mohamed Zayedwrites: > > Hi, > ... > The problem is, when I do this on : > Linux 2.6.9-34.ELsmp #1 SMP Sun Mar 19 13:54:02 CST 2006 i686 i686 i386 > GNU/Linux > > it takes less than 10 minutes > > However when, I do it on : > Linux 2.6.18-53.el5 #1 SMP Mon Nov 12 02:14:55 EST 2007 x86_64 x86_64 x86_64 > GNU/Linux > > it takes about 2 hours ? > > which is abnormal !!! > > I observed that the difference between these two cases is that the CPU is > well used (about 80 % ) in the first configuration. > But in the second configuration, the CPU usage is very slow (about 5%) > > By the way, the second configuration uses a newer material than the first > one > > do you have any ideas ?! > > thank you, I note the difference in OS - 32 bit vs. 64 bit. Does the CPU in 64-bit mode have to do 32-bit emulation and alignment fixups of 32-bit software? I remember it had to do this for Itanium running Win64, and it was 30% of the speed. MikeW ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Sqlite3 database creation very slow when changes Linux OS version
Hi, I wender if you ever have experienced this kind of problem. In fact, I used to create a database which contains about 1.5 Millions records. The problem is, when I do this on : Linux 2.6.9-34.ELsmp #1 SMP Sun Mar 19 13:54:02 CST 2006 i686 i686 i386 GNU/Linux it takes less than 10 minutes However when, I do it on : Linux 2.6.18-53.el5 #1 SMP Mon Nov 12 02:14:55 EST 2007 x86_64 x86_64 x86_64 GNU/Linux it takes about 2 hours ? which is abnormal !!! I observed that the difference between these two cases is that the CPU is well used (about 80 % ) in the first configuration. But in the second configuration, the CPU usage is very slow (about 5%) By the way, the second configuration uses a newer material than the first one do you have any ideas ?! thank you, ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] need a CURRENT_USER() function
Hello! В сообщении от Friday 16 January 2009 00:23:18 Hoover, Jeffrey написал(а): > Can anyone tell me set-by-step how to add a CURRENT_USER() function to > SQLLITE that will return the current linux login? See attached file. Best regards, Alexey. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10
Hello! В сообщении от Thursday 15 January 2009 20:07:49 D. Richard Hipp написал(а): > All this is to say that we believe that SQLite version 3.6.10 is the > most stable, most thoroughly tested, and bug-free version of SQLite > that has ever existed. Please do not be freaked out by three releases > occurring in one week. I'm using new releases for development and previos releases for production and I'm very glad to get new vesions quickly. Now 3.6.3 work fine for my production servers and 3.6.7 for testing servers and it's easy to upgrade. If I will need in some new features then I will upgrade to last version on testing server and after some time of my application development on production servers. It's good to public releases faster and it's application development catalyst. Best regards, Alexey. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10
Hello! В сообщении от Friday 16 January 2009 00:16:43 Thomas Hertweck написал(а): > It would not make sense to delay bug fixes, but have you ever thought > about using a different version number scheme? In the Linux kernel > development Linux kernel versions compability is bad and so version number is more complex. Best regards, Alexey. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Cross compilation
writes: > > Yes its generating the binary > > But how can i make sure that the binary is for ARM > > I can able to run the binary in X86 environment. (Actually it should not run > in x86) > Look like you aren't using the cross-compiler - that ./configure statement should let your 'make' use the arm-gcc compiler, or whatever is the name of your Arm compiler, Get a bit more familiar with your cross-compiler tools, check they run OK from the command line and find out why building SQLite in the documented way is not using the cross tools. MikeW ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] need a CURRENT_USER() function
Hi Jeffrey, use something like this: struct passwd *who; if ((who = getpwuid(getuid ())) != NULL) { oUserName = who->pw_name; } where oUserName is the desired result. See http://www.sqlite.org/capi3ref.html#sqlite3_create_function how to define your function. Martin Hoover, Jeffrey schrieb: > Can anyone tell me set-by-step how to add a CURRENT_USER() function to > SQLLITE that will return the current linux login? > > > > I'm not a C programmer and I have JUST picked up SQLite. > > I am trying to convert a Sybase schema to SQLite. The schema has > triggers triggers but so far they convert in a pretty straightforward > manner...that is, util I ran into a reference to "current_user" in > Sybase... > > > > Please help. > > > > Jeff. > > > > ___ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > -- * Codeswift GmbH * Traunstr. 30 A-5026 Salzburg-Aigen Tel: +49 (0) 8662 / 494330 Mob: +49 (0) 171 / 4487687 Fax: +49 (0) 12120 / 204645 engelsch...@codeswift.com www.codeswift.com / www.swiftcash.at Codeswift Professional IT Services GmbH Firmenbuch-Nr. FN 202820s UID-Nr. ATU 50576309 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite version 3.6.10 - Warning
> Try instead: > > .dump cl1% Apparently, this doesn´t help either. Once I tried to export the table, the application refuses to show the entries in the table. The database i am opening here is correct, it holds data in cl1 prior to opening it for this step here: Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Arbeit\Arbeit\__Projekte\2007\MMCD\SRC\globe\DB>sqlite3 countries2.db SQLite version 3.6.10 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .o cl1.sql sqlite> .dump cl1% sqlite> select * from cl1; sqlite> Also, a .show statement returns nothing either. It seems as if the database does simply not exist anymore. Furthermore, i got a corrupted version of the database here as the result of my operations as well - this used to be the same database than the one above, yet after exporting and reimporting the data for the cl1 table, it is now corrupted. C:\Arbeit\Arbeit\__Projekte\2007\MMCD\SRC\globe\DB>sqlite3 countries-corrupted.d b SQLite version 3.6.10 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .s sqlite> .s cl1; sqlite> We also experience crashes with the new version, but this may be due to the component we are using (i am not sure it is supporting the new version of sqlite.dll) Do you want me to mail you the corrupted database for further inspection? I also understand that this is not the right place for bugreports eventually. Christophe Leske www.multimedial.de - i...@multimedial.de http://www.linkedin.com/in/multimedial Lessingstr. 5 - 40227 Duesseldorf - Germany 0211 261 32 12 - 0177 249 70 31 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users