Razzak,

I have not contacted RDCC with this problem for the following reasons:

One year ago I posted to this list inquiring if there was a reason that
the FK references to the PK table were not checked when building a
foreign key. There was no reason given. In response, you posted to the
list that the bug would be fixed in the upcoming release (RBWin 6.5++
build 1.842xRT03, June 15, 2001). Indeed, the "Bug Fix" list at
http://www.rbase2000.com/rbw65pp/MoreBugFixes.htm includes "PK to FK
References (#1630)". In light of your response, I didn't feel it
necessary to contact RDCC.

Unfortunately, I did not test if the fix was implemented in that
version. It may have been, but in 1.851xRT03 the bug is still there.

Just to be clear, the problem is this: When building a foreign key,
RBase does not check the references to the PK table. Some might argue
that this should not be a problem if you check the data yourself before
building the key. Bill Downall posted to this list that "Perhaps it
would be nice if a retroactive attempt to build an FK on non-conforming
data gave a warning and aborted". I would say rather that it is
mandatory for RBase to check the PK table references and I would bet
that the ANSI SQL standards say the same.

In my opinion this is a serious bug: FKs are not built properly by
RBase.

Suppose you want to build an FK using RBD and, without realizing, click
on the wrong PK table whose PK just happens to have the same datatype as
the correct table. The key builds fine, no error message is produced and
yet, it is possible that none of the data in the FK column(s) can be
found in the PK table.

The more commonly encountered problem, which is the one that led me to
discover the bug last May, is that of database corruption. My client's
database got corrupted somehow and several rows in the PK table were
lost, thereby orphaning many rows in the FK tables. Most other types of
database corruption can be detected by a PACK or RELOAD, but not this
one because of the bug.

Why should I need to check data before adding an FK constraint? I don't
need to check for a value in every row when I apply a NOT NULL
constraint and I don't need to check for uniqueness when applying a
UNIQUE or PK constraint. This is because RBase does the checking for me
and reports an error when it occurs. What if someone forgets to check?
How many RBase databases are there out there with FK rows that do not
correspond to PKs?

A month ago the same thing happened to the same client. I was quite
amazed that the problem persisted in spite of your assurance that it
would be fixed and in spite of the release notes saying that it was
fixed. Bill Downall posted at that time "You can break your database if
you try to add a constraint to non-conforming data". Yes, RBase will
break your database if you build an FK with non-conforming data. Are
there any other databases that do this? I think the important point
missed here is that FKs are not built only when constraints are added.
FKs are also built during a PACK or RELOAD.

Now, after having spent the time to discover the bug, discussing it on
this list in great detail, having you respond that it will be fixed,
having the release notes say it was fixed, discovering that it was not
fixed, discussing it again on the list, and finally inquiring if it will
actually be fixed, you want me to report it to RDCC?

I will also point out, again, that this bug was not introduced in 6.5.
It was also present in 6.1a. I have pointed this out before (on the
list), but you dismissed it as "history". I think there are still 6.1
databases out there and they all have this same bug. Managers and
developers of these (and more recent version) DBs may want to check if
corruption has orphaned any FK rows or if they have added FKs to
existing data without checking the data first.

I know the Dream Team will love squashing this one.

Regards,

Stephen Markson
ForenSys The Forensic Systems Group
www.ForensicSystemsGroup.com
416 482 2140


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
On
> Behalf Of A. Razzak Memon
> Sent: May 18, 2002 9:22 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Latest version/build? - Razzak's Reply
> 
> 
> At 09:17 AM 5/18/2002 -0400, Stephen Markson wrote:
> 
> >Will the in-line patch 3 solve the problem of checking the
> >FK references when building an FK? If so, is it possible to
> >get the patch now? I have a client with a fairly urgent,
> >important need.
> 
> Have you submitted your "fairly urgent, important need" to R:DCC?
> 
> If you have already submitted the bug report on R:DCC along with
> a sample database and associated instructions to reliably replicate
> the bug to mailto:[EMAIL PROTECTED] , then, you should
> check the status on R:DCC referencing the tracking number.
> 
> http://www.rbase.com/rdcc
> 
> If you have not, then I would strongly suggest that you submit the bug
> request on R:DCC along with a sample database and instructions to
> help R:DCC members to help you!
> 
> To the best of my knowledge, no one has either submitted such bug
> request on R:DCC, nor has called RBTI support staff at 724.733.0053
> or via e-mail at mailto:[EMAIL PROTECTED] for such
> "a fairly urgent, important need".
> 
> Since In-Line Patch-3 for The Glorious R:BASE 2000 (ver 6.5++) for
> Windows is due to be released soon, I would suggest that you submit
> your bug request on R:DCC as soon as possible, so the Dream Team
> can have the pleasure of squashing that bug.
> 
> Very Best Regards,
> 
> Razzak.


================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

Reply via email to