Re: [sqlite] Linux top command and sqlite

2017-02-21 Thread Hick Gunter
Definitely 'D' as in "Disk I/O", if you type "1" while runing top, the results 
for each CPU are displayed separately und you will find at least 1 line (not 
necessarily always the same line) with a significant percentage of "wa" (I/O 
wait state).

Apparently your transactions involve very much more data changes than 
computations. A common reason ist hat you are running. each. change. in. a. 
separate. transaction. As suggested, try grouping several (the optimal size 
typically ranges from 100s to 1000s) small updates into a single transaction so 
that all the changes hit the disk together instead of separately.

-Ursprüngliche Nachricht-
Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] Im 
Auftrag von Kevin O'Gorman
Gesendet: Dienstag, 21. Februar 2017 19:22
An: sqlite-users 
Betreff: [sqlite] Linux top command and sqlite

I'm not at all sure this is the right place to ask, but as it only comes up 
when I'm running one of my sqlite jobs, I thought I'd start here.  I'm running 
Python 3.5 scripts in Linux 16.04.1 using the sqlite3 package.  Machine is Core 
i5, 32GB RAM.

Some of my stuff takes a while to run, and I like to keep tabs on it.
Right now, I'm running one of those, and the Linux top command shows extremely 
small CPU usage, and a status ("S" column) of "D" which the man page defines as 
"uninterruptable sleep".  Huh?

My code does not use an intentional sleep at all.  It's traversing parts of a 
graph, and not interacting with anything else.  As far as I know, anyway, and I 
wrote the whole thing.

Now it's true that it's updating the consequences of changes to graph nodes 
that took about 3 hours just to install, so taking a while is not a surprise by 
itself.  I just wonder what that status means and how it could arise.

--
word of the year: *kakistocracy*
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


___
 Gunter Hick
Software Engineer
Scientific Games International GmbH
FN 157284 a, HG Wien
Klitschgasse 2-4, A-1130 Vienna, Austria
Tel: +43 1 80100 0
E-Mail: h...@scigames.at

This communication (including any attachments) is intended for the use of the 
intended recipient(s) only and may contain information that is confidential, 
privileged or legally protected. Any unauthorized use or dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please immediately notify the sender by return e-mail message and 
delete all copies of the original communication. Thank you for your cooperation.


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


[sqlite] Magic self-healing database!

2017-02-21 Thread Ward WIllats
Hello List.

Well, here's something I haven't seen before.

I've got a DB in WAL mode on an embedded Linux system. My app (which has 
several threads, each with a connection, with Sqlite running fully serialized) 
was reporting database corruption in its logs.

Sun Feb 19 07:52:45 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 07:52:45 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 07:58:46 2017 user.debug NTPd: ntpd event: periodic
Sun Feb 19 08:06:24 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:06:24 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:11:05 2017 user.debug NTPd: ntpd event: periodic
Sun Feb 19 08:11:05 2017 user.debug NTPd: ntpd event: stratum
Sun Feb 19 08:20:03 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:20:03 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:30:00 2017 user.debug NTPd: ntpd event: periodic
Sun Feb 19 08:36:43 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:36:43 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:48:10 2017 user.debug NTPd: ntpd event: periodic
Sun Feb 19 08:51:50 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 08:51:50 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
Sun Feb 19 09:04:46 2017 user.warn FSP: [01636] [W:S3DB]:Sqlite3 Callback: 
database corruption at line 76226 of [254419c367] (11)
...and so on...

I shelled into the device with the app still running and ran the sqlite shell 
and did a "pragma integrity_check;" which reported:

sqlite> pragma integrity_check;
*** in database main ***
On tree page 598 cell 2: Offset 65026 out of range 178..1020
On tree page 598 cell 1: Offset 21743 out of range 178..1020

Then I SIGKILL'd my application and restarted it, and it recovered 8 frames 
from the WAL file, and the app seemed to be working again. So I used the shell 
again while the app was running and lo and behold! The database was fixed!

sqlite> pragma integrity_check;
ok

Sodoes this sorcery seem possible? Or have I just fooled myself somehow? 
What conclusions (if any) can I draw from this?

Thanks,

-- Ward

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


Re: [sqlite] error 6410 after upgrade to 3.17.0 on android

2017-02-21 Thread Alexandre Mainville
Using this:
SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.CREATE_IF_NECESSARY
| SQLiteDatabase.NO_LOCALIZED_COLLATORS);

Instead of this:
SQLiteDatabase.openOrCreateDatabase(path, null);

I don't get the error on database creation but if I then manually execute
the offending statement then I get the same error.
db.execSQL("CREATE TABLE IF NOT EXISTS android_metadata (locale TEXT)");


After using openDatabase (I'm creating a new file, not opening an existing
one)
select sqlite_version()
reports:
3.17.0

SELECT * FROM pragma_compile_options;
reports:
COMPILER=clang-3.8.256229
DEBUG
SYSTEM_MALLOC
TEMP_STORE=3
THREADSAFE=1


I'll double check everything is up to date tomorrow and try the .aar

Thanks for your help


*__*
*ALEXANDRE MAINVILLE*
Software Architect

*iBwave*
7075, Robert-Joncas, Suite 95
Montreal, Quebec, H4M 2Z2, Canada
www.ibwave.com

T +1 514-397-0606 ext. 422
F +1 514-409-2499
alexandre.mainvi...@ibwave.com

blog  | facebook
 | linkedin
 | twitter
 |

This email, including all attachments, is intended only for the named
recipient(s) and may contain confidential information. Any unauthorized
use, review, retransmission or dissemination of this email is strictly
prohibited. If you have received this email in error, or are not the named
recipient(s), please immediately notify the sender and destroy the original
and all copies of this email. Thank you.

