Re: [sqlite] corruption problem with attached macintosh database

2010-03-26 Thread Dave Dyer

>
>Have you tried with this turned on:
>
>  http://www.sqlite.org/compile.html#enable_locking_style

Enabling this causes link errors under my version of OSX, due to
the absence of "gethistuuid".  I see some traffic on the web that
suggests this comes in a later OSX. (I use 10.4.11)

Also, this seems to be an API-free option that "does the
right thing", but there is no apparent way to tell what option
it is selecting, or for that matter, what locking is used under
any circumstances.

It would be useful to have a specific piece of information,
"locking using strategy x" which I could derive and perhaps 
verify dissonant locking strategies as the source of the problem
now, and if it ought to be fixed by enabling the fancier locking code.


___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Update problem in use C/C++ interface

2010-03-26 Thread Pavel Ivanov
> and i'm sure there is a record with the ID bind for the third parameter.

You should be also sure that this record contains ID as an integer
value, not as text value. Without affinity integer will never be equal
to text.


Pavel

2010/3/24 王志刚 :
> ??? wrote:
>> Hi, I meet a problem in use c/c++ API to update a row in table.
>> all return value means the operate is successful, But the row have no
>> change at all.
>
> How do you determine this?
>
>> the main code al follow:
>>
>>wstring sql = L"UPDATE Mail SET [Content] = ?1 [CurrentSize] = ?2
>> WHERE [MailID] = ?3;";
>
> There should be a comma after ?1.
>
> Are you sure there actually exists a record with the ID you bind for
> the third parameter? Note that, if there isn't, you won't get any
> errors - the statement simply won't update any rows.
>
>>sqlite3_stmt *pstmt = NULL;
>>const char *pzTail = 0;
>>int nRes = SQLITE_OK;
>>nRes = sqlite3_prepare16_v2((sqlite3*)pDB, (void**)sql.c_str(),
>> sizeof(wchar_t) * sql.length(), , 0);
>
> Why do you need to cast pDB? What type is it declared with?
>
> The second parameter of sqlite3_prepare16_v2 is const void*, not
> void**. Your cast looks strange, though harmless. You shouldn't need
> any cast at all.
> --
> Igor Tandetnik
>
>
> 
>
> about the comma after ?1. is a mistake when i paste code into mail. I
> simplify some code, so miss the comma.
> and i'm sure there is a record with the ID bind for the third parameter.
> and the cast pDB,it's no matter.our interface declear is as void*.
> --
> Thanks!
> 王志刚
> ---
> 电话:021-62672000-2852
> 上海圣诺网络技术有限公司
> ---
> ___
> 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] locking across the network...

2010-03-26 Thread Pavel Ivanov
 http://www.sqlite.org/whentouse.html

   "...file locking logic of many network filesystems implementation
   contains bugs (on both Unix and Windows). If file locking does
   not work like it should, it might be possible for two or more
   client programs to modify the same part of the same database at
   the same time, resulting in database corruption. Because this
   problem results from bugs in the underlying filesystem
   implementation, there is nothing SQLite can do to prevent it."


So you better access SQLite DB always via Apache Web Server.


Pavel


On Fri, Mar 26, 2010 at 9:34 AM, Sam Carleton
 wrote:
> I am currently using SQLite in my client/server application:
>
> Server: Apache Web Server -- the sole process that access the SQLite
> databases
> Client A: Admin Client to configure the server, there is only 1 instance of
> this client.
> Client B: Kiosk Client, there is 1 or more of these, some have over 50
>
> Right now both Clients go through the web server to access the SQLite
> database, and all works fine.  The Kiosk Clients are also getting images
> from the server, so they will ALWAYS access the SQLite DB via the Apache
> server.  If I am not mistaken, the Admin Client, being on the same machine
> as the Apache Web Server, could also access the SQLite database with little
> or no effect, since they are very small rights.
>
> A third client needs to be added to the system, a Sales Client.  For larger
> setups where there are more than 2 Sales Clients (10 kiosk clients), a
> traditional client/server database will be used.  What I am wondering is, if
> for the smaller setups where only 2 sales clients are needed, can these
> sales clients access the SQLite DB via a network share without a major
> preformance hit or am I better off having the sales clients go through the
> Apache Web Server, too?
>
> Sam
> ___
> 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] Available alternatives to syntax diagrams in documentation

2010-03-26 Thread Jay A. Kreibich
On Fri, Mar 26, 2010 at 08:37:23PM +0100, Kees Nuyt scratched on the wall:
> On Thu, 25 Mar 2010 18:38:49 -0500, P Kishor
>  wrote:
> 
> >I must be in an alternate universe. So, I have turned off images in my
> >browser and I am looking at http://www.sqlite.org/lang_delete.html
> 
> You are trying to find a formal syntax description in text.
> It's not there,

  I want to remind everyone that even the "railroad diagrams" are not a
  formal syntax specifier.  They're designed to be easy-to-understand
  documentation, and are not definitive.  They are not a specification.
  They are built and maintained apart from the formal grammar, and
  there are numerous differences.
  
  Speaking of which, the formal grammar can easily be found in a full
  source distribution.  It is far from an ideal place to try to learn
  SQL, but it is there.


  I think it may be more helpful to have some type of text-based
  representation, even if it is just an "ASCII art" version of the
  current diagrams.  I dislike the fact you can't keyword search across
  a page of graphic diagrams.

  I'd also point out that not all that long ago the docs were in
  pseudo BNF, and people went crazy when the diagrams showed up.  I
  appreciate the fact that the graphical representations have their
  limits, but overall I think they do a much better job at expressing
  the general syntax to a much larger audience.


  Depending on the limitations of the OP's vision, it is also trivial
  to modify the syntax of the diagram script so that it generates HUGE
  diagrams.  I realize that may still not help, but it may be an option
  for others.

   -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


