Re: -640 : QPlan sanity failure (2139.3).
Posted in 2003
--0__=88BBE731DFC2607B8f9e8a93df938690918c88BBE731DFC2607B
Content-type: text/plain; charset=US-ASCII
Did you migrate/upgrade recently ??? I've seen this error when
upgrades/migrations happen. I would suggest dropping distributions and
re-running update statistics for the tables in the query.
HTH
Thanx much,
Rajib Sarkar
Advisory Software Engineer (RAS)
IBM Data Management Group
Ph : (602)-217-2100
Fax: (602)-217-2100
T/L : 667-2100
As long as you derive inner help and comfort from anything, keep it --
Mahatma Gandhi
"Leonid
Vorontsov" To: informix-list@iiug.org
<Leonids.Voroncov cc:
s@dati.lv> Subject: -640 : QPlan sanity failure (2139.3).
Sent by:
owner-informix-li
st@iiug.org
09/15/2003 12:36
AM
Please respond to
"Leonid
Vorontsov"
Hi All!
-------------------------
C:\\\\INFORMIX>ver
Windows NT Version 4.0
C:\\\\INFORMIX>onstat -
Informix Dynamic Server Version 7.31.TD6 -- On-Line -- Up 6 days
22:23:23 --
1706560 Kbytes
C:\\\\INFORMIX>
-------------------------
Attached script gives subj error. Any comments?
#### repro.sql has been removed from this note on September 15, 2003 by
Rajib Sarkar
--0__=88BBE731DFC2607B8f9e8a93df938690918c88BBE731DFC2607B
Content-type: application/octet-stream;
name="repro.sql"
Content-Disposition: attachment; filename="repro.sql"
Content-transfer-encoding: base64
CREATE DATABASE lvo_x;
CREATE TABLE ian_parsks (
id_ianparsks INT,
id_viddarbin_a INT,
id_ianparsk INT,
id_pilspag INT,
summa DEC( 15, 2 ),
summa_v DEC( 15, 2 ),
summa_p DEC( 15, 2 ),
akcept_p CHAR,
nekorekts CHAR
);
CREATE TABLE ian_parskr (
id_ianparskr INT,
id_viddarbin_a INT,
id_ianparsk INT,
id_ianveids INT,
id_pilspag INT,
numurs VARCHAR( 10 ),
summa DEC( 15, 2 ),
summa_v DEC( 15, 2 ),
summa_p DEC( 15, 2 ),
akcept_p CHAR,
num_pk SMALLINT,
cet_men SMALLINT,
statuss CHAR,
koment VARCHAR( 100 ),
dienas SMALLINT,
nekorekts CHAR,
licence_num VARCHAR( 20 ),
licence_dat DATE
);
-- DROP PROCEDURE reproducel
CREATE PROCEDURE reproduce( diid INT )
DEFINE dtid INT;
LET dtid = 1;
UPDATE IAN_PARSKS
SET IAN_PARSKS.NEKOREKTS =
(CASE WHEN (SELECT count(*) from IAN_PARSKR b
WHERE b.id_pilspag =IAN_PARSKS.id_pilspag and
b.id_ianparsk = IAN_PARSKS.id_ianparsk
group by id_pilspag
having (case when dtid in ( 1 ) then
ian_parsks.summa else sum(b.summa) end ) = IAN_PARSKS.summa and
sum(b.summa_v) =IAN_PARSKS.summa_v and
sum(b.summa_p) = IAN_PARSKS.summa_p ) >0
THEN (CASE WHEN (SUMMA = SUMMA_P + SUMMA_V) THEN 0 ELSE 1 END) ELSE 1 END)
WHERE IAN_PARSKS.id_ianparsk = diid;
END PROCEDURE;
EXECUTE PROCEDURE reproduce( 1 );
--0__=88BBE731DFC2607B8f9e8a93df938690918c88BBE731DFC2607B--
sending to informix-list