On Tue, Feb 21, 2017 at 1:34 PM, Richard Hipp  wrote:

> On 2/21/17, Alexandre Mainville  wrote:
> > Hi,
> >
> > I just upgraded from sqlite 3.8.8.3 to 3.17.0. (I use zipvfs 3.17.0)
> >
> > On android, I get error SQLITE_IOERR_GETTEMPPATH (6410) when I try to
> > create a new DB.
> >
> > I checked that SQLITE_TEMP_STORE is properly set to 3 in Android.mk
>
> That error is only generated in one place (on unix systems):
>
> https://www.sqlite.org/src/artifact/30e2c43e4?ln=5460
>
> I added an "assert(0)" on the previous line and compiled ZIPVFS
> version 3.17.0 with -DSQLITE_TEMP_STORE=3 and -DSQLITE_DEBUG (the
> second to enable asserts).  I could not get the assert to fail.
>
> Are you sure compiling correctly and that you are using the freshly
> compiled code?  What does this SQL statement return:
>
> SELECT * FROM pragma_compile_options;
>
> You should get back multiple lines, one of which should says
> "TEMP_STORE=3" if the makefile is working correctly.
>
> --
> D. Richard Hipp
> d...@sqlite.org
> ___
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Unresolved External sqlite3_user_add

2017-02-21 Thread Simon Slavin

On 21 Feb 2017, at 10:11pm, Andrew Stewart  wrote:

> What I am trying to do is hide my data.

Then user-authentication is useless to you.  You need encryption.  The 
development team of SQLite also developed an encryption extension which is not 
free to use:



You may be able to find other ways of encrypting SQLite databases elsewhere.

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


Re: [sqlite] Linux top command and sqlite

2017-02-21 Thread Graham Holden


 Original message From: Roger Binns  
Date: 21/02/2017  20:48  (GMT+00:00) To: SQLite mailing list 
 Subject: Re: [sqlite] Linux top command 
and sqlite 
On 21/02/17 10:22, Kevin O'Gorman wrote:
> Some of my stuff takes a while to run, and I like to keep tabs on it.
> Right now, I'm running one of those, and the Linux top command shows
> extremely small CPU usage, and a status ("S" column) of "D" which the man
> page defines as "uninterruptable sleep".  Huh?

In this case you can read D as waiting on disk.


According to this answer on StackOverflow:  
http://stackoverflow.com/a/6685764/2096401 spotting a "D" is relatively rare, 
although can be more common if NFS or similar is involved. No idea whether 
that's true or not, nor whether it applies to the OP.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Unresolved External sqlite3_user_add

2017-02-21 Thread Andrew Stewart
Hi,
Thanks for the response.  That worked.  Don't do enough work between C++ and C 
to remember to use the #ifdef statements.  Only 1 problem, the database can 
still be opened and the data viewed by other programs that are not compiled 
with SQLITE_USER_AUTHENTICATION.  I am testing with SQLite Studio.  It doesn't 
see the password table, but does see all of the data, even data that is 
actively changed from the application.
Is there a better way to do this?
What I am trying to do is hide my data.

Thanks
Andrew

-Original Message-
From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On 
Behalf Of Dan Kennedy
Sent: Tuesday, February 21, 2017 10:13 AM
To: sqlite-users@mailinglists.sqlite.org
Subject: Re: [sqlite] Unresolved External sqlite3_user_add

On 02/22/2017 12:47 AM, Andrew Stewart wrote:
> Hi,
>  I am trying to add the authentication extension in and I am 
> getting this message.  I have included the 'userauth.c' at the bottom of the 
> amalgamation.  I have included 'sqlite3userauth.h' at the bottom of 
> sqlite3.h.  It finds it during the compile, but does not find it during the 
> link.  I added "pragma message()" lines to the sqlite3.c code to see that it 
> was going into this block and it was.  Have tried everything else that I can 
> think of and still no luck.
>  Any help would be appreciated.

Is SQLITE_USER_AUTHENTICATION defined at build time?

Or, are you using a C++ compiler? If so, you might need to add one of those 
[extern "C"] blocks around the contents of sqlite3userauth.h. i.e.

#ifdef __cplusplus
extern "C" {
#endif

   // contents of sqlite3userauth.h

#ifdef __cplusplus
}
#endif

Or just insert sqlite3userauth.h inside the [extern "C"] block that is already 
in sqlite3.h.

Dan.



>
> Thanks,
> Andrew Stewart
> Software Designer
>
>
> Notice: This electronic transmission contains confidential information, 
> intended only for the person(s) named above. If you are not the intended 
> recipient, you are hereby notified that any disclosure, copying, 
> distribution, or any other use of this email is strictly prohibited. If you 
> have received this transmission by error, please notify us immediately by 
> return email and destroy the original transmission immediately and all copies 
> thereof.
> ___
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


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


Re: [sqlite] Linux top command and sqlite

2017-02-21 Thread Roger Binns
On 21/02/17 10:22, Kevin O'Gorman wrote:
> Some of my stuff takes a while to run, and I like to keep tabs on it.
> Right now, I'm running one of those, and the Linux top command shows
> extremely small CPU usage, and a status ("S" column) of "D" which the man
> page defines as "uninterruptable sleep".  Huh?

In this case you can read D as waiting on disk.

Unless you are using multithreading, each query that needs to get data
not already in cache will result in disk activity.  And the code will
not continue until it gets the data from the disk.  The waiting is why
CPU usage is low.