Re: [sqlite] Available alternatives to syntax diagrams in documentation

2010-03-26 Thread Kees Nuyt
On Thu, 25 Mar 2010 18:38:49 -0500, P Kishor
 wrote:

>I must be in an alternate universe. So, I have turned off images in my
>browser and I am looking at http://www.sqlite.org/lang_delete.html

You are trying to find a formal syntax description in text.
It's not there, but there is a description right below the
railroad diagram which serves that same purpose. I think
that's what Shane refers to.

On the page you point to:
"The DELETE command is used to remove records from a
table. The command consists of the "DELETE FROM" keywords
followed by the name of the table from which records are to
be removed.

Without a WHERE clause, all rows of the table are
removed. If a WHERE clause is supplied, then only those rows
that match the expression are removed."


For INSERT ( http://www.sqlite.org/lang_insert.html ) the
description is too terse to reconstruct the exact syntax. On
the other hand, SQLite implements the essentials of SQL-92,
which is available in cross-referenced text form:

http://vieka.com/esqldoc/sql92bnf.htm#query_specification
http://vieka.com/esqldoc/sql92bnf.htm#SQL_data_change_statement

I must admit that spec is very wordy and not tailored to
SQLite.

Nicolas Williams suggestion to add alt tags to the images is
a good idea. Perhaps the OP, Tyler Spivey, can shine his
light on that concept?
-- 
  (  Kees Nuyt
  )
c[_]
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Android database corruption

2010-03-26 Thread cliff 2

Thanks very much for the quick response! Unfortunately, the android
SQLiteDatabase class deletes the database when it hits this, so it doesn't
give me a chance to do that. However I do have a channel to the android db
developers, so I will forward this onto them, and hopefully they can do
something with it.

Thanks again for your help.



D. Richard Hipp wrote:
> 
> 
> On Mar 26, 2010, at 12:10 PM, Shane Harrelson wrote:
> 
>> On Fri, Mar 26, 2010 at 11:38 AM, cliff 2  
>>  wrote:
>>
>>>
>>> Hi,
>>>
>>> Hopefully someone here can help where the android guys haven't been  
>>> able
>>> to.
>>> We are having an issue with our sqlite database running on the  
>>> android
>>> platform. We are accessing the db from the sdcard on an android phone
>>> running android 2.1.
>>>
>>> As all we are doing is reading the database, I really can't see how  
>>> we can
>>> be corrupting it.
> 
>> You're probably hitting a cache corruption issue caused by a mutex  
>> issue
>> previously fixed.  More information here:
>>
>> http://www.sqlite.org/src/timeline?n=8=2010-01-31
>>
>> Not sure at this point what kind of work-arounds are available to you.
> 
> 
> To amplify what Shane said, the corruption is probably just in the  
> page cache, not in the database file itself.  So if you are able to  
> close and reopen the database connection when you run into problems,  
> that might provide a work-around (assuming we are guessing correctly  
> at the root cause of your problem.)
> 
> D. Richard Hipp
> d...@hwaci.com
> 
> 
> 
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Android-database-corruption-tp28044218p28045494.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Android database corruption

2010-03-26 Thread D. Richard Hipp

On Mar 26, 2010, at 12:10 PM, Shane Harrelson wrote:

> On Fri, Mar 26, 2010 at 11:38 AM, cliff 2  
>  wrote:
>
>>
>> Hi,
>>
>> Hopefully someone here can help where the android guys haven't been  
>> able
>> to.
>> We are having an issue with our sqlite database running on the  
>> android
>> platform. We are accessing the db from the sdcard on an android phone
>> running android 2.1.
>>
>> As all we are doing is reading the database, I really can't see how  
>> we can
>> be corrupting it.

> You're probably hitting a cache corruption issue caused by a mutex  
> issue
> previously fixed.  More information here:
>
> http://www.sqlite.org/src/timeline?n=8=2010-01-31
>
> Not sure at this point what kind of work-arounds are available to you.


To amplify what Shane said, the corruption is probably just in the  
page cache, not in the database file itself.  So if you are able to  
close and reopen the database connection when you run into problems,  
that might provide a work-around (assuming we are guessing correctly  
at the root cause of your problem.)

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] Android database corruption

2010-03-26 Thread Shane Harrelson
On Fri, Mar 26, 2010 at 11:38 AM, cliff 2  wrote:

>
> Hi,
>
> Hopefully someone here can help where the android guys haven't been able
> to.
> We are having an issue with our sqlite database running on the android
> platform. We are accessing the db from the sdcard on an android phone
> running android 2.1.
>
> It works perfectly 99% of the time, but every now and again, we get
> database
> corruption appear randomly. We have not changed any pragmas, so synchronous
> is set to full and journal_mode delete. It does not correspond to any power
> failures, or application crashes, and will succeed in pulling back data
> from
> the database for hundreds of calls, and then fail on a query that has
> worked
> many times before. It can occur in a number of native calls. We have
> performed integrity checks on the db in question and they return ok (prior
> to the corruption - androids response to a corrupt db is to delete it, so
> we
> can't see its state after corruption).
>
> The database in question is downloaded as a complete binary and then
> accessed read-only using android's rawQuery call.
>
> A couple of typical stack traces for when the corruption occurs:
>
>  03-26 14:09:50.572 E/DatabaseHelper( 1253):
> android.database.sqlite.SQLiteDatabaseCorruptException: database disk image
> is malformed: , while compiling: SELECT o.FieldId,o.Reference, o.Category,
> o.OIndex,o.Description, c.Choice, c.Derivative FROM Option o, Choice c
> WHERE
> o.FieldId = c.FieldId and o.Reference = ? ORDER BY o.Option, o.OIndex
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
> android.database.sqlite.SQLiteProgram.native_compile(Native Method)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
> android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
> android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
> android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:49)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
>
> android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
>
> android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1221)
>  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
> android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1194)
>
> We can run the exact same query hundreds of times and it is fine. Then all
> of a sudden it fails. Another typical stack trace:
>
>  03-24 14:54:04.678 E/AsyncTask( 6828): RuntimeException while executing
> background thread
>  1045  03-24 14:54:04.678 E/AsyncTask( 6828):
> android.database.sqlite.SQLiteDatabaseCorruptException: database disk image
> is malformed
>  1046  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.sqlite.SQLiteQuery.native_fill_window(Native Method)
>  1047  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:75)
>  1048  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:288)
>  1049  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:269)
>  1050  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.AbstractCursor.moveToPosition(AbstractCursor.java:171)
>  1051  03-24 14:54:04.678 E/AsyncTask( 6828):  at
> android.database.AbstractCursor.moveToFirst(AbstractCursor.java:248)
>
> The one above is while trying to move to the first row in a cursor.
>
> (android method native_fill_window source available here:
>
> http://www.netmite.com/android/mydroid/frameworks/base/core/jni/android_database_SQLiteQuery.cpp
> and native_compile
>
> http://www.netmite.com/android/mydroid/frameworks/base/core/jni/android_database_SQLiteProgram.cpp
> )
>
> We have been looking for some way we could be corrupting the database
> through incorrect use, however we are now out of options. We have triple
> checked we are opening and closing all cursors and connections correctly
> and
> checked there aren't multiple threads accessing the db at the same time and
> nothing seems out of the ordinary when corruption occurs.
>
> As all we are doing is reading the database, I really can't see how we can
> be corrupting it. I was wondering if anyone on this forum had experienced
> anything similar in the past, or could suggest things we could do to track
> down what is causing the corruption. From what I've read on the SQLite site
> this type of corruption should be all but impossible, however it is
> definitely happening.
>
> If you need any more information to help track down the problem, please let
> me know. Thanks in advance for any tips, or advice to help solve this.
>
>
> Cliff
> --
> View this message in context:
> http://old.nabble.com/Android-database-corruption-tp28044218p28044218.html
> Sent 

[sqlite] Android database corruption

2010-03-26 Thread cliff 2

Hi,

Hopefully someone here can help where the android guys haven't been able to.
We are having an issue with our sqlite database running on the android
platform. We are accessing the db from the sdcard on an android phone
running android 2.1. 

It works perfectly 99% of the time, but every now and again, we get database
corruption appear randomly. We have not changed any pragmas, so synchronous
is set to full and journal_mode delete. It does not correspond to any power
failures, or application crashes, and will succeed in pulling back data from
the database for hundreds of calls, and then fail on a query that has worked
many times before. It can occur in a number of native calls. We have
performed integrity checks on the db in question and they return ok (prior
to the corruption - androids response to a corrupt db is to delete it, so we
can't see its state after corruption).

The database in question is downloaded as a complete binary and then
accessed read-only using android's rawQuery call.

A couple of typical stack traces for when the corruption occurs:

  03-26 14:09:50.572 E/DatabaseHelper( 1253): 
android.database.sqlite.SQLiteDatabaseCorruptException: database disk image
is malformed: , while compiling: SELECT o.FieldId,o.Reference, o.Category,
o.OIndex,o.Description, c.Choice, c.Derivative FROM Option o, Choice c WHERE
o.FieldId = c.FieldId and o.Reference = ? ORDER BY o.Option, o.OIndex
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteProgram.native_compile(Native Method)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:49)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1221)
  03-26 14:09:50.572 E/DatabaseHelper( 1253): at
android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1194)

We can run the exact same query hundreds of times and it is fine. Then all
of a sudden it fails. Another typical stack trace:

  03-24 14:54:04.678 E/AsyncTask( 6828): RuntimeException while executing
background thread
  1045  03-24 14:54:04.678 E/AsyncTask( 6828):
android.database.sqlite.SQLiteDatabaseCorruptException: database disk image
is malformed
  1046  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.sqlite.SQLiteQuery.native_fill_window(Native Method)
  1047  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:75)
  1048  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:288)
  1049  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:269)
  1050  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.AbstractCursor.moveToPosition(AbstractCursor.java:171)
  1051  03-24 14:54:04.678 E/AsyncTask( 6828):  at
