[sqlite] sqlite3.3.14

2007-04-02 Thread 黄宏栋黄

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

2007-04-02 Thread Joe Wilson
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

2007-04-02 Thread Clark Christensen
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

2007-04-02 Thread drh
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

2007-04-02 Thread Cesar Rodas

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

2007-04-02 Thread Cesar Rodas

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

2007-04-02 Thread Clark Christensen
> 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

2007-04-02 Thread drh
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

2007-04-02 Thread Clark Christensen
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

2007-04-02 Thread drh
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

2007-04-02 Thread Iulian Musat

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

2007-04-02 Thread Dennis Cote

[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

2007-04-02 Thread bartsmissaert
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

2007-04-02 Thread drh
"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

2007-04-02 Thread Anderson, James H \(IT\)
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

2007-04-02 Thread Scott Hess

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

2007-04-02 Thread Noah Hart
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

2007-04-02 Thread drh
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)

2007-04-02 Thread MarioR

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]
-