Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c

2007-01-23 Thread Scott Hess

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

2007-01-23 Thread Sandeep Suresh
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

2007-01-23 Thread drh
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

2007-01-23 Thread Christian Smith

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

2007-01-23 Thread James Dennett
> -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 

Re: [sqlite] Sqlite3.3.11 - No differences except for sqlite3.h and os_win.c

2007-01-23 Thread Sandeep Suresh
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

2007-01-23 Thread COS
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

2007-01-23 Thread drh
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

2007-01-23 Thread drh
[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

2007-01-23 Thread Marten Feldtmann

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

2007-01-23 Thread drh
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

2007-01-23 Thread Leonardo Mateo

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