You can use multithreading to allow more concurrent disk I/O although
Python's GIL complicates matters.  You can also tune the caches used by
SQLite.  If your database is smaller than your RAM then you can
prepopulate the OS cache with the database file contents.

Roger



signature.asc
Description: OpenPGP digital signature
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Options

2017-02-21 Thread Clyde Eisenbeis
in my SQLite.dll library program.

On Tue, Feb 21, 2017 at 2:42 PM, Clyde Eisenbeis  wrote:
> I don't recall how I obtained the SQLite files ... was two years ago.
>
> When I have SQLite installed on my genealogy program and on my SQLite
> .dll library, it works fine.
>
> When I don't have SQLite installed on my genealogy program, I get an
> exception "Unable to load DLL 'SQLite.Interop.dll': ... " with
>
>   sqliteConn = new System.Data.SQLite.SQLiteConnection("Data Source="
> + stPathFilename + ";").
>
> On Tue, Feb 21, 2017 at 12:26 PM, Barry  wrote:
>> Are you using NuGet or downloading the binaries from System.Data.Sqlite.org?
>>
>> Ah. You'll have to excuse me, it's been a while since I actually started a
>> new project and set SQLite as a dependency. I'm not sure if things have
>> changed, or if my memory is terrible, but what I said may not have been
>> completely clear or correct.
>>
>> If you're using NuGet (the easiest way):
>>  Turns out there's a NuGet package called System.Data.Sqlite.Core* that
>> includes only the core SQLite wrapper. If you install System.Data.Sqlite
>> you get the LINQ and EF stuff (which I generally try to stay away from). If
>> you use this package you will get both the x64 and x86 interop binaries in
>> their respective folders. If you have already installed the
>> System.Data.Sqlite package, and got the LINQ and EF dependencies, you
>> should be able to remove them as a dependency by right clicking the the
>> unnecessary dependencies to open their context menu, and selecting "Remove".
>>
>> If you're downloading from the website System.Data.Sqlite.org:
>>  You only get an x86 or a x64 version of the interop binaries, depending on
>> what you download. The download page has some instructions on how you can
>> make the wrapper library automatically select the correct interop dll for
>> whichever architecture you're targetting. See the section entitled "Native
>> Library pre-loading". I haven't gone through this setup personally so
>> cannot help you any more than what is there on the site (The NuGet package
>> comes with this preconfigured). You can choose to download the mixed mode
>> assemblies which will not have the 'interop' DLLs. I haven't played around
>> with these because the download page specifically advises to avoid these
>> packages unless you need to put SQLite in the Global Assembly Cache (which
>> the authors also recommend against). Note that if you download from the
>> website, you'll get the LINQ and EF6 dlls included in the zip file. If you
>> never reference them from your project, they won't be copied to your output
>> directory and you can ignore them.
>>
>> Hope this helps. I am by no means an expert, I've only messed with it a few
>> times. I hope that if I have got things wrong that someone more experienced
>> can jump in and correct my mistakes.
>>
>> * This name might be a little confusing since Microsoft have recently
>> release an unrelated product called Entity Framework Core. It appears
>> unrelated to System.Data.Sqlite.Core.
>>
>> On 21 February 2017 at 13:48, Clyde Eisenbeis  wrote:
>>
>>> Thanks for the good info!
>>>
>>> I can't find SQLite.Interop.dll ... is referenced at
>>> https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,
>>> but don't see a download.
>>>
>>> On Mon, Feb 20, 2017 at 12:30 PM, Barry Smith 
>>> wrote:
>>> > I would use system.data.sqlite in that situation.
>>> >
>>> > But I would also say it depends on what you already have written, and
>>> what your strengths are. I am under the impression from your first email
>>> that you already have something written using system.data.sqlite. i.e.
>>> Using the class System.Data.SQLite.SQLiteConnection to create a
>>> connection to the db, then using the methods of that to manipulate the db
>>> or extract data from it. Have I assumed wrong?
>>> >
>>> > If I am wrong, and you have yet to start writing anything, I would still
>>> recommend using system.data.sqlite. Only if you particularly like LINQ over
>>> SQL and you are prepared to learn the caveats of the entity framework would
>>> I recommend that.
>>> >
>>> > Note that if you're using system.data.sqlite you will ultimately produce
>>> a few dlls that must be distributed together:
>>> >  - your custom library, which contains the code you've written
>>> >  - System.Data.Sqlite.dll, which contains the wrapper to make an
>>> interface to access SQLite in a more dotNet friendly manner
>>> >  - x64\sqlite.interop.dll
>>> >  - x86\sqlite.interop.dll
>>> > The last two contain the 'raw' SQLite library (for either 32 or 64 bit
>>> systems).
>>> >
>>> > You should not need the other libraries for a simple application. If you
>>> find that visual studio is placing them in your project's output directory,
>>> check if they are listed as a reference and try to remove them then
>>> recompile.
>>> >
>>> >> On 20 Feb 2017, at 1:05 

Re: [sqlite] SQLite Options

2017-02-21 Thread Clyde Eisenbeis
I don't recall how I obtained the SQLite files ... was two years ago.

When I have SQLite installed on my genealogy program and on my SQLite
.dll library, it works fine.

When I don't have SQLite installed on my genealogy program, I get an
exception "Unable to load DLL 'SQLite.Interop.dll': ... " with

  sqliteConn = new System.Data.SQLite.SQLiteConnection("Data Source="
+ stPathFilename + ";").

