Re: updating informix
Posted in 1992
WRT the semantics of concatenating null strings: Two people so far have pointed out that the behavior I'm complaining about seems reasonable. > The 4.00 behaviour you describe has the bug I think. If you want the same > behaviour in 4.10 then you have to say:- > > let msg = "No ", m clipped, "information found." Before too many more people point this out, I agree that it's reasonable in and of itself, but: 1) The semantics of concatenation are now different in different syntactic contexts ("let" vs. "message"). I claim this is not reasonable. 2) I suggest that any change in behavior is a bug, unless the new version advertises the change, or the old behavior contradicted the documentation. As far as I can tell, neither of these is true here. (At a glance the documentation doesn't seem to specify what the interpretation should be.) If we're going to talk about theoretical reasonableness, then I think the whole treatment of null strings is wrong. define x char(5) let x = "" Theoretically, the zero length string "" should be padded to 5 blanks when it's assigned to x, so the effect should be the same as let x = " " but it isn't: let x = "" if x is null then display "null" end if _does_ print "null", while let x = " " if x is null then display "null" end if doesn't. AND these tests produce the same results in fglpc 4.00.UH1 and 4.10.UC1. So the behavior I complained about might be reasonable, but it's also inconsistent with the rest of the language. Enough theory. All I want is to be able to upgrade with my programs breaking in a dozen unexpected ways. -- Harry Bochner -- bochner@das.harvard.edu