Hi all,
I recently upgraded my project from 3.2.2 to 3.3.5 (or if you look at
my last post 3.4.5 ;) and have found a situation where sqlite tries to
access an invalid memory location in file vdbe.c line 3633 (pC==0). I
have confirmed that this query causes the command line utility
(pre-compiled for windows from the website) to crash as well. The
database passes an integrity check, furthermore i can dump the
database re-created it and the query still fails. Not all values for
"i" cause the error. The query works in 3.2.2 for all "i" values
passed in.

--here is the query, note it doesn't actually return any rows.
select ac1, ac2 from ac
where (ac1 in (select ac from aci where i=2475)
and ac2 in (select ac from aci where i=2051))
union
select ac2 ac1, ac1 ac2 from ac
where (ac2 in (select ac from aci where i=2475)
and ac1 in (select ac from aci where i=2051));

--here is the structure that can be used to reproduce this error...
trying to get the smallest set of data that will produce the error i
found out that the error will occur with or with out data in the
tables...
CREATE TABLE ac(
   ac1    int    NOT NULL,
   ac2    int    NOT NULL
);
CREATE UNIQUE INDEX PKAC ON ac(ac1, ac2);

CREATE TABLE aci(
   ac    int    NOT NULL,
   i     int    NOT NULL
);
CREATE UNIQUE INDEX PKACI ON ACI(ac, i);


Any help would be appreciated.
--Preston

Reply via email to