On Tue, Feb 21, 2017 at 12:26 PM, Barry  wrote:
> Are you using NuGet or downloading the binaries from System.Data.Sqlite.org?
>
> Ah. You'll have to excuse me, it's been a while since I actually started a
> new project and set SQLite as a dependency. I'm not sure if things have
> changed, or if my memory is terrible, but what I said may not have been
> completely clear or correct.
>
> If you're using NuGet (the easiest way):
>  Turns out there's a NuGet package called System.Data.Sqlite.Core* that
> includes only the core SQLite wrapper. If you install System.Data.Sqlite
> you get the LINQ and EF stuff (which I generally try to stay away from). If
> you use this package you will get both the x64 and x86 interop binaries in
> their respective folders. If you have already installed the
> System.Data.Sqlite package, and got the LINQ and EF dependencies, you
> should be able to remove them as a dependency by right clicking the the
> unnecessary dependencies to open their context menu, and selecting "Remove".
>
> If you're downloading from the website System.Data.Sqlite.org:
>  You only get an x86 or a x64 version of the interop binaries, depending on
> what you download. The download page has some instructions on how you can
> make the wrapper library automatically select the correct interop dll for
> whichever architecture you're targetting. See the section entitled "Native
> Library pre-loading". I haven't gone through this setup personally so
> cannot help you any more than what is there on the site (The NuGet package
> comes with this preconfigured). You can choose to download the mixed mode
> assemblies which will not have the 'interop' DLLs. I haven't played around
> with these because the download page specifically advises to avoid these
> packages unless you need to put SQLite in the Global Assembly Cache (which
> the authors also recommend against). Note that if you download from the
> website, you'll get the LINQ and EF6 dlls included in the zip file. If you
> never reference them from your project, they won't be copied to your output
> directory and you can ignore them.
>
> Hope this helps. I am by no means an expert, I've only messed with it a few
> times. I hope that if I have got things wrong that someone more experienced
> can jump in and correct my mistakes.
>
> * This name might be a little confusing since Microsoft have recently
> release an unrelated product called Entity Framework Core. It appears
> unrelated to System.Data.Sqlite.Core.
>
> On 21 February 2017 at 13:48, Clyde Eisenbeis  wrote:
>
>> Thanks for the good info!
>>
>> I can't find SQLite.Interop.dll ... is referenced at
>> https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,
>> but don't see a download.
>>
>> On Mon, Feb 20, 2017 at 12:30 PM, Barry Smith 
>> wrote:
>> > I would use system.data.sqlite in that situation.
>> >
>> > But I would also say it depends on what you already have written, and
>> what your strengths are. I am under the impression from your first email
>> that you already have something written using system.data.sqlite. i.e.
>> Using the class System.Data.SQLite.SQLiteConnection to create a
>> connection to the db, then using the methods of that to manipulate the db
>> or extract data from it. Have I assumed wrong?
>> >
>> > If I am wrong, and you have yet to start writing anything, I would still
>> recommend using system.data.sqlite. Only if you particularly like LINQ over
>> SQL and you are prepared to learn the caveats of the entity framework would
>> I recommend that.
>> >
>> > Note that if you're using system.data.sqlite you will ultimately produce
>> a few dlls that must be distributed together:
>> >  - your custom library, which contains the code you've written
>> >  - System.Data.Sqlite.dll, which contains the wrapper to make an
>> interface to access SQLite in a more dotNet friendly manner
>> >  - x64\sqlite.interop.dll
>> >  - x86\sqlite.interop.dll
>> > The last two contain the 'raw' SQLite library (for either 32 or 64 bit
>> systems).
>> >
>> > You should not need the other libraries for a simple application. If you
>> find that visual studio is placing them in your project's output directory,
>> check if they are listed as a reference and try to remove them then
>> recompile.
>> >
>> >> On 20 Feb 2017, at 1:05 PM, Clyde Eisenbeis  wrote:
>> >>
>> >> Thanks for the clarification.  In my case:
>> >>
>> >> 1) Speed is not an issue.  Size is not an issue.
>> >>
>> >> 2) This is a personal use database 

Re: [sqlite] Linux top command and sqlite

2017-02-21 Thread Kevin O'Gorman
I'll try the synchronous=off the next time I run it.  As it happens, this
one
finished in 57 minutes, which is not bad, considering.

But, I wonder, could i not tell if it's doing lots of commits by looking at
the size of the ?.db-journal file?  It gets pretty large.


On Tue, Feb 21, 2017 at 10:38 AM, Richard Hipp  wrote:

> On 2/21/17, Kevin O'Gorman  wrote:
> > I'm not at all sure this is the right place to ask, but as it only comes
> up
> > when I'm running one of
> > my sqlite jobs, I thought I'd start here.  I'm running Python 3.5 scripts
> > in Linux 16.04.1 using the sqlite3 package.  Machine is Core i5, 32GB
> RAM.
> >
> > Some of my stuff takes a while to run, and I like to keep tabs on it.
> > Right now, I'm running one of those, and the Linux top command shows
> > extremely small CPU usage, and a status ("S" column) of "D" which the man
> > page defines as "uninterruptable sleep".  Huh?
>
> My guess:  It is busying doing an fsync() after a transaction commit.
> To find out, temporarily set "PRAGMA synchronous=off" in your script
> and see if that makes the pauses go away.
>
> A better long-term solution would be:
>
> (1) Group multiple changes into a single transaction using BEGIN...COMMIT.
> (2) Set PRAGMA journal_mode=WAL with PRAGMA synchronous=NORMAL.
>
>
> >
> > My code does not use an intentional sleep at all.  It's traversing parts
> of
> > a graph, and not interacting with anything else.  As far as I know,
> anyway,
> > and I wrote the whole thing.
> >
> > Now it's true that it's updating the consequences of changes to graph
> nodes
> > that took about 3 hours just to install, so taking a while is not a
> > surprise by itself.  I just wonder what that status means and how it
> could
> > arise.
> >
> > --
> > word of the year: *kakistocracy*
> > ___
> > sqlite-users mailing list
> > sqlite-users@mailinglists.sqlite.org
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
>
>
> --
> D. Richard Hipp
> d...@sqlite.org
> ___
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
word of the year: *kakistocracy*
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] shell .schema command doesn't display attached table schemas

