Subject Re: [firebird-support] Weird query results - bug?
Author Kjell Rilbe
Den 2013-01-18 13:31 skrev Svein Erling Tysvær såhär:
>
> > Hi,
> >
> > This SQL returns 2533 records, none of which contain B."Kod" starting
> > with 1711 or 2111 (checked thoroughly):
> > select B.*
> > from "Branschkod" B
> > inner join "Branschkod" B2 on B2."Namn" = B."Namn"
> > where B."ECO_ID" <> B2."ECO_ID"
> >
> > Now, I add a line to the WHERE:
> > select B.*
> > from "Branschkod" B
> > inner join "Branschkod" B2 on B2."Namn" = B."Namn"
> > where B."ECO_ID" <> B2."ECO_ID"
> > and B."Kod" in ('17111', '17112', '17113', '21111', '21112', '21113')
> >
> > This select DOES return six records, containing B."Kod" starting with
> > 1711 or 2111 (one for each code in the list).
> >
> > How can this happen?
>
> Maybe an index is damaged? See if the two queries use different plans
> and recreate any index that is used in the first plan and not in the
> second (I assume the six records exist, and that it is the 2533
> records that should be at least 2539 records).
>

The plan in both cases is:
PLAN SORT (MERGE (SORT (B2 NATURAL), SORT (B NATURAL)))

This should mean no index is used, right?

Kjell

--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64