> 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 > ... > Please advise me if this change is okay for Windows sqlite3.c > applications. Thank you.
Without really knowing what define _KERNEL32_ means my first thought would be that it makes all Windows headers think that you are compiling kernel32.dll (quick googling suggests that it's indeed true or very close to that). As you actually compile another binary I'd think this can lead to some very bad consequences. Pavel On Mon, Apr 23, 2012 at 10:08 PM, Frank Chang <frank_chan...@hotmail.com> wrote: > > 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 _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users