2017-02-21 Thread Jim Wilcoxson
Example:

[jim@mb ~]$ sqlite3 dummy
-- Loading resources from /Users/jim/.sqliterc
SQLite version 3.15.1 2016-11-04 12:08:49 with the Encryption Extension
Copyright 2016 Hipp, Wyrick & Company, Inc.
Enter ".help" for usage hints.
sqlite> create table t1(text);
sqlite> ^D

[jim@mb ~]$ ls -l dummy
-rw-r--r--  1 jim  staff  8192 Feb 21 10:23 dummy

[jim@mb ~]$ sqlite3 dummy2
-- Loading resources from /Users/jim/.sqliterc
SQLite version 3.15.1 2016-11-04 12:08:49 with the Encryption Extension
Copyright 2016 Hipp, Wyrick & Company, Inc.
Enter ".help" for usage hints.
sqlite> create table t2(text);
sqlite> ^D

[jim@mb ~]$ ls -l dummy2
-rw-r--r--  1 jim  staff  8192 Feb 21 10:24 dummy2

[jim@mb ~]$ sqlite3 dummy
-- Loading resources from /Users/jim/.sqliterc
SQLite version 3.15.1 2016-11-04 12:08:49 with the Encryption Extension
Copyright 2016 Hipp, Wyrick & Company, Inc.
Enter ".help" for usage hints.
sqlite> attach dummy2 as d2;
sqlite> .tables
d2.t2  t1
sqlite> .schema
CREATE TABLE t1(text);
sqlite> ^D

HashBackup: easy onsite and offsite Unix backup
http://www.hashbackup.com
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Linux top command and sqlite

2017-02-21 Thread Richard Hipp
On 2/21/17, Kevin O'Gorman  wrote:
> I'm not at all sure this is the right place to ask, but as it only comes up
> when I'm running one of
> my sqlite jobs, I thought I'd start here.  I'm running Python 3.5 scripts
> in Linux 16.04.1 using the sqlite3 package.  Machine is Core i5, 32GB RAM.
>
> Some of my stuff takes a while to run, and I like to keep tabs on it.
> Right now, I'm running one of those, and the Linux top command shows
> extremely small CPU usage, and a status ("S" column) of "D" which the man
> page defines as "uninterruptable sleep".  Huh?

My guess:  It is busying doing an fsync() after a transaction commit.
To find out, temporarily set "PRAGMA synchronous=off" in your script
and see if that makes the pauses go away.

A better long-term solution would be:

(1) Group multiple changes into a single transaction using BEGIN...COMMIT.
(2) Set PRAGMA journal_mode=WAL with PRAGMA synchronous=NORMAL.


>
> My code does not use an intentional sleep at all.  It's traversing parts of
> a graph, and not interacting with anything else.  As far as I know, anyway,
> and I wrote the whole thing.
>
> Now it's true that it's updating the consequences of changes to graph nodes
> that took about 3 hours just to install, so taking a while is not a
> surprise by itself.  I just wonder what that status means and how it could
> arise.
>
> --
> word of the year: *kakistocracy*
> ___
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


-- 
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] error 6410 after upgrade to 3.17.0 on android

2017-02-21 Thread Dan Kennedy

On 02/22/2017 12:11 AM, Alexandre Mainville wrote:

Hi,

I just upgraded from sqlite 3.8.8.3 to 3.17.0. (I use zipvfs 3.17.0)

On android, I get error SQLITE_IOERR_GETTEMPPATH (6410) when I try to
create a new DB.

I checked that SQLITE_TEMP_STORE is properly set to 3 in Android.mk

Is there something else I need to force all temp files to memory?


Not as far as I know. The Android tests pass here, and although they are 
quite limited there are a couple of tests that create temp files.


Do you get the error if you use the *.aar file from the website?

  sqlite.org/download.html

Or do you have a smallish Android Studio project that we can use to 
debug the problem?


Dan.








Thanks

Alex



Caused by:
org.sqlite.database.sqlite.SQLiteDiskIOException: disk I/O error (code 6410)
   at
org.sqlite.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
   at
org.sqlite.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:571)
   at
org.sqlite.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:381)
   at
org.sqlite.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:227)
   at
org.sqlite.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:201)
   at
org.sqlite.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:467)
   at
org.sqlite.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:189)
   at
org.sqlite.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:181)
   at
org.sqlite.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:809)
   at
org.sqlite.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:794)
   at
org.sqlite.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
   at
org.sqlite.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:714)

*__*
*ALEXANDRE MAINVILLE*
Software Architect

*iBwave*
7075, Robert-Joncas, Suite 95
Montreal, Quebec, H4M 2Z2, Canada
www.ibwave.com

T +1 514-397-0606 ext. 422
F +1 514-409-2499
alexandre.mainvi...@ibwave.com

blog  | facebook
 | linkedin
 | twitter
 |

This email, including all attachments, is intended only for the named
recipient(s) and may contain confidential information. Any unauthorized
use, review, retransmission or dissemination of this email is strictly
prohibited. If you have received this email in error, or are not the named
recipient(s), please immediately notify the sender and destroy the original
and all copies of this email. Thank you.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users



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


