gotcha in 4.0
Posted in 1991
Well, I did the conversion from 2.10.03 to 4.0 that I asked about at the beginning of the week: it didn't go smoothly, but most of the problems were my fault rather than Informix's. BUT, I did find one subtle incompatibility: My 4GL programs usually include a file of globals, and this file contains a 'database' declaration. In this situation under 4GL 2.10.03, it was superfluous to include a 'database' declaration in the main program, because the one in the globals file was sufficient. Under 4.0, it continues to be sufficient for compile-time purposes, i.e. 'record like xyz.*' continues to work. BUT it no longer has the right run-time effect: the database is no longer implicitly opened, and so you get a fatal run-time error the first time you try to do a database operation. This isn't an outright bug, since the manuals never promised the old behavior. It does, however, mean that your programs might not work w/o modification: I had to change 20+ files. Once you figure out what's going on, the problem is easily fixed by adding a 'database' declaration to the main routine of each program. So, I hope reporting this saves someone some time ... For concreteness, this was RDS 4.0 on a sun4 running SunOS 4.1. Harry Bochner bochner@das.harvard.edu