Good evening, I find that if I insert, #define _KERNEL32_ , at line 587 of the latest 3.7.11 sqlite3.c file. Then, the following warning message disappears from Microsoft Visual Studio C++ 2008 output -- warning C4232: nonstandard extension used : 'pCurrent' : address of dllimport 'AreFileApisANSI' is not static, identity not guaranteed. Please advise me if this change is okay for Windows sqlite3.c applications. Thank you.
> e:\users\frank\dqt_memorymap\sqlite\sqlite3.c(32329) : warning C4232: > nonstandard extension used : 'pCurrent' : address of dllimport > >'AreFileApisANSI' is not static, identity not guaranteed >A quick google shows http://msdn.microsoft.com/en-us/library/9a1sy630.aspx >Would using /Ze instead of /Za do what you want? >Regards, >Simon > From: sqlite-users-requ...@sqlite.org > Subject: sqlite-users Digest, Vol 52, Issue 23 > To: sqlite-users@sqlite.org > Date: Mon, 23 Apr 2012 12:00:02 -0400 > > Send sqlite-users mailing list submissions to > sqlite-users@sqlite.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > or, via email, send a message with subject or body 'help' to > sqlite-users-requ...@sqlite.org > > You can reach the person managing the list at > sqlite-users-ow...@sqlite.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of sqlite-users digest..." > > > Today's Topics: > > 1. Re: Permissions (Steinar Midtskogen) > 2. Re: Permissions (Steinar Midtskogen) > 3. Re: Permissions (Richard Hipp) > 4. Re: Permissions (Simon Slavin) > 5. free list performance (Max Vlasov) > 6. help (????????? ?????) > 7. Re: help (Simon Davies) > 8. Re: Permissions (Steinar Midtskogen) > 9. help (????????? ?????) > 10. Help (????????? ?????) > 11. Help (????????? ?????) > 12. Re: Help (niXman) > 13. Re: free list performance (Simon Slavin) > 14. Re: free list performance (Ghislain Segers) > 15. Memory Usage/ Drawbacks of Statements (Mohit Sindhwani) > 16. Is it possible to preclude the latest sqlite 3.7.11 Windows > warning message? (Frank Chang) > 17. Re: help (Pavel Ivanov) > 18. Re: Memory Usage/ Drawbacks of Statements (Pavel Ivanov) > 19. Re: Is it possible to preclude the latest sqlite 3.7.11 > Windows warning message? (Simon Davies) > 20. Re: free list performance (Max Vlasov) > 21. Re: free list performance (Simon Slavin) > 22. Re: free list performance (Pavel Ivanov) > 23. Re: Memory Usage/ Drawbacks of Statements (Mohit Sindhwani) > 24. error 404 (Adam DeVita) > 25. Is it possible to preclude the latest sqlite 3.7.11 Windows > warning message? (Frank Chang) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 22 Apr 2012 18:26:50 +0200 > From: Steinar Midtskogen <stei...@latinitas.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Permissions > Message-ID: <87397vlol1....@latinitas.org> > Content-Type: text/plain; charset=us-ascii > > Stephan Beal <sgb...@googlemail.com> writes: > > > Try the sticky bit: > > > > chown user:apache theDir > > chmod 4775 theDir > > I think the effect of that only is to restrict anyone but root or the > owner of a file from deleting or renaming an otherwise writeable file > in that directory. > > -- > Steinar > > > ------------------------------ > > Message: 2 > Date: Sun, 22 Apr 2012 18:40:12 +0200 > From: Steinar Midtskogen <stei...@latinitas.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Permissions > Message-ID: <87y5pnk9eb....@latinitas.org> > Content-Type: text/plain; charset=windows-1252 > > [Simon Slavin] > > > The solution I came up with is that the database file owner also > > uses Apache to look at it: I use web-facing database administration > > software rather than opening the database in another application. > > (I wrote a simple one myself in PHP and JavaScript.) However this > > is unacceptable for some users. > > That gave me an idea, which should solve the problem for me. Only two > applications access the database: apache or the sqlite3 commandline > tool. So I simply chowned the sqlite3 application and made it setuid > apache. > > It doesn't solve the general case, though, where any application owned > by any user in a certain group should be able to access the database. > > > You're using WAL mode. DELETE mode is the default behaviour: when > > the last connection to the database is closed, the journal is > > deleted. But you can change this to TRUNCATE or some other value > > that suits you. That way, the files will not have to be remade. So > > then you would ? > > I chose WAL since I'd like to have as much concurrency as possible. > > If TRUNCATE means that the files will always be present, never > deleted, then I suppose that also could solve my problem, since the > file then could be made group writeable. > > > Any reason why sqlite doesn't use the same file permissions as the > database file when creating these extra files? > -- > Steinar > > > ------------------------------ > > Message: 3 > Date: Sun, 22 Apr 2012 13:02:16 -0400 > From: Richard Hipp <d...@sqlite.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Permissions > Message-ID: > <CALwJ=MwA089JGMqbs1=5UWCDvTLbGq+efa=ri+w+7d2_dxp...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > On Sun, Apr 22, 2012 at 12:40 PM, Steinar Midtskogen > <stei...@latinitas.org>wrote: > > > > > Any reason why sqlite doesn't use the same file permissions as the > > database file when creating these extra files? > > > > > There was a change in version 3.7.11 to do exactly that. > http://www.sqlite.org/src/info/84b324606a > > -- > D. Richard Hipp > d...@sqlite.org > > > ------------------------------ > > Message: 4 > Date: Sun, 22 Apr 2012 18:36:44 +0100 > From: Simon Slavin <slav...@bigfraud.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Permissions > Message-ID: <6b2429fa-517c-4fea-abf7-86cbf8f27...@bigfraud.org> > Content-Type: text/plain; charset=us-ascii > > > On 22 Apr 2012, at 6:02pm, Richard Hipp <d...@sqlite.org> wrote: > > > There was a change in version 3.7.11 to do exactly that. > > http://www.sqlite.org/src/info/84b324606a > > Woo hoo. > > Simon. > > > ------------------------------ > > Message: 5 > Date: Mon, 23 Apr 2012 14:15:37 +0400 > From: Max Vlasov <max.vla...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: [sqlite] free list performance > Message-ID: > <CAJtDhuCbHDok1mN+j6ufLSjSFg=mmpczrgtfjqgy4-k58dt...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Hi, > > Some time ago I worked with a database repeating the same sequence of > actions multiply times. They're basically: > - create table > - populate table > - do some deletes with some criteria > - drop table > > After about 20 times I started to notice the usual effects of internal > fragmentation (slowness in some usually quick operations and reports > of large seek from VFS). I assume this has something to do with the > way new pages allocated from free list. I narrowed it to a little test > that can reproduce this (tested with 3.7.10) > > CREATE TABLE [TestTable] ([Id] INTEGER PRIMARY KEY AUTOINCREMENT) > Insert into TestTable Default Values /* do this 1,000,000 times */ > Delete from TestTable where (Id/1000) % 2 = 0 > Drop table TestTable > > This test makes the db very fragmented after about 10 steps. > > I thought recently that the main source of internal fragmentation is > the nature of the data added. But looks like not only. Even if your > data is sequential, but the free_list is fragmented, then you would > probably get fragmented internal data. Is it possible to automatically > sort free_list from time to time? Or maybe some other solution if this > would cost too much? > > Thanks > > Max > > > ------------------------------ > > Message: 6 > Date: Mon, 23 Apr 2012 14:30:11 +0400 > From: ????????? ????? <kofa_...@mail.ru> > To: sqlite-users@sqlite.org > Subject: [sqlite] help > Message-ID: <e1smgx6-0007ug-05.kofa_yox-mail...@f262.mail.ru> > Content-Type: text/plain; charset=utf-8 > > Hello,support! > Tell me how to resize columns in a table? > I do like this: > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > or > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > But it does not work. > > -- > ? ?????????, > ???????? ????? ?????????? mailto:kofa_...@mail.ru > ???????-??????????? ?? "????????" > Skype: kofa_yox1 > ICQ: 552406342 > > > > > ------------------------------ > > Message: 7 > Date: Mon, 23 Apr 2012 11:33:47 +0100 > From: Simon Davies <simon.james.dav...@gmail.com> > To: ????????? ????? <kofa_...@mail.ru>, General Discussion of SQLite > Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] help > Message-ID: > <cang6ahs7zsoqanogeb8jj_cxame5kuyb7nv78wgbj_t7ox9...@mail.gmail.com> > Content-Type: text/plain; charset=KOI8-R > > 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > > Hello,support! > > Tell me how to resize columns in a table? > > I do like this: > > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > > or > > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > > But it does not work. > > > > The column does not have a size: > http://www.sqlite.org/datatype3.html > > Regards, > Simon > > > ------------------------------ > > Message: 8 > Date: Mon, 23 Apr 2012 12:41:54 +0200 > From: Steinar Midtskogen <stei...@latinitas.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Permissions > Message-ID: <lbehreafwt....@cisco.com> > Content-Type: text/plain; charset=us-ascii > > [Richard Hipp] > > > On Sun, Apr 22, 2012 at 12:40 PM, Steinar Midtskogen > > <stei...@latinitas.org>wrote: > > > >> > >> Any reason why sqlite doesn't use the same file permissions as the > >> database file when creating these extra files? > >> > >> > > There was a change in version 3.7.11 to do exactly that. > > http://www.sqlite.org/src/info/84b324606a > > Oh, great! I'm just at 3.7.9, the latest on cpan. This was the > fastest response to a feature request I've ever experienced. Fixed a > few weeks before I asked the question! > > -- > Steinar > > > ------------------------------ > > Message: 9 > Date: Mon, 23 Apr 2012 14:43:29 +0400 > From: ????????? ????? <kofa_...@mail.ru> > To: sqlite-users@sqlite.org, simon.james.dav...@gmail.com > Subject: [sqlite] help > Message-ID: <e1smgjx-0001rh-ts.kofa_yox-mail...@f213.mail.ru> > Content-Type: text/plain; charset=utf-8 > > Mon, 23 Apr 2012 11:33:47 +0100 ?? Simon Davies > <simon.james.dav...@gmail.com>: > > 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > > > Hello,support! > > > Tell me how to resize columns in a table? > > > I do like this: > > > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > > > or > > > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > > > But it does not work. > > > > > > > The column does not have a size: > > http://www.sqlite.org/datatype3.html > > > > Regards, > > Simon > > > > That is, If I explicitly pointed out the size of the column 150, still can > not write to the text of any reasonable length? > > For example: > > Table t1 > cid name type notnull dflt_value pk > ------- -------------- ----------------- ----------- -------------- --- > 0 GLOBALID INTEGER 1 1 > 1 ID VARCHAR(30) 0 0 > ... > 11 COMMENT VARCHAR(150) 0 0 > > So it is possible: ? > UPDATE t1 SET comment = 'here the text of 160 characters long' > > > ? ?????????, > ????????? ????? > > ------------------------------ > > Message: 10 > Date: Mon, 23 Apr 2012 14:48:12 +0400 > From: ????????? ????? <kofa_...@mail.ru> > To: sqlite-users@sqlite.org > Subject: [sqlite] Help > Message-ID: <e1smgow-0006xo-1j.kofa_yox-mail...@f91.mail.ru> > Content-Type: text/plain; charset=utf-8 > > 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > > Hello,support! > > Tell me how to resize columns in a table? > > I do like this: > > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > > or > > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > > But it does not work. > > > ? > The column does not have a size: > http://www.sqlite.org/datatype3.html > ? > Regards, > Simon > > -------------------- > That is, If I explicitly pointed out the size of the column 150, still can > not write to the text of any reasonable length? > > For example: > > Table t1 > cid name type notnull dflt_value pk > ------- -------------- ----------------- ----------- -------------- --- > 0 GLOBALID INTEGER 1 1 > 1 ID VARCHAR(30) 0 0 > ... > 11 COMMENT VARCHAR(150) 0 0 > > So it is possible: ? > UPDATE t1 SET comment = 'here the text of 160 characters long' > > ------------------------------ > > Message: 11 > Date: Mon, 23 Apr 2012 15:07:21 +0400 > From: ????????? ????? <kofa_...@mail.ru> > To: simon.james.dav...@gmail.com, sqlite-users@sqlite.org > Subject: [sqlite] Help > Message-ID: <e1smh73-0004u4-ft.kofa_yox-mail...@f15.mail.ru> > Content-Type: text/plain; charset=utf-8 > > Dear,Simon? James! > Thank you very much. Worked!Similarly, the type has no size! From Russian > developer you respect!? =) > > > 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > > Hello,support! > > Tell me how to resize columns in a table? > > I do like this: > > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > > or > > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > > But it does not work. > > > ? > The column does not have a size: > > > ? ?????????, > ????????? ????? > > ------------------------------ > > Message: 12 > Date: Mon, 23 Apr 2012 15:08:57 +0400 > From: niXman <i.nix...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Help > Message-ID: > <CAMPTgK1FRr2a=img6g2fbqvx4q2bt052kbtjhofdogg_-wq...@mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > 23 ?????? 2012??. 15:07 ???????????? ????????? ?????: > > From Russian developer you respect!? =) > > ???? ?? ??? ??? ;) > > > > -- > Regards, > ? niXman > > ------------------------------ > > Message: 13 > Date: Mon, 23 Apr 2012 12:35:20 +0100 > From: Simon Slavin <slav...@bigfraud.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] free list performance > Message-ID: <78a3dca7-cb20-4cd3-a091-f4cec8042...@bigfraud.org> > Content-Type: text/plain; charset=us-ascii > > > On 23 Apr 2012, at 11:15am, Max Vlasov <max.vla...@gmail.com> wrote: > > > Some time ago I worked with a database repeating the same sequence of > > actions multiply times. They're basically: > > - create table > > - populate table > > - do some deletes with some criteria > > - drop table > > Okay. That's obviously pointless. To help us it would be better to tell us > whether you do reads before or after 'do some deletes', or both. > > > After about 20 times I started to notice the usual effects of internal > > fragmentation (slowness in some usually quick operations and reports > > of large seek from VFS). I assume this has something to do with the > > way new pages allocated from free list. I narrowed it to a little test > > that can reproduce this (tested with 3.7.10) > > > > CREATE TABLE [TestTable] ([Id] INTEGER PRIMARY KEY AUTOINCREMENT) > > Insert into TestTable Default Values /* do this 1,000,000 times */ > > Delete from TestTable where (Id/1000) % 2 = 0 > > Drop table TestTable > > > > This test makes the db very fragmented after about 10 steps. > > > > I thought recently that the main source of internal fragmentation is > > the nature of the data added. But looks like not only. Even if your > > data is sequential, but the free_list is fragmented, then you would > > probably get fragmented internal data. Is it possible to automatically > > sort free_list from time to time? Or maybe some other solution if this > > would cost too much? > > Apart from the above, nice description of the problem. Makes it easier to > answer. Your guess about the free_list is correct, as far as I know. > > You have two types of fragmentation: fragmentation of the database file in > your disk file system, and fragmentation of the data inside the database > file. The first one will make a big difference only under Windows and I > assume you can deal with it using the Windows tools. > > For the second one, the simplest way to do something like defragment the data > inside the file is to use the VACUUM command: > > <http://www.sqlite.org/lang_vacuum.html> > > Do it whenever you like. In your case, immediately after dropping the table > might be good. An alternative to manually issuing the VACUUM command would be > to create a new database and set 'PRAGMA auto_vacuum=FULL' for it before > creating any tables. However note that the vacuuming done by this command > isn't identical to what VACUUM does. Read about it here: > > <http://www.sqlite.org/pragma.html#pragma_auto_vacuum> > > Simon. > > ------------------------------ > > Message: 14 > Date: Mon, 23 Apr 2012 13:49:37 +0200 > From: "Ghislain Segers" <ghislain.seg...@telenet.be> > To: "General Discussion of SQLite Database" <sqlite-users@sqlite.org> > Subject: Re: [sqlite] free list performance > Message-ID: <6B4D7813D04B4AAE9F90EF0F5BCA9749@PCvanVanZwam> > Content-Type: text/plain; format=flowed; charset="iso-8859-1"; > reply-type=original > > Stop that BULLSHIT > > > ----- Original Message ----- > From: "Simon Slavin" <slav...@bigfraud.org> > To: "General Discussion of SQLite Database" <sqlite-users@sqlite.org> > Sent: Monday, April 23, 2012 1:35 PM > Subject: Re: [sqlite] free list performance > > > > > > On 23 Apr 2012, at 11:15am, Max Vlasov <max.vla...@gmail.com> wrote: > > > >> Some time ago I worked with a database repeating the same sequence of > >> actions multiply times. They're basically: > >> - create table > >> - populate table > >> - do some deletes with some criteria > >> - drop table > > > > Okay. That's obviously pointless. To help us it would be better to tell > > us whether you do reads before or after 'do some deletes', or both. > > > >> After about 20 times I started to notice the usual effects of internal > >> fragmentation (slowness in some usually quick operations and reports > >> of large seek from VFS). I assume this has something to do with the > >> way new pages allocated from free list. I narrowed it to a little test > >> that can reproduce this (tested with 3.7.10) > >> > >> CREATE TABLE [TestTable] ([Id] INTEGER PRIMARY KEY AUTOINCREMENT) > >> Insert into TestTable Default Values /* do this 1,000,000 times */ > >> Delete from TestTable where (Id/1000) % 2 = 0 > >> Drop table TestTable > >> > >> This test makes the db very fragmented after about 10 steps. > >> > >> I thought recently that the main source of internal fragmentation is > >> the nature of the data added. But looks like not only. Even if your > >> data is sequential, but the free_list is fragmented, then you would > >> probably get fragmented internal data. Is it possible to automatically > >> sort free_list from time to time? Or maybe some other solution if this > >> would cost too much? > > > > Apart from the above, nice description of the problem. Makes it easier to > > answer. Your guess about the free_list is correct, as far as I know. > > > > You have two types of fragmentation: fragmentation of the database file in > > your disk file system, and fragmentation of the data inside the database > > file. The first one will make a big difference only under Windows and I > > assume you can deal with it using the Windows tools. > > > > For the second one, the simplest way to do something like defragment the > > data inside the file is to use the VACUUM command: > > > > <http://www.sqlite.org/lang_vacuum.html> > > > > Do it whenever you like. In your case, immediately after dropping the > > table might be good. An alternative to manually issuing the VACUUM > > command would be to create a new database and set 'PRAGMA > > auto_vacuum=FULL' for it before creating any tables. However note that > > the vacuuming done by this command isn't identical to what VACUUM does. > > Read about it here: > > > > <http://www.sqlite.org/pragma.html#pragma_auto_vacuum> > > > > Simon. > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > ------------------------------ > > Message: 15 > Date: Mon, 23 Apr 2012 20:02:17 +0800 > From: Mohit Sindhwani <m...@onghu.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: [sqlite] Memory Usage/ Drawbacks of Statements > Message-ID: <4f9544c9.8090...@onghu.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Hi, our system does fairly predictable queries when it runs. A number > of modules all access data using a handful of queries of each. We open > the database at the start and close it at the end of the program. > > Each query follows the usual pattern of prepare - bind - step - reset - > (eventually) finalize. > > I was wondering if there is any known drawback in creating statements > up-front when the system is started and use them as and when they are > needed. > > 1. Do statements do any thing that would require a lot of memory to be > maintained? > > 2. Are there any known drawbacks of doing this? > > 3. Finally, if sqlite3_reset is called multiple times before a bind, is > there a problem? > > Thanks, > Mohit. > > > > ------------------------------ > > Message: 16 > Date: Mon, 23 Apr 2012 08:04:11 -0400 > From: Frank Chang <frank_chan...@hotmail.com> > To: <sqlite-users@sqlite.org> > Subject: [sqlite] Is it possible to preclude the latest sqlite 3.7.11 > Windows warning message? > Message-ID: <blu149-w36c4b1ba70049798b81a188b...@phx.gbl> > Content-Type: text/plain; charset="iso-8859-1" > > > > Good morning, We are trying to compile the latest SQLITE 3.7.11 release but > we keep getting the Windows Visual Studio 8 warning message: ---- warning > C4232: nonstandard extension used : 'pCurrent' : address of dllimport > 'AreFileApisANSI' is not static, identity not guaranteed showm below. > Is it possible to preclude and understand the meaning of this warning > message? Thank you. > > e:\users\frank\dqt_memorymap\sqlite\sqlite3.c(32329) : warning C4232: > nonstandard extension used : 'pCurrent' : address of dllimport > 'AreFileApisANSI' is not static, identity not guaranteed > > ------------------------------ > > Message: 17 > Date: Mon, 23 Apr 2012 08:37:10 -0400 > From: Pavel Ivanov <paiva...@gmail.com> > To: ????????? ????? <kofa_...@mail.ru>, General Discussion of SQLite > Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] help > Message-ID: > <cag1a4rs1+d4p_bba48g_jwltrn7m-klqzgb0tqhc0j_feu9...@mail.gmail.com> > Content-Type: text/plain; charset=KOI8-R > > > 11 ? ? ? COMMENT ? ? ? ? VARCHAR(150) ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ?0 > > > > So it is possible: ? > > UPDATE t1 SET comment = 'here the text of 160 characters long' > > Yes, that's possible. You can put text of any length into VARCHAR or > TEXT field no matter what size you declare for it (you can even miss > the size altogether, that won't make a difference). > > > Pavel > > > 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > > Mon, 23 Apr 2012 11:33:47 +0100 ?? Simon Davies > > <simon.james.dav...@gmail.com>: > >> 2012/4/23 ????????? ????? <kofa_...@mail.ru>: > >> > Hello,support! > >> > Tell me how to resize columns in a table? > >> > I do like this: > >> > ALTER TABLE t1 MODIFY (c1 TYPE VARCHAR(2500)); > >> > or > >> > ALTER TABLE t1 ALTER (c1 TYPE VARCHAR(2500)); > >> > But it does not work. > >> > > >> > >> The column does not have a size: > >> http://www.sqlite.org/datatype3.html > >> > >> Regards, > >> Simon > >> > > > > That is, If I explicitly pointed out the size of the column 150, still can > > not write to the text of any reasonable length? > > > > For example: > > > > Table t1 > > cid ? ? ?name ? ? ? ? ? ?type ? ? ? ? ? ? ? notnull ? ? ?dflt_value ? ? ?pk > > ------- -------------- ----------------- ----------- -------------- --- > > 0 ? ? ? ?GLOBALID ? ? ? ?INTEGER ? ? ? ? ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ?1 > > 1 ? ? ? ?ID ? ? ? ? ? ? ?VARCHAR(30) ? ? ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ?0 > > ... > > 11 ? ? ? COMMENT ? ? ? ? VARCHAR(150) ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ?0 > > > > So it is possible: ? > > UPDATE t1 SET comment = 'here the text of 160 characters long' > > > > > > ? ?????????, > > ????????? ????? > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > ------------------------------ > > Message: 18 > Date: Mon, 23 Apr 2012 08:47:43 -0400 > From: Pavel Ivanov <paiva...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Memory Usage/ Drawbacks of Statements > Message-ID: > <cag1a4ru_40jknjfbdvy-rrkuxthaavzc1xrnph4pvpc9jqk...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > > 1. Do statements do any thing that would require a lot of memory to be > > maintained? > > No, they don't need a lot of memory, but still some memory is used. So > if you have like thousands of statements you should worry about this. > If you have 20 or 30 statements your database cache will likely > consume much more memory, so don't worry. > > > 2. Are there any known drawbacks of doing this? > > Preparing all statements takes some time which adds to startup time of > your application. Also you could prepare some statements which won't > be used later. If those are not problems for you then preparing all > statements at startup is a way to go. > > > 3. Finally, if sqlite3_reset is called multiple times before a bind, is > > there a problem? > > No, there's no problem in here. > > > Pavel > > > On Mon, Apr 23, 2012 at 8:02 AM, Mohit Sindhwani <m...@onghu.com> wrote: > > Hi, our system does fairly predictable queries when it runs. ?A number of > > modules all access data using a handful of queries of each. ?We open the > > database at the start and close it at the end of the program. > > > > Each query follows the usual pattern of prepare - bind - step - reset - > > (eventually) finalize. > > > > I was wondering if there is any known drawback in creating statements > > up-front when the system is started and use them as and when they are > > needed. > > > > 1. Do statements do any thing that would require a lot of memory to be > > maintained? > > > > 2. Are there any known drawbacks of doing this? > > > > 3. Finally, if sqlite3_reset is called multiple times before a bind, is > > there a problem? > > > > Thanks, > > Mohit. > > > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > ------------------------------ > > Message: 19 > Date: Mon, 23 Apr 2012 14:03:23 +0100 > From: Simon Davies <simon.james.dav...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Is it possible to preclude the latest sqlite > 3.7.11 Windows warning message? > Message-ID: > <cang6ahqcvmvl+z7r_kvqug1qwgnwuhwe3yp4c7glg+ysaps...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > On 23 April 2012 13:04, Frank Chang <frank_chan...@hotmail.com> wrote: > > > > > > ? ? ? Good morning, We are trying to compile ?the latest SQLITE 3.7.11 > > release but we keep getting the Windows Visual Studio 8 warning message: > > ---- warning C4232: nonstandard extension used : 'pCurrent' : address of > > dllimport 'AreFileApisANSI' is not static, identity not guaranteed showm > > below. > > ? ? ? Is it possible to preclude and understand the meaning of this warning > > message? Thank you. > > > > e:\users\frank\dqt_memorymap\sqlite\sqlite3.c(32329) : warning C4232: > > nonstandard extension used : 'pCurrent' : address of dllimport > > 'AreFileApisANSI' is not static, identity not guaranteed > > A quick google shows http://msdn.microsoft.com/en-us/library/9a1sy630.aspx > > Would using /Ze instead of /Za do what you want? > > Regards, > Simon > > > ------------------------------ > > Message: 20 > Date: Mon, 23 Apr 2012 17:25:22 +0400 > From: Max Vlasov <max.vla...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] free list performance > Message-ID: > <CAJtDhuDeeVRnhFB4=i6ught-bycq+wee2zdzrj7tr0dhcw+...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > On Mon, Apr 23, 2012 at 3:35 PM, Simon Slavin <slav...@bigfraud.org> wrote: > > > > For the second one, the simplest way to do something like defragment the > > data inside the file is to use the VACUUM command: > > Simon, thanks, I see what vacuum can do, sure I use it frequently as > many of us. Ironically when I noticed the slowness, I did VACUUM that > took almost a half an hour alone because the db contained other > persistent data including big indexes. I think handling free list > alone (for example allowing sort them only with a pragma) would help > in cases like mine but unfortunately will add more confusion. > > Max > > > ------------------------------ > > Message: 21 > Date: Mon, 23 Apr 2012 15:01:27 +0100 > From: Simon Slavin <slav...@bigfraud.org> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] free list performance > Message-ID: <d352a74d-1ce8-4466-b1e6-fb6ff117a...@bigfraud.org> > Content-Type: text/plain; charset=us-ascii > > > On 23 Apr 2012, at 2:25pm, Max Vlasov <max.vla...@gmail.com> wrote: > > > On Mon, Apr 23, 2012 at 3:35 PM, Simon Slavin <slav...@bigfraud.org> wrote: > >> > >> For the second one, the simplest way to do something like defragment the > >> data inside the file is to use the VACUUM command: > > > > Simon, thanks, I see what vacuum can do, sure I use it frequently as > > many of us. Ironically when I noticed the slowness, I did VACUUM that > > took almost a half an hour alone because the db contained other > > persistent data including big indexes. I think handling free list > > alone (for example allowing sort them only with a pragma) would help > > in cases like mine but unfortunately will add more confusion. > > I think that the PRAGMA for auto-vacuum might be the right thing for your > situation. Unfortunately it would have to be done before any tables were > created. The simplest way to do this for a database which already exists > might be to use the shell tool to dump the existing database to SQL > statements, create a new database, do the PRAGMA, then read the data into the > new database. > > Simon. > > ------------------------------ > > Message: 22 > Date: Mon, 23 Apr 2012 10:10:46 -0400 > From: Pavel Ivanov <paiva...@gmail.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] free list performance > Message-ID: > <CAG1a4rt6H4-TO4O7FCo3BAr7TVYQNUtv8jo=o54+c-3hmkf...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > > I think that the PRAGMA for auto-vacuum might be the right thing for your > > situation. ?Unfortunately it would have to be done before any tables were > > created. ?The simplest way to do this for a database which already exists > > might be to use the shell tool to dump the existing database to SQL > > statements, create a new database, do the PRAGMA, then read the data into > > the new database. > > You can also run VACUUM after changing auto-vacuum mode. It will apply > new auto-vacuum mode to a re-created database. > > > Pavel > > > On Mon, Apr 23, 2012 at 10:01 AM, Simon Slavin <slav...@bigfraud.org> wrote: > > > > On 23 Apr 2012, at 2:25pm, Max Vlasov <max.vla...@gmail.com> wrote: > > > >> On Mon, Apr 23, 2012 at 3:35 PM, Simon Slavin <slav...@bigfraud.org> wrote: > >>> > >>> For the second one, the simplest way to do something like defragment the > >>> data inside the file is to use the VACUUM command: > >> > >> Simon, thanks, I see what vacuum can do, sure I use it frequently as > >> many of us. Ironically when I noticed the slowness, I did VACUUM that > >> took almost a half an hour alone because the db contained other > >> persistent data including big indexes. I think handling free list > >> alone (for example allowing sort them only with a pragma) would help > >> in cases like mine but unfortunately will add more confusion. > > > > I think that the PRAGMA for auto-vacuum might be the right thing for your > > situation. ?Unfortunately it would have to be done before any tables were > > created. ?The simplest way to do this for a database which already exists > > might be to use the shell tool to dump the existing database to SQL > > statements, create a new database, do the PRAGMA, then read the data into > > the new database. > > > > Simon. > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > ------------------------------ > > Message: 23 > Date: Mon, 23 Apr 2012 22:19:00 +0800 > From: Mohit Sindhwani <m...@onghu.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Memory Usage/ Drawbacks of Statements > Message-ID: <4f9564d4.9060...@onghu.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Thanks Pavel, > > That gives me something new to do with SQLite over the next few weeks. > > On 23/4/2012 8:47 PM, Pavel Ivanov wrote: > >> 1. Do statements do any thing that would require a lot of memory to be > >> maintained? > > No, they don't need a lot of memory, but still some memory is used. So > > if you have like thousands of statements you should worry about this. > > If you have 20 or 30 statements your database cache will likely > > consume much more memory, so don't worry. > > > >> 2. Are there any known drawbacks of doing this? > > Preparing all statements takes some time which adds to startup time of > > your application. Also you could prepare some statements which won't > > be used later. If those are not problems for you then preparing all > > statements at startup is a way to go. > > > >> 3. Finally, if sqlite3_reset is called multiple times before a bind, is > >> there a problem? > > No, there's no problem in here. > > > > > > Pavel > > > > > > ------------------------------ > > Message: 24 > Date: Mon, 23 Apr 2012 10:49:30 -0400 > From: Adam DeVita <adev...@verifeye.com> > To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: [sqlite] error 404 > Message-ID: > <CAC=yM-CgJ_yjuUWy1=RknmsX2JaL=iLLO2LkgcX=kbkyd4o...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Good day, > > This page > http://sqlite.org/cvstrac/wiki?p=SqliteNetwork > > Is giving an error 404 for this link > *SQL4Sockets* (http://www.oneledger.co.uk/sql4sockets.html) > > regards, > Adam > > > ------------------------------ > > Message: 25 > Date: Mon, 23 Apr 2012 11:09:03 -0400 > From: Frank Chang <frank_chan...@hotmail.com> > To: <sqlite-users@sqlite.org> > Subject: [sqlite] Is it possible to preclude the latest sqlite 3.7.11 > Windows warning message? > Message-ID: <blu149-w16d60d3b6c257d87ea7d3c8b...@phx.gbl> > Content-Type: text/plain; charset="iso-8859-1" > > > Simon Davies, We tried your suggestion, /Ze on Visual Studio 2008, buy we are > still encountering Microsoft Visual 2008 warning, Thank you for your help. > > > e:\users\frank\dqt_memorymap\sqlite\sqlite3.c(32329) : warning C4232: > nonstandard extension used : 'pCurrent' : address of dllimport > 'AreFileApisANSI' is not static, identity not guaranteed, > > > --A quick google shows http://msdn.microsoft.com/en-us/library/9a1sy630.aspx > > --Would using /Ze instead of /Za do what you want? > > --Regards, > --Simon > > > ------------------------------ > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > End of sqlite-users Digest, Vol 52, Issue 23 > ******************************************** _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users