[ic] Problem with Berkeley DB_File on FreeBSD - continue

Mike Heins mikeh@minivend.com
Sun, 4 Mar 2001 11:41:24 -0500


Quoting Kestutis Lasys (kestutis.lasys@delfi.lt):
> After day of debugging I found that SQL::Statement.pm (Statement.xs)
> doesn't 
> behave as documented on FreeBSD system. 
> 
> > where
> > 
> > This method is used to examine the syntax tree of the C<WHERE> clause.
> > It returns undef (if no WHERE clause was used) or an instance of
> > SQL::Statement::Op. 
> 
> If no WHERE clause is used it doesn't return undef but number.
> 
> I'm unfamiliar with xs, so here is my fix:
> 
> --- /usr/local/interchange/lib/Vend/Scan.pm     Sat Dec  2 19:49:10 2000
> +++ lib/Vend/Scan.pm    Fri Mar  2 13:28:23 2001
> @@ -663,7 +663,8 @@
>         my @where;
>         my $numeric;
>         @where = $stmt->where();
> -       if(defined $where[0]) {
> +       #if(defined $where[0]) {
> +       if(CORE::ref $where[0]) {
>           my $or;
>           push_spec('co', 'yes', $ary, $hash);
>           do {
> 

Thank you! I love fixes. 8-)

I am going to put this in the 4.7.x tree, and probably the stable
branch. I will be recommending that all BSD users update to 4.7.x as
soon as possible, as it *greatly* improves reliability with almost all
rewinding system call situations accounted for.

-- 
Red Hat, Inc., 131 Willow Lane, Floor 2, Oxford, OH  45056
phone +1.513.523.7621 fax 7501 <mheins@redhat.com>

If you think nobody cares if you're alive, try missing a couple of
car payments.  -- Earl Wilson