Re: [sqlite] error 6410 after upgrade to 3.17.0 on android

2017-02-21 Thread Richard Hipp
On 2/21/17, Alexandre Mainville  wrote:
> Hi,
>
> I just upgraded from sqlite 3.8.8.3 to 3.17.0. (I use zipvfs 3.17.0)
>
> On android, I get error SQLITE_IOERR_GETTEMPPATH (6410) when I try to
> create a new DB.
>
> I checked that SQLITE_TEMP_STORE is properly set to 3 in Android.mk

That error is only generated in one place (on unix systems):

https://www.sqlite.org/src/artifact/30e2c43e4?ln=5460

I added an "assert(0)" on the previous line and compiled ZIPVFS
version 3.17.0 with -DSQLITE_TEMP_STORE=3 and -DSQLITE_DEBUG (the
second to enable asserts).  I could not get the assert to fail.

Are you sure compiling correctly and that you are using the freshly
compiled code?  What does this SQL statement return:

SELECT * FROM pragma_compile_options;

You should get back multiple lines, one of which should says
"TEMP_STORE=3" if the makefile is working correctly.

-- 
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Options

2017-02-21 Thread Barry
Are you using NuGet or downloading the binaries from System.Data.Sqlite.org?

Ah. You'll have to excuse me, it's been a while since I actually started a
new project and set SQLite as a dependency. I'm not sure if things have
changed, or if my memory is terrible, but what I said may not have been
completely clear or correct.

If you're using NuGet (the easiest way):
 Turns out there's a NuGet package called System.Data.Sqlite.Core* that
includes only the core SQLite wrapper. If you install System.Data.Sqlite
you get the LINQ and EF stuff (which I generally try to stay away from). If
you use this package you will get both the x64 and x86 interop binaries in
their respective folders. If you have already installed the
System.Data.Sqlite package, and got the LINQ and EF dependencies, you
should be able to remove them as a dependency by right clicking the the
unnecessary dependencies to open their context menu, and selecting "Remove".

If you're downloading from the website System.Data.Sqlite.org:
 You only get an x86 or a x64 version of the interop binaries, depending on
what you download. The download page has some instructions on how you can
make the wrapper library automatically select the correct interop dll for
whichever architecture you're targetting. See the section entitled "Native
Library pre-loading". I haven't gone through this setup personally so
cannot help you any more than what is there on the site (The NuGet package
comes with this preconfigured). You can choose to download the mixed mode
assemblies which will not have the 'interop' DLLs. I haven't played around
with these because the download page specifically advises to avoid these
packages unless you need to put SQLite in the Global Assembly Cache (which
the authors also recommend against). Note that if you download from the
website, you'll get the LINQ and EF6 dlls included in the zip file. If you
never reference them from your project, they won't be copied to your output
directory and you can ignore them.

Hope this helps. I am by no means an expert, I've only messed with it a few
times. I hope that if I have got things wrong that someone more experienced
can jump in and correct my mistakes.

* This name might be a little confusing since Microsoft have recently
release an unrelated product called Entity Framework Core. It appears
unrelated to System.Data.Sqlite.Core.

On 21 February 2017 at 13:48, Clyde Eisenbeis  wrote:

> Thanks for the good info!
>
> I can't find SQLite.Interop.dll ... is referenced at
> https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,
> but don't see a download.
>
> On Mon, Feb 20, 2017 at 12:30 PM, Barry Smith 
> wrote:
> > I would use system.data.sqlite in that situation.
> >
> > But I would also say it depends on what you already have written, and
> what your strengths are. I am under the impression from your first email
> that you already have something written using system.data.sqlite. i.e.
> Using the class System.Data.SQLite.SQLiteConnection to create a
> connection to the db, then using the methods of that to manipulate the db
> or extract data from it. Have I assumed wrong?
> >
> > If I am wrong, and you have yet to start writing anything, I would still
> recommend using system.data.sqlite. Only if you particularly like LINQ over
> SQL and you are prepared to learn the caveats of the entity framework would
> I recommend that.
> >
> > Note that if you're using system.data.sqlite you will ultimately produce
> a few dlls that must be distributed together:
> >  - your custom library, which contains the code you've written
> >  - System.Data.Sqlite.dll, which contains the wrapper to make an
> interface to access SQLite in a more dotNet friendly manner
> >  - x64\sqlite.interop.dll
> >  - x86\sqlite.interop.dll
> > The last two contain the 'raw' SQLite library (for either 32 or 64 bit
> systems).
> >
> > You should not need the other libraries for a simple application. If you
> find that visual studio is placing them in your project's output directory,
> check if they are listed as a reference and try to remove them then
> recompile.
> >
> >> On 20 Feb 2017, at 1:05 PM, Clyde Eisenbeis  wrote:
> >>
> >> Thanks for the clarification.  In my case:
> >>
> >> 1) Speed is not an issue.  Size is not an issue.
> >>
> >> 2) This is a personal use database (genealogy).
> >>
> >> 3) Typically I create .dll's that serve as a library (WPF Custom
> >> Control Library) ... easy to use for different programs.
> >>
> >> 4) For example, I have an Excel .dll library (uses Excel as a
> >> database).  When the program runs the first time using this .dll
> >> library, it creates the Excel file along with multiple sheets.
> >>
> >> 5) I'd like to create a similar .dll for an SQLite library.  The
> >> program that uses this .dll is a simple WPF program that uses the .dll
> >> class name to access the functions.
> >>
> >> With this info, which option would 

[sqlite] Linux top command and sqlite

