Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
BTW, http://www.sqlite.org/cvstrac/chngview?cn=3596 fixed a sort of nasty fts1/2 bug. Just in case you were looking for something else to pick up :-). Thanks, scott On 1/23/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: Sandeep Suresh <[EMAIL PROTECTED]> wrote: > I got sqlite-source-3.3.11.zip from sqlite.org/download.html and found > this issue. Seems incomplete to me going by http://sqlite.org/changes.html > I have now been able to ssh into the machine where I originally did my build and I discovered the problem: I failed to do a "cvs update" prior to starting the build. So the version 3.3.11 build was really mostly 3.3.10 with only a few updates. Most of the 3.3.11 updates had not been pulled in yet. Bottom line: I really flubbed the 3.3.11 build. The code that was originally published should work at least as well as 3.3.10, but it omits some of the changes that should have been in 3.3.11. I'll do a new release (3.3.12) to correct the problem when I return to my office at the end of this week. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
Did you update the sources on sqlite.org/download.html ? I got a few more files that were different from sqlite3.3.10 apart from sqlite3.h and os_win.c ( fts1.c, os_win.c, parse.c, vdbe.c and where.c ) -Sandeep [EMAIL PROTECTED] wrote: Sandeep Suresh <[EMAIL PROTECTED]> wrote: I got sqlite-source-3.3.11.zip from sqlite.org/download.html and found this issue. Seems incomplete to me going by http://sqlite.org/changes.html I have now been able to ssh into the machine where I originally did my build and I discovered the problem: I failed to do a "cvs update" prior to starting the build. So the version 3.3.11 build was really mostly 3.3.10 with only a few updates. Most of the 3.3.11 updates had not been pulled in yet. Bottom line: I really flubbed the 3.3.11 build. The code that was originally published should work at least as well as 3.3.10, but it omits some of the changes that should have been in 3.3.11. I'll do a new release (3.3.12) to correct the problem when I return to my office at the end of this week. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
Sandeep Suresh <[EMAIL PROTECTED]> wrote: > I got sqlite-source-3.3.11.zip from sqlite.org/download.html and found > this issue. Seems incomplete to me going by http://sqlite.org/changes.html > I have now been able to ssh into the machine where I originally did my build and I discovered the problem: I failed to do a "cvs update" prior to starting the build. So the version 3.3.11 build was really mostly 3.3.10 with only a few updates. Most of the 3.3.11 updates had not been pulled in yet. Bottom line: I really flubbed the 3.3.11 build. The code that was originally published should work at least as well as 3.3.10, but it omits some of the changes that should have been in 3.3.11. I'll do a new release (3.3.12) to correct the problem when I return to my office at the end of this week. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Shared Lock Transactions
Jay Sprenkle uttered: On 1/21/07, Andrew Teirney <[EMAIL PROTECTED]> wrote: > > > What is a 'shared' lock? You can't share a lock, only one process > > can own it at a time. > > > > As per this document > > http://www.sqlite.org/lockingv3.html > > SHARED The database may be read but not written. Any number of > processes can hold SHARED locks at the same time, hence there can be > many simultaneous readers. But no other thread or process is allowed > to write to the database file while one or more SHARED locks are > active. > A file lock is used to serialize write access. When reading the file is not locked. This makes little sense. There are no 'shared' locks. Sorry, Accidently hit send before I was finished. This documentation needs to be updated so it makes sense. Making up this conceptual 'shared lock' thing instead of explaining how the locking mechanism really works is not helpful. A 'shared lock' in reality is just opening the disk file that makes up the database without locking. Any number of other processes can read the file. You can't acquire a shared lock, you just don't acquire a write lock. No, you do acquire a lock. You must lock out any writer, but you do not require locking out other readers, hence you can share the lock with other readers, but it is a lock. It is a conceptual lock, and an OS level lock. Without the shared lock, the writer would have no way of knowing whether any other process is reading the file, thus making it unsafe to change the file. Christian -- /"\ \ /ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL X - AGAINST MS ATTACHMENTS / \ - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Fix for sqlite3.h in version 3.3.10
> -Original Message- > From: Joe Wilson [mailto:[EMAIL PROTECTED] > Sent: Monday, January 22, 2007 5:20 PM > To: sqlite-users@sqlite.org > Subject: RE: [sqlite] Fix for sqlite3.h in version 3.3.10 > > --- James Dennett <[EMAIL PROTECTED]> wrote: > > > -Original Message- > > > From: Joe Wilson [mailto:[EMAIL PROTECTED] > > > Subject: Re: [sqlite] Fix for sqlite3.h in version 3.3.10 > > [snip] > > > > > > I don't know if this is the right place to post suggestions to the > > > > SQLite developers, but why don't you do something like > > > > #define SQLITE_COMPAT_MODE > > > > and do these things like making SQLITE_TRANSIENT point to real > > > > function under #ifndef SQLITE_COMPAT_MODE? So the older users can > > > > compile under SQLITE_COMPAT_MODE and avoid having problems, while > > > > newly written code can rely on proper, clean code? > > > > > > By whose definition of proper code? > > > > The ANSI/ISO C and C++ committees, and the standards produced by them. > > Please cite the passage in either the C or C++ standards. There are two issues: the linkage issue, and the undefined nature of the conversion from an int to a function pointer type. The linkage issue is certainly spelled out in normative text in the C++ standard; see primarily the section "Linkage specifications" [dcl.link]. The section number in N2135 is 7.5; I don't have the IS handy to see if that's changed (likely it has). Regarding the undefined nature of the conversion in question, I'd have to check to see whether it's explicitly called out as undefined, or whether it is simply undefined because nothing defines it. Even casting -1 to an (int*) is not portable, to allow for systems where alignment requirements are enforced at conversion time among other things. > The proposed expression ((sqlite3_destructor_type)-1) is equivalent to > ((void(*)(void *))-1). They are interchangable. Not in C++. The difference being linkage; with the typedef declared in an extern "C" block, the type is something that can't be written directly. The types named by the following two typedefs are not the same: extern "C" { typedef void(*has_c_linkage)(void*); }; typedef void(*has_cpp_linkage)(void*); This issue doesn't affect C. > > > It would be a lot of effort to "solve" a problem that does not exist. > > > > > > which is diagnosed, though only as a warning, by Sun CC > > > > > > It's just a harmless warning produced by the cast when compiled by > > > a certain overly pedantic C++ compiler. > > > > No; the type mismatch is a real problem that can cause real crashes with > > valid C++ compilers, in the case that C and C++ use different calling > > conventions. > > > > > The proposed typedef offered > > > by the original poster seems like a reasonable appeasement: > > > > > > -#define SQLITE_STATIC ((void(*)(void *))0) > > > -#define SQLITE_TRANSIENT ((void(*)(void *))-1) > > > +typedef void (*sqlite3_destructor_type)(void*); > > > +#define SQLITE_STATIC ((sqlite3_destructor_type)0) > > > +#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) > > > > > > But the typedef should not be required. > > > > In C++, it is required to give the function pointer the correct type. > > Please show the source code that produces this Sun C++ compiler warning > with the exact text of the warning. Here is a small example program: extern "C" { typedef void(*has_c_linkage)(void*); } typedef void(*has_cpp_linkage)(void*); void fn_c(has_c_linkage a); void fn_cpp(has_c_linkage a); void sample_with_cpp_linkage(void*) {} extern "C" void sample_with_c_linkage(void*) {} int main() { fn_c(sample_with_c_linkage); fn_cpp(sample_with_cpp_linkage); fn_cpp(sample_with_c_linkage); fn_c(sample_with_cpp_linkage); } The result of compiling with Sun CC is: "linkage.cpp", line 13: Warning (Anachronism): Formal argument a of type extern "C" void(*)(void*) in call to fn_cpp(extern "C" void(*)(void*)) is being passed void(*)(void*). "linkage.cpp", line 16: Warning (Anachronism): Formal argument a of type extern "C" void(*)(void*) in call to fn_c(extern "C" void(*)(void*)) is being passed void(*)(void*). 2 Warning(s) detected. Comeau's C++ compiler is widely viewed as a paragon of compliance, being based on the excellent EDG frontend. It offers similar diagnostics: bash-2.05$ como -A linkage.cpp "linkage.cpp", line 13: error: argument of type "void (*)(void *)" is incompatible with parameter of type "has_c_linkage" fn_cpp(sample_with_cpp_linkage); ^ "linkage.cpp", line 16: error: argument of type "void (*)(void *)" is incompatible with parameter of type "has_c_linkage" fn_c(sample_with_cpp_linkage); ^ > > Any C++ compiler that does not issue a diagnostic for this fails to > > conform to the C++ standard in this regard (which is not to say that > > such compilers are uncommon). > > You're making the assumption that Sun's C++ compiler warning is correct > in this ca
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
I was trying to download sources for Windows platform. However, it seems fine now. Wonder what was the problem yesterday. :) Thanks, -Sandeep. [EMAIL PROTECTED] wrote: Marten Feldtmann <[EMAIL PROTECTED]> wrote: And the dll is ok ??? That is unclear. I do not have good internet connectivity where I am right now, so it is hard for me to tell. I uploaded a new build of 3.3.11 which I did on my laptop. This build lacks many of the usual downloads. But it does include the bare essentials, and I think those are correct in the new build. The DLL currently on the download site *should* be correct, though that is difficult for me to test from my Linux laptop. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] New DBManager Released
Hi, DBTools Software is proud to announce the availability of the new DBManager Professional Enterprise Edition 3.4.2 and DBManager Standard Edition 3.2.2. For a complete list of changes please check our website at http://www.dbtools.com.br/EN. The new versions are available in our downloads center at http://www.dbtools.com.br/EN/downloads. What is DBTools Manager? DBTools manager is an application for database managementm supporting MySQL, PostgreSQL, Interbase, Firebird, SQlite, DBF Tables, MSAccess, MSSQL Server, Sybase, Oracle and ODBC Datasources. This is a simple list of its features: - Full object management - Query Builder with planning, debugging capabilities - Diagram Designer - Report and Form Builders - Lots of Wizards to import and export data/structure to/from a variety of sources - Database Documenter, Comparer and Migration Wizards - View, Procedure and Function Builder - English and Portuguese BR language resources available - and much more Available in two editions: Enteprise and Standard. The latest can be used for free for personal use. For a complete list of its features check http://www.dbtools.com.br/EN/dbmanagerpro/features.php. Best Regards, DBTools Software http://www.dbtools.com.br - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
Marten Feldtmann <[EMAIL PROTECTED]> wrote: > And the dll is ok ??? > That is unclear. I do not have good internet connectivity where I am right now, so it is hard for me to tell. I uploaded a new build of 3.3.11 which I did on my laptop. This build lacks many of the usual downloads. But it does include the bare essentials, and I think those are correct in the new build. The DLL currently on the download site *should* be correct, though that is difficult for me to test from my Linux laptop. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
[EMAIL PROTECTED] wrote: > Sandeep Suresh <[EMAIL PROTECTED]> wrote: > > I got sqlite-source-3.3.11.zip from sqlite.org/download.html and found= > > > this issue. Seems incomplete to me going by http://sqlite.org/changes.h= > tml > > > > Yes. The build appears have malfunctioned. Unfortunately, I > am away from my office and am unable to fix the problem right > now. I have uploaded a new copy of sqlite-source-3_3_11.zip. > But I do not have the resources on my laptop to redo the entire > build. I might be later in the week before I am able to completely > fix the delivery. > To avoid confusion, I'll release 3.3.12 later this week. I do not anticipate any real code changes (unless something comes up between now and then). The purposes of increasing the version number is so that there will be no ambiguity about what version of SQLite people are running. Do to a busted build, somepeople are currently running 3.3.10 when they think they are running 3.3.11. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
And the dll is ok ??? Marten - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c
Sandeep Suresh <[EMAIL PROTECTED]> wrote: > I got sqlite-source-3.3.11.zip from sqlite.org/download.html and found > this issue. Seems incomplete to me going by http://sqlite.org/changes.html > Yes. The build appears have malfunctioned. Unfortunately, I am away from my office and am unable to fix the problem right now. I have uploaded a new copy of sqlite-source-3_3_11.zip. But I do not have the resources on my laptop to redo the entire build. I might be later in the week before I am able to completely fix the delivery. -- D. Richard Hipp <[EMAIL PROTECTED]> - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Help for a newbie
On 1/23/07, Birt, Jeffrey <[EMAIL PROTECTED]> wrote: Hello all, I have been attempting to figure out how to build the sqlite2 plugin for QT4. I need to use V2 as I am working with files written by another program. Here is a synopsis of where I am at: I am a relitive newbie to QT et al (but not programming in general). I managed to downlaod/install/(build the debug files) for QT 4.2.2 open source. I found Qdevelop (IDE) installed it got the two to play nice a did a few 'Hello World' programs. (all on WinXP) I then sat down and tried to write a simple program to access a SQLite V2 database (becasue that is what another software package writes to and I need to work with those files). I read a bunch of the QT SQL library docs, wite a simple program and QT tells me that the driver (qsqlite2) for SQLite V2 is not available. So then I look up how to build the driver here: http://doc.trolltech.com/4.2/sql-driver.html, and basically says the following (instruction for V3 same as V2): On Windows: cd %QTDIR%\src\plugins\sqldrivers\sqlite qmake -o Makefile "INCLUDEPATH+=C:\SQLITE\INCLUDE" "LIBS+=C:\SQLITE\LIB\SQLITE3.LIB" sqlite.pro make Looking at the readme in C:\Qt\4.2.2\src\plugins\sqldrivers\sqlite2 revealed this: "You will need the SQLite development headers and libraries installed before compiling this plugin." So, I take it that I need the SQLite V2 sources. OK, I figured out how to get sqlite 2.8 downloaded from CVS. Now, that I have these sources how do I get them in the form that QT wants in order to build the plugin? In other words, the image of the files from CVS has no lib files or development headers (I think I have that right). I have done a lot of searching but have not come up with anything. Can someone at least point me in the right direction. The sources I got from CVS do not have any type of library file(s) (which I'm guesing I need) Any help would be most appreciated. Hi, what you'll need to do is to build sqlite2 from sources with MinGW (Qt4 default compiler for Windows). Once you have this built, probably you will get an exe file and hopefully a shared library. (look at the sqlite install docs for instructions on how to build sqlite library) I've never done this job specifically, but I've done some similar tasks. If you can't get sqlite shared library (.dll) built from sources you may get this library from SQLite site (I hope, I've done this with SQLite3). Once you have sqlite.dll you will have to generate .LIB file with MinGW tools, I can't remember specifically the sintax of gcc for this now, but take a look at gcc's command line help, but, basically you will need to generate a .def file from the .dll file and then with these files (.def and .dll) you will be able to generate .LIB file to link Qt4 plugin with it. Just a tip... please, say Qt, not QT. QT is owned by Mac Hope this help. Cheers. -- Leonardo Mateo. There's no place like ~ - To unsubscribe, send email to [EMAIL PROTECTED] -