android.database.AbstractCursor.moveToFirst(AbstractCursor.java:248)

The one above is while trying to move to the first row in a cursor.

(android method native_fill_window source available here:
http://www.netmite.com/android/mydroid/frameworks/base/core/jni/android_database_SQLiteQuery.cpp
 
and native_compile
http://www.netmite.com/android/mydroid/frameworks/base/core/jni/android_database_SQLiteProgram.cpp)

We have been looking for some way we could be corrupting the database
through incorrect use, however we are now out of options. We have triple
checked we are opening and closing all cursors and connections correctly and
checked there aren't multiple threads accessing the db at the same time and
nothing seems out of the ordinary when corruption occurs.

As all we are doing is reading the database, I really can't see how we can
be corrupting it. I was wondering if anyone on this forum had experienced
anything similar in the past, or could suggest things we could do to track
down what is causing the corruption. From what I've read on the SQLite site
this type of corruption should be all but impossible, however it is
definitely happening. 

If you need any more information to help track down the problem, please let
me know. Thanks in advance for any tips, or advice to help solve this. 


Cliff
-- 
View this message in context: 
http://old.nabble.com/Android-database-corruption-tp28044218p28044218.html
Sent from the SQLite mailing list archive at Nabble.com.

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] corruption problem with attached macintosh database

2010-03-26 Thread Roger Binns
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dave Dyer wrote:
> whatever is default.  I compile mu own sqlite static libraries, but
> I don't customize the settings.

Have you tried with this turned on:

  http://www.sqlite.org/compile.html#enable_locking_style

Roger
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkusvgAACgkQmOOfHg372QT+NACgusVJHibAoiCN4P3G5Z8M/vlu
5HEAn3O1pTTpezV5M/cA2UmWi84U/fHO
=EPXO
-END PGP SIGNATURE-
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] locking across the network...

2010-03-26 Thread Sam Carleton
I am currently using SQLite in my client/server application:

Server: Apache Web Server -- the sole process that access the SQLite
databases
Client A: Admin Client to configure the server, there is only 1 instance of
this client.
Client B: Kiosk Client, there is 1 or more of these, some have over 50

Right now both Clients go through the web server to access the SQLite
database, and all works fine.  The Kiosk Clients are also getting images
from the server, so they will ALWAYS access the SQLite DB via the Apache
server.  If I am not mistaken, the Admin Client, being on the same machine
as the Apache Web Server, could also access the SQLite database with little
or no effect, since they are very small rights.

A third client needs to be added to the system, a Sales Client.  For larger
setups where there are more than 2 Sales Clients (10 kiosk clients), a
traditional client/server database will be used.  What I am wondering is, if
for the smaller setups where only 2 sales clients are needed, can these
sales clients access the SQLite DB via a network share without a major
preformance hit or am I better off having the sales clients go through the
Apache Web Server, too?

Sam
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] sqlite3_open16_v2

2010-03-26 Thread D. Richard Hipp

On Mar 26, 2010, at 8:28 AM, NSRT Mail account. wrote:

> Looking at, http://www.sqlite.org/c3ref/open.html it seems that a  
> function sqlite3_open16_v2() is inexplicably missing. Is there a  
> reason for this?
>


An sqlite3_open16_v2() would add no new capabilities.

The sqlite3_open16() interface is considered a mistake.  It is  
maintained for historical compatibility.

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] Get a specific sequence of rows...