2017-02-21 Thread Kevin O'Gorman
I'm not at all sure this is the right place to ask, but as it only comes up
when I'm running one of
my sqlite jobs, I thought I'd start here.  I'm running Python 3.5 scripts
in Linux 16.04.1 using the sqlite3 package.  Machine is Core i5, 32GB RAM.

Some of my stuff takes a while to run, and I like to keep tabs on it.
Right now, I'm running one of those, and the Linux top command shows
extremely small CPU usage, and a status ("S" column) of "D" which the man
page defines as "uninterruptable sleep".  Huh?

My code does not use an intentional sleep at all.  It's traversing parts of
a graph, and not interacting with anything else.  As far as I know, anyway,
and I wrote the whole thing.

Now it's true that it's updating the consequences of changes to graph nodes
that took about 3 hours just to install, so taking a while is not a
surprise by itself.  I just wonder what that status means and how it could
arise.

-- 
word of the year: *kakistocracy*
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Unresolved External sqlite3_user_add

2017-02-21 Thread Dan Kennedy

On 02/22/2017 12:47 AM, Andrew Stewart wrote:

Hi,
 I am trying to add the authentication extension in and I am getting this 
message.  I have included the 'userauth.c' at the bottom of the amalgamation.  I have 
included 'sqlite3userauth.h' at the bottom of sqlite3.h.  It finds it during the compile, 
but does not find it during the link.  I added "pragma message()" lines to the 
sqlite3.c code to see that it was going into this block and it was.  Have tried 
everything else that I can think of and still no luck.
 Any help would be appreciated.


Is SQLITE_USER_AUTHENTICATION defined at build time?

Or, are you using a C++ compiler? If so, you might need to add one of 
those [extern "C"] blocks around the contents of sqlite3userauth.h. i.e.


#ifdef __cplusplus
extern "C" {
#endif

  // contents of sqlite3userauth.h

#ifdef __cplusplus
}
#endif

Or just insert sqlite3userauth.h inside the [extern "C"] block that is 
already in sqlite3.h.


Dan.





Thanks,
Andrew Stewart
Software Designer


Notice: This electronic transmission contains confidential information, 
intended only for the person(s) named above. If you are not the intended 
recipient, you are hereby notified that any disclosure, copying, distribution, 
or any other use of this email is strictly prohibited. If you have received 
this transmission by error, please notify us immediately by return email and 
destroy the original transmission immediately and all copies thereof.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users



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


[sqlite] Unresolved External sqlite3_user_add

2017-02-21 Thread Andrew Stewart
Hi,
I am trying to add the authentication extension in and I am 
getting this message.  I have included the 'userauth.c' at the bottom of the 
amalgamation.  I have included 'sqlite3userauth.h' at the bottom of sqlite3.h.  
It finds it during the compile, but does not find it during the link.  I added 
"pragma message()" lines to the sqlite3.c code to see that it was going into 
this block and it was.  Have tried everything else that I can think of and 
still no luck.
Any help would be appreciated.

Thanks,
Andrew Stewart
Software Designer


Notice: This electronic transmission contains confidential information, 
intended only for the person(s) named above. If you are not the intended 
recipient, you are hereby notified that any disclosure, copying, distribution, 
or any other use of this email is strictly prohibited. If you have received 
this transmission by error, please notify us immediately by return email and 
destroy the original transmission immediately and all copies thereof.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] error 6410 after upgrade to 3.17.0 on android

2017-02-21 Thread Alexandre Mainville
Hi,

I just upgraded from sqlite 3.8.8.3 to 3.17.0. (I use zipvfs 3.17.0)

On android, I get error SQLITE_IOERR_GETTEMPPATH (6410) when I try to
create a new DB.

I checked that SQLITE_TEMP_STORE is properly set to 3 in Android.mk

Is there something else I need to force all temp files to memory?

Thanks

Alex



   Caused by:
org.sqlite.database.sqlite.SQLiteDiskIOException: disk I/O error (code 6410)
  at
org.sqlite.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
  at
org.sqlite.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:571)
  at
org.sqlite.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:381)
  at
org.sqlite.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:227)
  at
org.sqlite.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:201)
  at
org.sqlite.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:467)
  at
org.sqlite.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:189)
  at
org.sqlite.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:181)
  at
org.sqlite.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:809)
  at
org.sqlite.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:794)
  at
org.sqlite.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:699)
  at
org.sqlite.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:714)

*__*
*ALEXANDRE MAINVILLE*
Software Architect

*iBwave*
7075, Robert-Joncas, Suite 95
Montreal, Quebec, H4M 2Z2, Canada
www.ibwave.com

T +1 514-397-0606 ext. 422
F +1 514-409-2499
alexandre.mainvi...@ibwave.com

blog  | facebook
 | linkedin
 | twitter
 |

This email, including all attachments, is intended only for the named
recipient(s) and may contain confidential information. Any unauthorized
use, review, retransmission or dissemination of this email is strictly
prohibited. If you have received this email in error, or are not the named
recipient(s), please immediately notify the sender and destroy the original
and all copies of this email. Thank you.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Options

2017-02-21 Thread Clyde Eisenbeis
Thanks for the good info!

I can't find SQLite.Interop.dll ... is referenced at
https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,
but don't see a download.

