Talk about old ghosts coming back to haunt you.
I was upgrading a customer's old Foxfire! installation from version 3.0 to 8.0. They were running Foxfire! 3.0 under FoxPro 2.6/Windows.
But they had this one report that kept on crashing under the 8.0 version that would run fine under their old version.
I tried to run Foxfire! 3.0 under a copy of Visual FoxPro and it crashed there as well.
Hmmm...what could it be? I looked at the SQL generated.
There was the problem that was causing the crash: one of the relationships was referring to a field that didn't even exist.
The field in the SQL referred to a field named PART_SEC_ID_I but the real field was called PART_SEC_I.
But why didn't it crash under the older version?
The reason? FoxPro 2.6 ignored the extra fields.
I opened up the table in FoxPro 2.6.
? part_sec_i
** returned a value
? part_sec_id_i
** returned the same value.
Sheesh...I can't believe we were actually able to build quality applications back then but then again, when our tool wouldn't even tell us we were wrong in our field names - who needed field validation?
Now the fun part - how to tell someone that even though their old application worked great, it was actually not reporting a problem it should have been.
I was upgrading a customer's old Foxfire! installation from version 3.0 to 8.0. They were running Foxfire! 3.0 under FoxPro 2.6/Windows.
But they had this one report that kept on crashing under the 8.0 version that would run fine under their old version.
I tried to run Foxfire! 3.0 under a copy of Visual FoxPro and it crashed there as well.
Hmmm...what could it be? I looked at the SQL generated.
There was the problem that was causing the crash: one of the relationships was referring to a field that didn't even exist.
The field in the SQL referred to a field named PART_SEC_ID_I but the real field was called PART_SEC_I.
But why didn't it crash under the older version?
The reason? FoxPro 2.6 ignored the extra fields.
I opened up the table in FoxPro 2.6.
? part_sec_i
** returned a value
? part_sec_id_i
** returned the same value.
Sheesh...I can't believe we were actually able to build quality applications back then but then again, when our tool wouldn't even tell us we were wrong in our field names - who needed field validation?
Now the fun part - how to tell someone that even though their old application worked great, it was actually not reporting a problem it should have been.
Comments