2010-03-26 Thread Fredrik Karlsson
On Fri, Mar 26, 2010 at 1:25 PM, Igor Tandetnik  wrote:
> Fredrik Karlsson wrote:
>> This is of course another solution. I guess, coming from R, I was
>> looking for a substitute for th %in% operator (or the MySQL IN
>> operator as it turns out, now that I've Googled this some more) but a
>> temp table would also do the trick I guess.
>
> Well, you can generate a statement of the form
>
> select name from mytab where id in (3, 1, 2);
>
> I don't believe either SQLite or MySQL guarantees that the rows will always 
> come out in the order in which IDs are listed in the IN clause. But I won't 
> be surprised if they do happen to come out this way, as an implementation 
> detail. I'm not sure I'd be comfortable relying on such behavior though.
> --
> Igor Tandetnik

Oh, ok. I did not think of that. Indeed, this is the behaviour of R
%in% too, so I should really have thought of this.
Since this is a calculated path in a directed graph, order is
important, and so I will go with a temporary (in memory?) table.

Thank you for your great help!

/Fredrik

-- 
"Life is like a trumpet - if you don't put anything into it, you don't
get anything out of it."
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Get a specific sequence of rows...

2010-03-26 Thread Gabor Grothendieck
On Fri, Mar 26, 2010 at 5:00 AM, Fredrik Karlsson  wrote:
> Hi,
>
> I have a list of id:s stored in a field. I would now like to get some
> information from a table by these id:s, but exactly in this order. So,
> if I have a table
>
> 1 One
> 2 Two
> 3 Three
>
> and the sequence "3,1,2" stored somewhere, how do I get a neat list like
>
> Three
> One
> Two
>

Try this:

select *, 1 * (name = "Three") + 2 * (name = "One") + 3 * (name =
"Two") sorter from mytab where sorter > 0 order by sorter
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Running UPDATE on a large table uses too much RAM

2010-03-26 Thread D. Richard Hipp

On Mar 26, 2010, at 8:11 AM, NSRT Mail account. wrote:

> I have a database with a single table. The database is 23922826240  
> bytes. The table has 2147483685 rows in it.
>
> Running: UPDATE t SET v=1; makes my application start to use all  
> available RAM, then swap, and is finally killed by the OS (I do not  
> have 23GB of free RAM+swap).

As part of UPDATE processing, the rowid of every row to be updated is  
stored in RAM.  Normally this is not a problem, since it is unusual to  
want to update 2147483685 rows in one go.

Try running your updates in batches of a million or so.

>
> Should running an UPDATE cause the table to first be copied to RAM  
> and modified there? Is there any way to get this UPDATE to work with  
> meager resources (given at least 50GB free on the partition the  
> database is stored on)?
>
> Thanks.
>
>
>
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

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

2010-03-26 Thread NSRT Mail account.
Looking at, http://www.sqlite.org/c3ref/open.html it seems that a function 
sqlite3_open16_v2() is inexplicably missing. Is there a reason for this?





  
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Get a specific sequence of rows...

2010-03-26 Thread Igor Tandetnik
Fredrik Karlsson wrote:
> This is of course another solution. I guess, coming from R, I was
> looking for a substitute for th %in% operator (or the MySQL IN
> operator as it turns out, now that I've Googled this some more) but a
> temp table would also do the trick I guess.

Well, you can generate a statement of the form

select name from mytab where id in (3, 1, 2);

I don't believe either SQLite or MySQL guarantees that the rows will always 
come out in the order in which IDs are listed in the IN clause. But I won't be 
surprised if they do happen to come out this way, as an implementation detail. 
I'm not sure I'd be comfortable relying on such behavior though.
-- 
Igor Tandetnik

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Get a specific sequence of rows...

2010-03-26 Thread Fredrik Karlsson
On Fri, Mar 26, 2010 at 12:22 PM, Simon Slavin  wrote:
>
> On 26 Mar 2010, at 9:00am, Fredrik Karlsson wrote:
>
>> I have a list of id:s stored in a field. I would now like to get some
>> information from a table by these id:s, but exactly in this order. So,
>> if I have a table
>>
>> 1 One
>> 2 Two
>> 3 Three
>>
>> and the sequence "3,1,2" stored somewhere, how do I get a neat list like
>>
>> Three
>> One
>> Two
>
> I can't find a function which does what you want.  The SQL-like solution to 
> it is to have your '3,1,2' written to a table as three records, then use a 
> JOIN or a sub-SELECT to make SQL return the right records in the right order.
>
> Simon.

Hi,

This is of course another solution. I guess, coming from R, I was
looking for a substitute for th %in% operator (or the MySQL IN
operator as it turns out, now that I've Googled this some more) but a
temp table would also do the trick I guess.

Thank you!

/Fredrik



-- 
"Life is like a trumpet - if you don't put anything into it, you don't
get anything out of it."
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Running UPDATE on a large table uses too much RAM

2010-03-26 Thread NSRT Mail account.
I have a database with a single table. The database is 23922826240 bytes. The 
table has 2147483685 rows in it.

Running: UPDATE t SET v=1; makes my application start to use all available RAM, 
then swap, and is finally killed by the OS (I do not have 23GB of free 
RAM+swap).

Should running an UPDATE cause the table to first be copied to RAM and modified 
there? Is there any way to get this UPDATE to work with meager resources (given 
at least 50GB free on the partition the database is stored on)?

Thanks.



  
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] sqlite performance with large and multiple attached databases

2010-03-26 Thread Simon Slavin

On 26 Mar 2010, at 10:47am, Akbar Syed wrote:

> Unfortunately, my application restricts me to use independent
> databases than to a single  database
> as each database exists on a different device and contains the info of
> that device in the database.
> Multiple devices are allowed to connect to my server app which instead
> gathers the records from the
> independent databases by attaching the databases together.

Make one big 'working' database by reading all the data from the databases on 
the independent devices and putting it into one big table.  Once you have 
sucked out the data you can disconnect from the device.  Then do all your 
enquiries on this big table.  There's a special convenient form of the INSERT 
command which gets its data directly from a SELECT command:

INSERT INTO bigTable SELECT * FROM attachedDB.myTable

So, in a simplified example, for each pluginnable device do this:

ATTACH "deviceFile.s3" AS attachedDB
INSERT INTO allDeviceTable SELECT * FROM attachedDB.myTable
DETACH attachedDB

Then just query allDeviceTable.

Simon.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Issue "sqlite database locked"

2010-03-26 Thread D. Richard Hipp

On Mar 26, 2010, at 12:40 AM,  
 wrote:

> Hi,
>
>
> I have downloaded the sqlite from the link 
> http://www.sqlite.org/download.html 
>  version sqlite-3.6.23.so.gz sqlite-3.6.23.so.gz> (220.62 KiB). I am using fedora -9-i386. Have  
> mounted a
> Shared drive on my pc to the fedora image.I copied the extracted  
> sqlite db and saved it on the fedora usr/lib directory from where  
> the code loads the db.

Please see the second paragraph of http://www.sqlite.org/faq.html#q5  
for a likely explanation of what is going wrong.


>
> This is the piece of code that I am using to do the operations on  
> sqlite db.
>
> #include 
> #include "sqlite3.h"
> #include 
>
> using namespace std;
>
> typedef void* HINSTANCE;
>
> typedef int (*FnPtr_sqlite3_open)(const char *filename, sqlite3  
> **ppDb );
> typedef int (*FnPtr_sqlite3_extended_result_codes) (sqlite3*, int  
> onoff);
> typedef int (*FnPtr_sqlite3_prepare_v2)(sqlite3 *db, const char  
> *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail );
> typedef int (*FnPtr_sqlite3_step)(sqlite3_stmt*);
> typedef int (*FnPtr_sqlite3_finalize)(sqlite3_stmt *pStmt);
>
> class TDBClass
> {
> public:
>HINSTANCE LoadLibrary();
>void LoadFunctions();
>void VerifyLoadedFunction(void* aFnPtr);
> public:
>FnPtr_sqlite3_open  sqlite3_open;
>FnPtr_sqlite3_extended_result_codes  
> sqlite3_extended_result_codes;
>FnPtr_sqlite3_prepare_v2sqlite3_prepare_v2;
>FnPtr_sqlite3_step  sqlite3_step;
>FnPtr_sqlite3_finalize  sqlite3_finalize;
>
>HINSTANCE sqLiteHndl;
> };
>
>
> HINSTANCE TDBClass::LoadLibrary()
>{
>sqLiteHndl = dlopen("/usr/lib/sqlite-3.6.23.so", RTLD_LAZY| 
> RTLD_GLOBAL);
>return sqLiteHndl;
>}
>
> void* GetProcAddress(HINSTANCE aHandle, const char* aSymbol)
>{
>return dlsym(aHandle, aSymbol);
>}
>
> void TDBClass::LoadFunctions()
>{
>sqlite3_open =  
> (FnPtr_sqlite3_open)GetProcAddress(sqLiteHndl,"sqlite3_open");
>if(sqlite3_open== NULL)
>{
>return;
>}
>sqlite3_prepare_v2  = (FnPtr_sqlite3_prepare_v2)  
> GetProcAddress(sqLiteHndl,"sqlite3_prepare_v2");
>sqlite3_step= (FnPtr_sqlite3_step)  
> GetProcAddress(sqLiteHndl,"sqlite3_step");
>sqlite3_extended_result_codes =  
> (FnPtr_sqlite3_extended_result_codes) GetProcAddress(sqLiteHndl,  
> "sqlite3_extended_result_codes" );
>}
>
>
>
> int main()
>{
>cout << "!!!Hello World!!!" << endl; // prints !!!Hello  
> World!!!
>
>sqlite3* sqlhandle;
>TDBClass tdbhandle;
>HINSTANCE sqlitehandle = tdbhandle.LoadLibrary();
>tdbhandle.LoadFunctions();
>int err = tdbhandle.sqlite3_open("/root/Sudha/epoc32/winscw/c/ 
> tswi/tscrtool/scr.db",);
>err = tdbhandle.sqlite3_extended_result_codes(sqlhandle, 0);
>sqlite3_stmt* stmtHandle = NULL;
>const char* stmtTail = NULL;
>
>const char* statement = "CREATE TABLE  
> SoftwareTypeNames(NameId INTEGER PRIMARY KEY NOT NULL,SoftwareTypeId  
> INTEGER NOT NULL,Locale INTEGER DEFAULT 0,Name TEXT NOT NULL);";
>std::string stmt(statement);
>tdbhandle.sqlite3_prepare_v2(sqlhandle, stmt.c_str(),  
> stmt.size(), , );
>int err1 = tdbhandle.sqlite3_step(stmtHandle);
>
>return 0;
>}
>
>
> This step int err1 = tdbhandle.sqlite3_step(stmtHandle);
> in the code returns 5 (sqlite_busy) every time I run the program.
> (I don't have any multi threads in my program which can lock the db. )
>
> Any help on this is appreciated.
>
>
> Regards
> sudha
>
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

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] sqlite performance with large and multiple attached databases

2010-03-26 Thread Akbar Syed
Hello,

 >>If you want to improve utilization memory, just put everything in one
 >> database.  Each attached database in each connection has its own cache.
 >> With that many data sources you're going to get a very uneven distribution
 >> of cache utilization, and very high worst-case usage.

Unfortunately, my application restricts me to use independent
databases than to a single  database
as each database exists on a different device and contains the info of
that device in the database.
Multiple devices are allowed to connect to my server app which instead
gathers the records from the
independent databases by attaching the databases together.
Unfortunately, I could not find a better
solution than attach to join these databases as after gathering the
information together i need to sort
the collected records and present them together. Thatswhy sometimes I
try to select lot of records
with a single query.

May be someone suggest a better option for this situation. Is there a
way to clean cache before I make
a select to ensure I have enough cache for the select. I do use SOFT
HEAP feature already.

>>"Just 250 records" implies a sort.  Unless an index is available, a
>>  sort requires doing the whole query and sorting the results.  That's
>>  the large lead time.  After that it is just popping records off the
>> stack, so to speak.

I do have a primary index on my very first column which is nothing but
a rowid itself. I did not
use other indexes as it may be again overhead on memory. My
implementations for databases are simple
whereby i create a database with a single table of 65 columns and
write data into it. I attach all the
databases together and make selects with ofcourse using sortby on not
on the primary index but on some other
column of type TEXT. Do u think this will slow down the things?

Regards,
-Akbar


On Thu, Mar 25, 2010 at 05:22:04PM +0100, Akbar Syed scratched on the wall:
>* I have been trying to improve the performance and memory usage for my
*>* application whereby i have maximum of 30 databases attached. In total I have
*>* 31 databases with 30 databases attached to the first one. Each database has
*>* a single table with approx 65 columns and the records in each table may go
*>* upto 50,000. I have 31 connections for 31 databases i.e. 1 connection for
*>* one database. For each connection I have a cache size of 500 pages (1 Page =
*>* 1KB), temporary cache 500 pages and for each attached connection cache size
*>* of 100 pages. My efforts to minimize memory usage as much as I can also the
*>* speed of reading is tolerable. I dont mind the writing speed, but I do care
*>* for reading speed. In one attempt, I would select all the records from all
*>* the databases and thats the purpose I am using attached databases with a
*>* single query.
*
  If you want to improve utilization memory, just put everything in one
  database.  Each attached database in each connection has its own cache.
  With that many data sources you're going to get a very uneven distribution
  of cache utilization, and very high worst-case usage.

>* In one attempt i tried to fetch just 250 records of 65 columns from 31
*>* databases and I observed that I spend approx 1-5 seconds in the first call
*>* to sqlite3_step() function and the subsequent calls to sqlite3_step() are
*>* some microseconds.
*
  "Just 250 records" implies a sort.  Unless an index is available, a
  sort requires doing the whole query and sorting the results.  That's
  the large lead time.  After that it is just popping records off the
  stack, so to speak.

   -j
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Issue "sqlite database locked"

2010-03-26 Thread sudha.bheemanna
Hi,


I have downloaded the sqlite from the link http://www.sqlite.org/download.html 
version sqlite-3.6.23.so.gz (220.62 
KiB). I am using fedora -9-i386. Have mounted a
Shared drive on my pc to the fedora image.I copied the extracted sqlite db and 
saved it on the fedora usr/lib directory from where the code loads the db.

This is the piece of code that I am using to do the operations on sqlite db.

#include 
#include "sqlite3.h"
#include 

using namespace std;

typedef void* HINSTANCE;

typedef int (*FnPtr_sqlite3_open)(const char *filename, sqlite3 **ppDb );
typedef int (*FnPtr_sqlite3_extended_result_codes) (sqlite3*, int onoff);
typedef int (*FnPtr_sqlite3_prepare_v2)(sqlite3 *db, const char *zSql, int 
nByte, sqlite3_stmt **ppStmt, const char **pzTail );
typedef int (*FnPtr_sqlite3_step)(sqlite3_stmt*);
typedef int (*FnPtr_sqlite3_finalize)(sqlite3_stmt *pStmt);

class TDBClass
{
public:
HINSTANCE LoadLibrary();
void LoadFunctions();
void VerifyLoadedFunction(void* aFnPtr);
public:
FnPtr_sqlite3_open  sqlite3_open;
FnPtr_sqlite3_extended_result_codes sqlite3_extended_result_codes;
FnPtr_sqlite3_prepare_v2sqlite3_prepare_v2;
FnPtr_sqlite3_step  sqlite3_step;
FnPtr_sqlite3_finalize  sqlite3_finalize;

HINSTANCE sqLiteHndl;
};


HINSTANCE TDBClass::LoadLibrary()
{
sqLiteHndl = dlopen("/usr/lib/sqlite-3.6.23.so", RTLD_LAZY|RTLD_GLOBAL);
return sqLiteHndl;
}

void* GetProcAddress(HINSTANCE aHandle, const char* aSymbol)
{
return dlsym(aHandle, aSymbol);
}

void TDBClass::LoadFunctions()
{
sqlite3_open = 
(FnPtr_sqlite3_open)GetProcAddress(sqLiteHndl,"sqlite3_open");
if(sqlite3_open== NULL)
{
return;
}
sqlite3_prepare_v2  = (FnPtr_sqlite3_prepare_v2) 
GetProcAddress(sqLiteHndl,"sqlite3_prepare_v2");
sqlite3_step= (FnPtr_sqlite3_step) 
GetProcAddress(sqLiteHndl,"sqlite3_step");
sqlite3_extended_result_codes = (FnPtr_sqlite3_extended_result_codes) 
GetProcAddress(sqLiteHndl, "sqlite3_extended_result_codes" );
}



int main()
{
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

sqlite3* sqlhandle;
TDBClass tdbhandle;
HINSTANCE sqlitehandle = tdbhandle.LoadLibrary();
tdbhandle.LoadFunctions();
int err = 
tdbhandle.sqlite3_open("/root/Sudha/epoc32/winscw/c/tswi/tscrtool/scr.db",);
err = tdbhandle.sqlite3_extended_result_codes(sqlhandle, 0);
sqlite3_stmt* stmtHandle = NULL;
const char* stmtTail = NULL;

const char* statement = "CREATE TABLE SoftwareTypeNames(NameId INTEGER 
PRIMARY KEY NOT NULL,SoftwareTypeId INTEGER NOT NULL,Locale INTEGER DEFAULT 
0,Name TEXT NOT NULL);";
std::string stmt(statement);
tdbhandle.sqlite3_prepare_v2(sqlhandle, stmt.c_str(), stmt.size(), 
, );
int err1 = tdbhandle.sqlite3_step(stmtHandle);

return 0;
}


This step int err1 = tdbhandle.sqlite3_step(stmtHandle);
 in the code returns 5 (sqlite_busy) every time I run the program.
(I don't have any multi threads in my program which can lock the db. )

Any help on this is appreciated.


Regards
sudha

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Get a specific sequence of rows...

2010-03-26 Thread Simon Slavin

On 26 Mar 2010, at 9:00am, Fredrik Karlsson wrote:

> I have a list of id:s stored in a field. I would now like to get some
> information from a table by these id:s, but exactly in this order. So,
> if I have a table
> 
> 1 One
> 2 Two
> 3 Three
> 
> and the sequence "3,1,2" stored somewhere, how do I get a neat list like
> 
> Three
> One
> Two

I can't find a function which does what you want.  The SQL-like solution to it 
is to have your '3,1,2' written to a table as three records, then use a JOIN or 
a sub-SELECT to make SQL return the right records in the right order.

Simon.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Get a specific sequence of rows...

2010-03-26 Thread David Bicking
On Fri, 2010-03-26 at 10:00 +0100, Fredrik Karlsson wrote:
> Hi,
> 
> I have a list of id:s stored in a field. I would now like to get some
> information from a table by these id:s, but exactly in this order. So,
> if I have a table
> 
> 1 One
> 2 Two
> 3 Three
> 
> and the sequence "3,1,2" stored somewhere, how do I get a neat list like
> 
> Three
> One
> Two
> 
> ?
> I I can see a solution where I split the string outside of sqlite and
> then construct a query consisting of lots of UNIONs, like (not a full
> example, just an illustration)
> 
> (select name from mytab where id = 3)
> UNION ALL
> (select name from mytab where id = 1)
> UNION ALL
> (select name from mytab where id = 2)
> ...
> ...
> 
> but maybe there is a better option somewhere?
> I would be thankful for any help I can get.
> 
> /Fredrik
> 

I'd create a second table
CREATE TABLE sequence (seq integer primary key, id);

Then insert your desired sequence in to that table
seq | id
1   | 3
2   | 1
3   | 2

Select * From datatable, sequence where datatable.id = sequence.id order
by sequence.seq;

David

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] "out of memory" in ANALYZE with SQLITE_ENABLE_STAT2

2010-03-26 Thread Martin Wilck
Shane Harrelson wrote:

> Thanks for reporting this.  It should be corrected by this fix:
> 
> http://www.sqlite.org/src/info/cbd054fa6b

Thank you. It is indeed fixed.

Martin

-- 
Dr. Martin Wilck
PRIMERGY System Software Engineer
x86 Server Engineering

Fujitsu Technology Solutions GmbH
Heinz-Nixdorf-Ring 1
33106 Paderborn, Germany

Phone:  ++49 5251 525 2796
Fax:++49 5251 525 2820
Email:  martin.wi...@ts.fujitsu.com
Internet:   http://ts.fujitsu.com
Company Details:http://de.ts.fujitsu.com/imprint.html
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Get a specific sequence of rows...

2010-03-26 Thread Fredrik Karlsson
Hi,

I have a list of id:s stored in a field. I would now like to get some
information from a table by these id:s, but exactly in this order. So,
if I have a table

1 One
2 Two
3 Three

and the sequence "3,1,2" stored somewhere, how do I get a neat list like

Three
One
Two

?
I I can see a solution where I split the string outside of sqlite and
then construct a query consisting of lots of UNIONs, like (not a full
example, just an illustration)

(select name from mytab where id = 3)
UNION ALL
(select name from mytab where id = 1)
UNION ALL
(select name from mytab where id = 2)
...
...

but maybe there is a better option somewhere?
I would be thankful for any help I can get.

/Fredrik

-- 
"Life is like a trumpet - if you don't put anything into it, you don't
get anything out of it."
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite on 64-bit Windows O/S

2010-03-26 Thread zhangfan
On Wed, Mar 17, 2010 at 5:59 PM, Simon Slavin  wrote:
>
> On 17 Mar 2010, at 4:04am, Roger Binns wrote:
>
>> Rashed Iqbal wrote:
>>> Has anyone compiled and used SQLite on 64-bit Windows? Are there any
>>> code changes that would be needed before compiling? Would the same DB
>>> file work on 32-bit and 64-bit Windows platforms?
>>
>> The file format is fixed and is independent of the host, 32 or 64 bit,
>> endianess etc.
>>
>> I don't believe there are any Win64 issues, but I don't have it myself.
>> I do run SQLite on 64 bit Linux hosts and have done for years.
>
> I have applications which compile for both 32-bit and 64-bit 
> Macintoshes/Operating systems.  I use the same code on both platforms and 
> both platforms access the same databases (sometimes at the same time).  I 
> have found no problems resulting in the use of the different widths.
>
> Simon.
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>

Maybe I missed something.

Is there any page about SQLite's 64-bit support on www.sqlite.org? If
not, does it mean that 64-bit is not officially supported by SQLite?

I also compiled and used 64-bit SQLite. By now, it seems that nothing
was wrong. But, what I am seeking now is something guaranteed, like
some unit test cases to run, to prove my compiling is good enough for
64-bit platform.

-- 
Fan
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users