On Mon, Feb 20, 2017 at 12:30 PM, Barry Smith  wrote:
> I would use system.data.sqlite in that situation.
>
> But I would also say it depends on what you already have written, and what 
> your strengths are. I am under the impression from your first email that you 
> already have something written using system.data.sqlite. i.e. Using the class 
> System.Data.SQLite.SQLiteConnection to create a connection to the db, then 
> using the methods of that to manipulate the db or extract data from it. Have 
> I assumed wrong?
>
> If I am wrong, and you have yet to start writing anything, I would still 
> recommend using system.data.sqlite. Only if you particularly like LINQ over 
> SQL and you are prepared to learn the caveats of the entity framework would I 
> recommend that.
>
> Note that if you're using system.data.sqlite you will ultimately produce a 
> few dlls that must be distributed together:
>  - your custom library, which contains the code you've written
>  - System.Data.Sqlite.dll, which contains the wrapper to make an interface to 
> access SQLite in a more dotNet friendly manner
>  - x64\sqlite.interop.dll
>  - x86\sqlite.interop.dll
> The last two contain the 'raw' SQLite library (for either 32 or 64 bit 
> systems).
>
> You should not need the other libraries for a simple application. If you find 
> that visual studio is placing them in your project's output directory, check 
> if they are listed as a reference and try to remove them then recompile.
>
>> On 20 Feb 2017, at 1:05 PM, Clyde Eisenbeis  wrote:
>>
>> Thanks for the clarification.  In my case:
>>
>> 1) Speed is not an issue.  Size is not an issue.
>>
>> 2) This is a personal use database (genealogy).
>>
>> 3) Typically I create .dll's that serve as a library (WPF Custom
>> Control Library) ... easy to use for different programs.
>>
>> 4) For example, I have an Excel .dll library (uses Excel as a
>> database).  When the program runs the first time using this .dll
>> library, it creates the Excel file along with multiple sheets.
>>
>> 5) I'd like to create a similar .dll for an SQLite library.  The
>> program that uses this .dll is a simple WPF program that uses the .dll
>> class name to access the functions.
>>
>> With this info, which option would you recommend?
>>
>>> On Sun, Feb 19, 2017 at 9:45 PM, Barry Smith  wrote:
>>> Strange, I replied to this earlier... Perhaps my messages are not getting 
>>> through.
>>>
>>> You cannot include a .c file for compilation in a c# project. You'd have to 
>>> do use a separate DLL and do some pinvoke stuff to get to the raw SQLite 
>>> interface, but in my opinion you're better off using the system.data.sqlite 
>>> wrapper. If you need the speed and power of the raw interface, you probably 
>>> need to drop out of an interpreted and managed language (c#) too...
>>>
>>> You don't need the entity framework (EF) to run system.data.sqlite. That is 
>>> an object relational mapper (ORM) that uses a lot of fancy reflection to 
>>> make data access a little easier* (until you get stung by it) and a lot 
>>> slower. EF is developed my Microsoft, although SQLite must provide some 
>>> input to make it work with its syntax. You should be able to remove the 
>>> entity framework dependencies from your project and still compile with no 
>>> issues. Try a complete rebuild / clean compile to try get rid of the 
>>> unnecessary dlls.
>>>
>>> *whether an ORM actually makes data access easier is debatable, they 
>>> basically allow you to write your data access queries in LINQ rather than 
>>> SQL, and automatically instansiate c# objects for each line in the results. 
>>> I find SQL easier...
>>>
 On 19 Feb 2017, at 1:50 PM, Clyde Eisenbeis  wrote:

 Sorry for the slow response.

 My code is in C#.  I don't know if the amalgamation source code in C
 can be compiled so it is compatible with C#.

 If it can, I'd be interested in details.  Thanks!

> On Sat, Feb 18, 2017 at 1:29 AM, R Smith  wrote:
>
>
>>> On 2017/02/18 12:45 AM, Warren Young wrote:
>>>
>>> On Feb 17, 2017, at 7:32 AM, R Smith  wrote:
>>>
>>> You can even checkout the latest commits via SVN
>>
>> There’s a Subversion mirror of the official Fossil code repository for
>> SQLite?
>
>
> Apologies, force of habit nomenclature. Have fallen to calling any 
> Software
> Versioning system just 'SVN' for short. I did of course mean for it to be
> checked out via Fossil.
>
>>https://goo.gl/KzLcV8
>>
>> (Excuse the shortener, it’s a raly long URL.)
>>
>> I could give you that Zip file link, but I suspect it’s purposely not
>> 

Re: [sqlite] Bug? Incorrect use of SQLITE_DEFAULT_CACHE_SIZE

2017-02-21 Thread Joe Mistachkin

Detlef Golze wrote:
> 
> This code still assumes that SQLITE_WIN32_CACHE_SIZE is measured in pages:

> 

The value of SQLITE_WIN32_HEAP_INIT_SIZE is an initial estimate of the
eventual heap size.  It does not have to be an exact figure.  Using either
KiB or pages normally ends up giving a fairly reasonable value.

Alternatively, it can be overridden at compile-time.

--
Joe Mistachkin @ https://urn.to/r/mistachkin

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


Re: [sqlite] Problem compiling 3.17.0 in MSVS 12

2017-02-21 Thread Duncan Hall
Brilliant! Thanks

 

 

> cl sqlite3.c -link -dll -out:sqlite3.dll 

 

cl sqlite3.c -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll 

 

> nmake /f makefile.msc 

 

nmake /f makefile.msc DYNAMIC_SHELL=1

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


Re: [sqlite] Problem compiling 3.17.0 in MSVS 12

2017-02-21 Thread Cezary H. Noweta

Hello,

On 2017-02-21 07:32, Green Fields wrote:


cl sqlite3.c -link -dll -out:sqlite3.dll


cl sqlite3.c -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll


nmake /f makefile.msc


nmake /f makefile.msc DYNAMIC_SHELL=1

-- best regards

Cezary H. Noweta
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users