HXTT DBF
Join Index Bug
Martin Ross
2006-07-19 12:25:55.0
Given two tables
cmdbbilfile and PRSMSTR where cmdbillfile.dbf and cmdbillfile.ntx exist, and PRSMSTR.dbf exists, BUT PRSMSTR.ntx does NOT exist.

select TACCT,MACCT
from cmbbillfile this_
inner join PRSMSTR pacificpat3_
on this_.TACCT=pacificpat3_.MACCT

Returns zero rows.

When copying the PRSMSTR.NTX file into the directory with the PRSMSTR.DBF the driver returns the appropriate rows.

There should either
A) An error returned by the driver generated to let know that NTX file is missing
B) The correct results should be returned!
Re:Join Index Bug
HXTT Support
2006-07-19 19:00:36.0
Try:
REINDEX ALL on cmbbillfile;

then your issue should disappear.
Re:Re:Join Index Bug
Martin Ross
2006-07-19 23:24:08.0
That isn't the point. The point is that an incorrect result is being returned without any error message. This is really dangerous and sloppy coding.

Re:Re:Re:Join Index Bug
HXTT Support
2006-07-19 23:56:42.0
First, please check cmdbbilfile and cmbbillfile spell. One should be a typo.

I tested with the below sqls:
create table cmbbillfile (TACCT char(10), c1 char(10),n1 numeric(8,2));
create index TACCT of cmbbillfile.ntx on cmbbillfile (TACCT);
insert into cmbbillfile (TACCT, c1,n1) values('t1','c1',111);
insert into cmbbillfile (TACCT, c1,n1) values('taa','caaa',222);
insert into cmbbillfile (TACCT, c1,n1) values('c3','c1',3.3);
create table PRSMSTR (MACCT char(10), c1 char(10),n1 numeric(8,2));
insert into PRSMSTR (MACCT, c1,n1) values('t1','pc1',111);
insert into PRSMSTR (MACCT, c1,n1) values('t1','pc2',333);
insert into PRSMSTR (MACCT, c1,n1) values('c3','aaac1',555);

select TACCT,MACCT from cmbbillfile this_ inner join PRSMSTR pacificpat3_ on this_.TACCT=pacificpat3_.MACCT

All seems to be normal. If possible, please zip and email us your dbf sample.



Google