You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Lieven Govaerts <sv...@mobsol.be> on 2007/12/02 09:01:27 UTC

[PATCH] Don't use sqlite3_db_handle

All python tests are failing on the mac buildslave since a week or so. I
did a check to see what's happening and found that svn uses the sqlite3
function sqlite3_db_handle not yet defined in the version I'm using, ie
3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.

Attached patch will remove all calls to sqlite3_db_handle. Consequence
is that we need to pass the db handle to all helper functions.

Lieven

[[[
Change some db helper functions to support versions of sqlite3 older
than 3.2.2.

* subversion/libsvn_fs_util/sqlite-util.h
* subversion/libsvn_fs_util/sqlite-util.c
  (step_with_expectation,
   svn_fs__sqlite_step_done,
   svn_fs__sqlite_step_row,
   svn_fs__sqlite_step,
   svn_fs__sqlite_bind_int64,
   svn_fs__sqlite_bind_text,
   svn_fs__sqlite_finalize): Change the declarations to take the 'db' as
    parameter so we can remove the calls to sqlite3_db_handle.
  (svn_fs__sqlite_reset): Remove second declaration.

* subversion/libsvn_fs_util/mergeinfo-sqlite-index.c
* subversion/libsvn_fs_util/node-origins-sqlite-index.c
  (*): Update all uses of the above functions to pass 'db' as first
argument.
]]]

Re: [PATCH] Don't use sqlite3_db_handle

Posted by David Glasser <gl...@davidglasser.net>.
On Dec 3, 2007 1:07 PM, Daniel Rall <dl...@collab.net> wrote:
>
> On Mon, 03 Dec 2007, David Glasser wrote:
>
> > On Dec 2, 2007 1:01 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
> > > All python tests are failing on the mac buildslave since a week or so. I
> > > did a check to see what's happening and found that svn uses the sqlite3
> > > function sqlite3_db_handle not yet defined in the version I'm using, ie
> > > 3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.
> > >
> > > Attached patch will remove all calls to sqlite3_db_handle. Consequence
> > > is that we need to pass the db handle to all helper functions.
> >
> > If we really can't require 3.2.2, I would prefer to make the
> > svn_fs__sqlite statement-related functions take an svn_fs__sqlite_stmt
> > object which is a struct containing a sqlite3_stmt *, and a sqlite3 *,
> > rather than requiring completely redundant arguments to all of those
> > functions.
>
> I prefer this approach.

I did something like this in r28345.


-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Don't use sqlite3_db_handle

Posted by Daniel Rall <dl...@collab.net>.
On Mon, 03 Dec 2007, David Glasser wrote:

> On Dec 2, 2007 1:01 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
> > All python tests are failing on the mac buildslave since a week or so. I
> > did a check to see what's happening and found that svn uses the sqlite3
> > function sqlite3_db_handle not yet defined in the version I'm using, ie
> > 3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.
> >
> > Attached patch will remove all calls to sqlite3_db_handle. Consequence
> > is that we need to pass the db handle to all helper functions.
> 
> If we really can't require 3.2.2, I would prefer to make the
> svn_fs__sqlite statement-related functions take an svn_fs__sqlite_stmt
> object which is a struct containing a sqlite3_stmt *, and a sqlite3 *,
> rather than requiring completely redundant arguments to all of those
> functions.

I prefer this approach.
-- 

Daniel Rall

Re: [PATCH] Don't use sqlite3_db_handle

Posted by David Glasser <gl...@davidglasser.net>.
On Dec 2, 2007 1:01 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
> All python tests are failing on the mac buildslave since a week or so. I
> did a check to see what's happening and found that svn uses the sqlite3
> function sqlite3_db_handle not yet defined in the version I'm using, ie
> 3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.
>
> Attached patch will remove all calls to sqlite3_db_handle. Consequence
> is that we need to pass the db handle to all helper functions.

If we really can't require 3.2.2, I would prefer to make the
svn_fs__sqlite statement-related functions take an svn_fs__sqlite_stmt
object which is a struct containing a sqlite3_stmt *, and a sqlite3 *,
rather than requiring completely redundant arguments to all of those
functions.

--dave


-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Don't use sqlite3_db_handle

Posted by David Glasser <gl...@davidglasser.net>.
On Dec 2, 2007 2:37 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
> David Glasser wrote:
> > On Dec 2, 2007 1:01 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
> >> All python tests are failing on the mac buildslave since a week or so. I
> >> did a check to see what's happening and found that svn uses the sqlite3
> >> function sqlite3_db_handle not yet defined in the version I'm using, ie
> >> 3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.
> >>
> >> Attached patch will remove all calls to sqlite3_db_handle. Consequence
> >> is that we need to pass the db handle to all helper functions.
> >
> > Can we really not have a dependency on a version that was released on
> > 2007-Jun-13?  Where does your Mac's 3.1.3 come from?
> >
> > --dave
> >
>
> It's included in my stock Mac OS X, bought last year. I have no problem
> with deciding that svn depends on a certain newer version, but we have
> to make that explicit then.

As another data point, Leopard appears to ship with 3.4.0.

Oh, and I totally ruined my point above by writing "2007-Jun-13" when
I meant "2005-Jun-13".

--dave


-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Don't use sqlite3_db_handle

Posted by Lieven Govaerts <sv...@mobsol.be>.
David Glasser wrote:
> On Dec 2, 2007 1:01 AM, Lieven Govaerts <sv...@mobsol.be> wrote:
>> All python tests are failing on the mac buildslave since a week or so. I
>> did a check to see what's happening and found that svn uses the sqlite3
>> function sqlite3_db_handle not yet defined in the version I'm using, ie
>> 3.1.3. sqlite3_db_handle is added in sqlite3 3.2.2.
>>
>> Attached patch will remove all calls to sqlite3_db_handle. Consequence
>> is that we need to pass the db handle to all helper functions.
> 
> Can we really not have a dependency on a version that was released on
> 2007-Jun-13?  Where does your Mac's 3.1.3 come from?
> 
> --dave
> 

It's included in my stock Mac OS X, bought last year. I have no problem
with deciding that svn depends on a certain newer version, but we have
to make that explicit then.

Lieven

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org