[sqlite] sqlite3.3.14
sqlite3.c D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5494) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5495) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5600) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5601) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5604) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5605) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5606) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5607) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5622) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5623) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5625) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5668) : warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5674) : warning C4244: '=' : conversion from 'double' to 'time_t', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5785) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5791) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5883) : warning C4244: '+=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5889) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(5895) : warning C4244: '+=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(6104) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(9622) : warning C4244: '=' : conversion from 'u64' to 'unsigned char', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(9625) : warning C4244: '=' : conversion from 'u64' to 'unsigned char', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(9632) : warning C4244: '=' : conversion from 'u64' to 'u8', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(16030) : warning C4244: 'initializing' : conversion from 'i64' to 'LONG', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(16031) : warning C4244: 'initializing' : conversion from 'i64' to 'LONG', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(16071) : warning C4244: 'initializing' : conversion from 'i64' to 'LONG', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(16075) : warning C4244: 'function' : conversion from 'i64' to 'LONG', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(17312) : warning C4018: '<' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(17903) : warning C4244: 'function' : conversion from 'i64' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(17908) : warning C4244: 'function' : conversion from 'i64' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18120) : warning C4244: '=' : conversion from 'i64' to 'u32', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18128) : warning C4244: '=' : conversion from 'i64' to 'u32', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18146) : warning C4018: '<' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18264) : warning C4244: '=' : conversion from 'i64' to 'u32', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18280) : warning C4244: '=' : conversion from 'i64' to 'u32', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18668) : warning C4244: '=' : conversion from 'i64' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18674) : warning C4244: 'return' : conversion from 'i64' to 'int', possible loss of data D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(18771) : warning C4018: '<=' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(19202) : warning C4018: '<=' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(20253) : warning C4018: '>' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQLite\sqlite3.c(20470) : warning C4018: '<=' : signed/unsigned mismatch D:\Ulti\MyApps\USQLite3\SQ
Re: [sqlite] Index creation
Sure, pre-caching is a hack - but a very effective one. It has also been suggested to use MAP_POPULATE for mmap() and posix_fadvise() in Linux. http://www.mail-archive.com/monotone-devel@nongnu.org/msg03222.html The general reaction against pre-caching (especially for tiny 100M databases) is amusing to me. Some programmers would rather wait 3 times longer for a database operation while the majority of the RAM in their machine goes unused. But if the OS did the same pre-cache thing behind their back without their knowledge - they would be good with that. --- Scott Hess <[EMAIL PROTECTED]> wrote: > An interesting approach would be to use some sort of async I/O > facility to implement read-ahead. > > Short of that, I have found that in some cases, on some operating > systems, implementing explicit read-ahead buffering for fts2 segment > merges improves performance when the disk caches are cold. Linux > kernel 2.6 seems to get no benefit, 2.4 gets more. This is somewhat > of a special case, though, as fts2 segment merges are merging streams > from different locations together, like an external sort. > > -scott > > > On 3/26/07, Joe Wilson <[EMAIL PROTECTED]> wrote: > > --- Joe Wilson <[EMAIL PROTECTED]> wrote: > > > > improved dramatically. So I attempted the creation of the index off > > > > hours on > > > > the production system, and after 4 hours no index. I can't detect any > > > > activity at all. The journal file and the .db file just sit at the same > > > > size > > > > for 4 hours. Why is this failing? It seems like it is just sitting > > > > there > > > > doing nothing. When I created the test index, I noticed the journal > > > > file > > > > changing and the .db file changing during the 2.5 hours to create. On > > > > the > > > > production .db file, nothing is happening. I have all associated > > > > processes > > > > killed that ineract with the db file, so I know it is not locked. > > > > > > I assume that the copied "test" database was indexed immediately after its > > > creation. If this was the case then the entire file may have been in the > > > OS > > > cache resulting in very quick indexing. Try running "wc prod.db" or > > > "cat prod.db >/dev/null" and then creating the indexes on prod.db to see > > > what happens. > > > > The original poster confirmed that cat'ting the file to /dev/null reduced > > index > > creation time to 2.5 hours on the original database file. > > > > Could some optional heuristic be incorporated into SQLite's pager to do > > something > > similar for such large transactions and/or queries? Don't get soaked. Take a quick peek at the forecast with the Yahoo! Search weather shortcut. http://tools.search.yahoo.com/shortcuts/#loc_weather - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
Excellent. All tests passed. Thanks for the quick fix. -Clark - Original Message From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: sqlite-users@sqlite.org Sent: Monday, April 2, 2007 3:20:45 PM Subject: Re: [sqlite] Version 3.3.14 Clark Christensen <[EMAIL PROTECTED]> wrote: > > Did you use "configure; make" to get this error? > > Yes. I used the configure script, and make, as you describe. > Apply the patch at http://www.sqlite.org/cvstrac/chngview?cn=3805 The library itself builds correctly, just not the test harness. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
Clark Christensen <[EMAIL PROTECTED]> wrote: > > Did you use "configure; make" to get this error? > > Yes. I used the configure script, and make, as you describe. > Apply the patch at http://www.sqlite.org/cvstrac/chngview?cn=3805 The library itself builds correctly, just not the test harness. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
sorry! was only my proxy cache.. On 02/04/07, Cesar Rodas <[EMAIL PROTECTED]> wrote: here http://www.sqlite.org/download.html i only could see the 3.13.. what is wrong with that? On 02/04/07, Clark Christensen <[EMAIL PROTECTED]> wrote: > > > Did you use "configure; make" to get this error? > > Yes. I used the configure script, and make, as you describe. > > -Clark > > - Original Message > From: " [EMAIL PROTECTED]" <[EMAIL PROTECTED]> > To: sqlite-users@sqlite.org > Sent: Monday, April 2, 2007 1:47:26 PM > Subject: Re: [sqlite] Version 3.3.14 > > Clark Christensen <[EMAIL PROTECTED]> wrote: > > I'm seeing an error in make test for 3.3.14: > > > > /tmp/ccDdRRCh.o: In function `Sqlitetest1_Init': > > /home/cchriste/sqlite-3.3.14/src/test1.c:4321: undefined reference to > `sqlite3_xferopt_count' > > collect2: ld returned 1 exit status > > make: *** [testfixture] Error 1 > > $ > > > > Red Hat Linux 7.2 (2.4.7.10); > > gcc 3.0.2 > > tcl 8.4.12 > > > > SQLite v3.3.13 and earlier tested OK for me. Any ideas? Something > too old in my setup? > > > > The sqlite3_xferopt_count global variable only exists if you > compile with -DSQLITE_TEST=1. It appears that the insert.c > module was not so compiled. Did you use "configure; make" to > get this error? > -- > D. Richard Hipp <[EMAIL PROTECTED] > > > > > - > To unsubscribe, send email to [EMAIL PROTECTED] > > - > > > > > > > - > To unsubscribe, send email to [EMAIL PROTECTED] > > - > > -- Cesar Rodas http://www.cesarodas.com/ Mobile Phone: 595 961 974165 Phone: 595 21 645590 [EMAIL PROTECTED] [EMAIL PROTECTED] -- Cesar Rodas http://www.cesarodas.com/ Mobile Phone: 595 961 974165 Phone: 595 21 645590 [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [sqlite] Version 3.3.14
here http://www.sqlite.org/download.html i only could see the 3.13.. what is wrong with that? On 02/04/07, Clark Christensen <[EMAIL PROTECTED]> wrote: > Did you use "configure; make" to get this error? Yes. I used the configure script, and make, as you describe. -Clark - Original Message From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: sqlite-users@sqlite.org Sent: Monday, April 2, 2007 1:47:26 PM Subject: Re: [sqlite] Version 3.3.14 Clark Christensen <[EMAIL PROTECTED]> wrote: > I'm seeing an error in make test for 3.3.14: > > /tmp/ccDdRRCh.o: In function `Sqlitetest1_Init': > /home/cchriste/sqlite-3.3.14/src/test1.c:4321: undefined reference to `sqlite3_xferopt_count' > collect2: ld returned 1 exit status > make: *** [testfixture] Error 1 > $ > > Red Hat Linux 7.2 (2.4.7.10); > gcc 3.0.2 > tcl 8.4.12 > > SQLite v3.3.13 and earlier tested OK for me. Any ideas? Something too old in my setup? > The sqlite3_xferopt_count global variable only exists if you compile with -DSQLITE_TEST=1. It appears that the insert.c module was not so compiled. Did you use "configure; make" to get this error? -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] - -- Cesar Rodas http://www.cesarodas.com/ Mobile Phone: 595 961 974165 Phone: 595 21 645590 [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [sqlite] Version 3.3.14
> Did you use "configure; make" to get this error? Yes. I used the configure script, and make, as you describe. -Clark - Original Message From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: sqlite-users@sqlite.org Sent: Monday, April 2, 2007 1:47:26 PM Subject: Re: [sqlite] Version 3.3.14 Clark Christensen <[EMAIL PROTECTED]> wrote: > I'm seeing an error in make test for 3.3.14: > > /tmp/ccDdRRCh.o: In function `Sqlitetest1_Init': > /home/cchriste/sqlite-3.3.14/src/test1.c:4321: undefined reference to > `sqlite3_xferopt_count' > collect2: ld returned 1 exit status > make: *** [testfixture] Error 1 > $ > > Red Hat Linux 7.2 (2.4.7.10); > gcc 3.0.2 > tcl 8.4.12 > > SQLite v3.3.13 and earlier tested OK for me. Any ideas? Something too old > in my setup? > The sqlite3_xferopt_count global variable only exists if you compile with -DSQLITE_TEST=1. It appears that the insert.c module was not so compiled. Did you use "configure; make" to get this error? -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
Clark Christensen <[EMAIL PROTECTED]> wrote: > I'm seeing an error in make test for 3.3.14: > > /tmp/ccDdRRCh.o: In function `Sqlitetest1_Init': > /home/cchriste/sqlite-3.3.14/src/test1.c:4321: undefined reference to > `sqlite3_xferopt_count' > collect2: ld returned 1 exit status > make: *** [testfixture] Error 1 > $ > > Red Hat Linux 7.2 (2.4.7.10); > gcc 3.0.2 > tcl 8.4.12 > > SQLite v3.3.13 and earlier tested OK for me. Any ideas? Something too old > in my setup? > The sqlite3_xferopt_count global variable only exists if you compile with -DSQLITE_TEST=1. It appears that the insert.c module was not so compiled. Did you use "configure; make" to get this error? -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
I'm seeing an error in make test for 3.3.14: /tmp/ccDdRRCh.o: In function `Sqlitetest1_Init': /home/cchriste/sqlite-3.3.14/src/test1.c:4321: undefined reference to `sqlite3_xferopt_count' collect2: ld returned 1 exit status make: *** [testfixture] Error 1 $ Red Hat Linux 7.2 (2.4.7.10); gcc 3.0.2 tcl 8.4.12 SQLite v3.3.13 and earlier tested OK for me. Any ideas? Something too old in my setup? Thanks! -Clark - Original Message From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: sqlite-users@sqlite.org Sent: Monday, April 2, 2007 8:46:57 AM Subject: [sqlite] Version 3.3.14 SQLite version 3.3.14 is now available on the SQLite website http://www.sqlite.org/ Version 3.3.14 focuses on performance improvements. There have been several changes to the back-end layers (the pager and the b-tree subsystems) that reduce the amount of disk I/O. A new optimization has been added to the INSERT command which, as a side effect, makes VACUUM work significantly faster for large databases and helps VACUUM to greatly reduce the amount of fragmentation in the database. We have also added the concept of "exclusive access mode". In exclusive access mode, SQLite holds onto locks until you close the connection. This allows for additional I/O reductions and corresponding performance improvements, at the expense of concurrency. The core SQLite sources are now also available as a single huge file of C code (which we call "the amalgamation") rather than as a collection of smaller files. When all the latest changes are used and the code is recompiled using the amalgamation with -O3 under gcc 4.1.0, we are seeing performance improvements on Linux of about 35% over version 3.3.13. We are very interesting in hearing about performance changes on other compilers and with other operating systems. Version 3.3.14 incorporates many changes over version 3.3.13. These changes have been well tested on Linux, but as the no so much on windows and other systems. If you find problems, please report them either on this list or at http://www.sqlite.org/cvstrac/tktnew -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] SQL language issue, ticket #2282
Ticket #2282 against SQLite http://www.sqlite.org/cvstrac/tktview?tn=2282 complains that in an INSTEAD OF trigger on a view where the trigger has a WHEN clause, if the WHEN clause is false and the trigger does not fire, then the UPDATE statement that provoked the trigger should fail. I am skeptical of this claim, but want the opinion of others before I reject the ticket. Is this really a bug? What do INSTEAD OF triggers with false WHEN clauses do on other SQL database engines? -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
Grate ! I find the "amalgamation" very useful in integrating SQLite in existing source trees, compiling it using various flags together with other sources etc. There is one thing that I always have to modify: In function sqlite3UnixCurrentTime, comming from os_unix.c, the call to gettimeofday takes an unused parameter, a pointer to sTz. For various reasons I have to compile using "-std=c99" flag, in which case "struct timezone" is not declared (or I didn't figured out yet a some other parameters). In any case, I think it is fairly safe to replace struct timezone sTz; /* Not used */ gettimeofday(&sNow, &sTz); with: gettimeofday(&sNow, NULL); This may also save a little space on the stack. From what I know the second parameter was never used on Linux; the manual page from other systems also states that if the second parameter is not null, then the behavior of the function is not specified. So it seems like a safer bet to pass NULL as the second parameter. I'm relatively new to SQLite, and I'm quite swamped with an upcoming release of my project, so please excuse me if I didn't find out yet what is the proper way of sending this kind of "simple stupid piece of code" (patch, discussion list, private email, etc). Cheers and many thanks for SQLite! -iulian [EMAIL PROTECTED] wrote: SQLite version 3.3.14 is now available on the SQLite website [...] - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
[EMAIL PROTECTED] wrote: SQLite version 3.3.14 is now available on the SQLite website http://www.sqlite.org/ Version 3.3.14 focuses on performance improvements. There have been several changes to the back-end layers (the pager and the b-tree subsystems) that reduce the amount of disk I/O. A new optimization has been added to the INSERT command which, as a side effect, makes VACUUM work significantly faster for large databases and helps VACUUM to greatly reduce the amount of fragmentation in the database. We have also added the concept of "exclusive access mode". In exclusive access mode, SQLite holds onto locks until you close the connection. This allows for additional I/O reductions and corresponding performance improvements, at the expense of concurrency. The core SQLite sources are now also available as a single huge file of C code (which we call "the amalgamation") rather than as a collection of smaller files. When all the latest changes are used and the code is recompiled using the amalgamation with -O3 under gcc 4.1.0, we are seeing performance improvements on Linux of about 35% over version 3.3.13. We are very interesting in hearing about performance changes on other compilers and with other operating systems. Version 3.3.14 incorporates many changes over version 3.3.13. These changes have been well tested on Linux, but as the no so much on windows and other systems. If you find problems, please report them either on this list or at http://www.sqlite.org/cvstrac/tktnew -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - Richard, The Borland/CodeGear C/C++ compiler version 5.8.2 (included with BDS 2006) reports an error at line 31251 of the amalgamation file sqlite3.c. The line in the distributed file is: static const Mem nullMem = {{0,}, 0.0, "", 0, MEM_Null, MEM_Null }; To get this to compile I need to remove the first comma: static const Mem nullMem = {{0}, 0.0, "", 0, MEM_Null, MEM_Null }; This seems like a real aggregate initializer error. Or possibly, you are using an extension or some newer C variant that accepts this incomplete initializer for the first element. Dennis Cote - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
Thanks; that sounds like a very worthwile update. Will let you know what the performance gain is once I have my wrappers sorted. RBS > SQLite version 3.3.14 is now available on the SQLite website > >http://www.sqlite.org/ > > Version 3.3.14 focuses on performance improvements. There > have been several changes to the back-end layers (the pager > and the b-tree subsystems) that reduce the amount of disk > I/O. A new optimization has been added to the INSERT command > which, as a side effect, makes VACUUM work significantly faster > for large databases and helps VACUUM to greatly reduce the > amount of fragmentation in the database. We have also added > the concept of "exclusive access mode". In exclusive access > mode, SQLite holds onto locks until you close the connection. > This allows for additional I/O reductions and corresponding > performance improvements, at the expense of concurrency. The > core SQLite sources are now also available as a single huge > file of C code (which we call "the amalgamation") rather than > as a collection of smaller files. > > When all the latest changes are used and the code is > recompiled using the amalgamation with -O3 under gcc 4.1.0, > we are seeing performance improvements on Linux of about 35% > over version 3.3.13. We are very interesting in hearing > about performance changes on other compilers and with other > operating systems. > > Version 3.3.14 incorporates many changes over version 3.3.13. > These changes have been well tested on Linux, but as the > no so much on windows and other systems. If you find problems, > please report them either on this list or at > > http://www.sqlite.org/cvstrac/tktnew > > -- > D. Richard Hipp <[EMAIL PROTECTED]> > > > > - > To unsubscribe, send email to [EMAIL PROTECTED] > - > > > - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Version 3.3.14
"Noah Hart" <[EMAIL PROTECTED]> wrote: > Complies fine. > > Linking shell.c I get the following errors > > Error 326 error LNK2001: unresolved external symbol > _sqlite3_io_trace shell.obj > Error 327 fatal error LNK1120: 1 unresolved externals > F:\SQLite3\Projects\SQLite3C\bin\Debug\Sqlite3.exe > > Any suggestions? > Are you are using the latest code? sqlite3_io_trace is an global symbol in the core SQLite library that is not contained within #ifdef...#endif. I do not see how it could not be defined. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Version 3.3.14
Something that would be very useful in the shell code in a future release would be the ability to handle data containing embedded binary data. I use the shell to populate tables and many of the files I need to load have the odd \n or \000 embedded in what whould be ascii text. Sybase handles this situation but for sqlite I need to filter the data first. Obviously not a priority but nevertheless something nice to get fixed eventually... jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, April 02, 2007 11:47 AM To: sqlite-users@sqlite.org Subject: [sqlite] Version 3.3.14 SQLite version 3.3.14 is now available on the SQLite website http://www.sqlite.org/ Version 3.3.14 focuses on performance improvements. There have been several changes to the back-end layers (the pager and the b-tree subsystems) that reduce the amount of disk I/O. A new optimization has been added to the INSERT command which, as a side effect, makes VACUUM work significantly faster for large databases and helps VACUUM to greatly reduce the amount of fragmentation in the database. We have also added the concept of "exclusive access mode". In exclusive access mode, SQLite holds onto locks until you close the connection. This allows for additional I/O reductions and corresponding performance improvements, at the expense of concurrency. The core SQLite sources are now also available as a single huge file of C code (which we call "the amalgamation") rather than as a collection of smaller files. When all the latest changes are used and the code is recompiled using the amalgamation with -O3 under gcc 4.1.0, we are seeing performance improvements on Linux of about 35% over version 3.3.13. We are very interesting in hearing about performance changes on other compilers and with other operating systems. Version 3.3.14 incorporates many changes over version 3.3.13. These changes have been well tested on Linux, but as the no so much on windows and other systems. If you find problems, please report them either on this list or at http://www.sqlite.org/cvstrac/tktnew -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - NOTICE: If received in error, please destroy and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error. - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Index creation
An interesting approach would be to use some sort of async I/O facility to implement read-ahead. Short of that, I have found that in some cases, on some operating systems, implementing explicit read-ahead buffering for fts2 segment merges improves performance when the disk caches are cold. Linux kernel 2.6 seems to get no benefit, 2.4 gets more. This is somewhat of a special case, though, as fts2 segment merges are merging streams from different locations together, like an external sort. -scott On 3/26/07, Joe Wilson <[EMAIL PROTECTED]> wrote: --- Joe Wilson <[EMAIL PROTECTED]> wrote: > > improved dramatically. So I attempted the creation of the index off hours on > > the production system, and after 4 hours no index. I can't detect any > > activity at all. The journal file and the .db file just sit at the same size > > for 4 hours. Why is this failing? It seems like it is just sitting there > > doing nothing. When I created the test index, I noticed the journal file > > changing and the .db file changing during the 2.5 hours to create. On the > > production .db file, nothing is happening. I have all associated processes > > killed that ineract with the db file, so I know it is not locked. > > I assume that the copied "test" database was indexed immediately after its > creation. If this was the case then the entire file may have been in the OS > cache resulting in very quick indexing. Try running "wc prod.db" or > "cat prod.db >/dev/null" and then creating the indexes on prod.db to see > what happens. The original poster confirmed that cat'ting the file to /dev/null reduced index creation time to 2.5 hours on the original database file. Could some optional heuristic be incorporated into SQLite's pager to do something similar for such large transactions and/or queries? Need Mail bonding? Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=list&sid=396546091 - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Version 3.3.14
Complies fine. Linking shell.c I get the following errors Error 326 error LNK2001: unresolved external symbol _sqlite3_io_trace shell.obj Error 327 fatal error LNK1120: 1 unresolved externals F:\SQLite3\Projects\SQLite3C\bin\Debug\Sqlite3.exe Any suggestions? Noah Hart -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, April 02, 2007 8:47 AM To: sqlite-users@sqlite.org Subject: [sqlite] Version 3.3.14 SQLite version 3.3.14 is now available on the SQLite website 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. - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] Version 3.3.14
SQLite version 3.3.14 is now available on the SQLite website http://www.sqlite.org/ Version 3.3.14 focuses on performance improvements. There have been several changes to the back-end layers (the pager and the b-tree subsystems) that reduce the amount of disk I/O. A new optimization has been added to the INSERT command which, as a side effect, makes VACUUM work significantly faster for large databases and helps VACUUM to greatly reduce the amount of fragmentation in the database. We have also added the concept of "exclusive access mode". In exclusive access mode, SQLite holds onto locks until you close the connection. This allows for additional I/O reductions and corresponding performance improvements, at the expense of concurrency. The core SQLite sources are now also available as a single huge file of C code (which we call "the amalgamation") rather than as a collection of smaller files. When all the latest changes are used and the code is recompiled using the amalgamation with -O3 under gcc 4.1.0, we are seeing performance improvements on Linux of about 35% over version 3.3.13. We are very interesting in hearing about performance changes on other compilers and with other operating systems. Version 3.3.14 incorporates many changes over version 3.3.13. These changes have been well tested on Linux, but as the no so much on windows and other systems. If you find problems, please report them either on this list or at http://www.sqlite.org/cvstrac/tktnew -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] Error by Creating a Transaction (Sorry ErrorMessage in German)
Hello i have an big problem. I use the ADO.NET Provider Version 1.40.0 with MS Visual-Studio 2005 ans VisualBasic. When i first open the Database and create a Transaction and read the Database is all OK. Codesniped: Using sqLiteConnection As System.Data.SQLite.SQLiteConnection = New System.Data.SQLite.SQLiteConnection( _ "Data Source=" + strFileName + ";Version=3;") sqLiteConnection.Open() Using sqLiteTransaction As System.Data.SQLite.SQLiteTransaction = sqLiteConnection. _ BeginTransaction(IsolationLevel.ReadCommitted) Using sqLiteCommand As System.Data.SQLite.SQLiteCommand = sqLiteConnection.CreateCommand() 'Datensatzanzahl holen sqLiteCommand.CommandText = "SELECT COUNT(Punktnummer) FROM Punkte;" intAnzahlDatansaetze = CInt(sqLiteCommand.ExecuteScalar) 'Datensätze holen sqLiteCommand.CommandText = "SELECT * FROM Punkte;" Using sqLiteDataRead As System.Data.SQLite.SQLiteDataReader = sqLiteCommand.ExecuteReader() ' vorhandene Koordinatenliste leeren Me.KoordPktListe.Clear() 'Waitform sichtbar machen Me.WaitFormShow(boShowWaitForm, "... lese die Punktdatenbank aus", intAnzahlDatansaetze) While (sqLiteDataRead.Read()) 'Waitform Step . . . End Using 'sqLiteDataRead End Using 'sqLiteCommand sqLiteTransaction.Rollback() End Using 'sqLiteTransaction sqLiteConnection.Close() End Using 'sqLiteConnection After this i Open the Database and read is also all OK. But open the Database and write (Insert, Delete or Update) than crashed. Codesniped: If (Not My.Computer.FileSystem.FileExists(Me.FileName)) Then Exit Sub Using sqLiteConnection As System.Data.SQLite.SQLiteConnection = New System.Data.SQLite. _ SQLiteConnection("Data Source=" + Me.FileName + ";Version=3;") Using sqLiteTransaction As System.Data.SQLite.SQLiteTransaction = sqLiteConnection. _ BeginTransaction(IsolationLevel.ReadCommitted) === Crash=== Using sqLiteCommand As System.Data.SQLite.SQLiteCommand = sqLiteConnection.CreateCommand() sqLiteCommand.CommandText = "DELETE FROM Punkte WHERE Punktnummer='" + poPDB.Punktnummer + "';" Try sqLiteCommand.ExecuteNonQuery() sqLiteTransaction.Commit() Catch ex As System.Data.SQLite.SQLiteException sqLiteTransaction.Rollback() End Try End Using 'sqLiteCommand End Using 'sqLiteTransaction sqLiteConnection.Close() End Using ErrorMessage: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig. bei System.Data.SQLite.SQLiteConnection.BeginTransaction(Boolean deferredLock) bei System.Data.SQLite.SQLiteConnection.BeginTransaction(IsolationLevel isolationLevel) bei KoordTools.ClassPointList.AdjustMePointIntoPDBFilePoint(String strFileName, ClassPoint& poMePoint, ClassPoint& poPDBPoint) in D:\Projekte\AutoCAD\Programmierung\DOTNet\KoordTools\KoordTools\ClassPointList.vb:Zeile 995. bei KoordTools.ClassPointList.AdjustMePointIntoOtherPoint(ClassPoint& poMePoint, ClassPoint& poOtherPoint) in System.Data.SQLite Assembly-Version: 1.0.40.0. Win32-Version: 1.0.40.0. CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data.SQLite/1.0.40.0__db937bc2d44ff139/System.Data.SQLite.dll. Why? regards Mario -- View this message in context: http://www.nabble.com/Error-by-Creating-a-Transaction-%28Sorry-ErrorMessage-in-German%29-tf3505300.html#a9789406 Sent from the SQLite mailing list archive at Nabble.com. - To unsubscribe, send email to [EMAIL PROTECTED] -