Help With BLOBs, General Informix Comments
Posted in 1994
} } I am just now starting to work with Informix BLOBs, and seem to be } encountering some serious limitations. Hopefully, I am simply mis- } reading the manuals, or there are simple workarounds if I am not. } } 1) You can not use standard record assignments when the record } contains a BLOB. } } LET rec1.* = rec2.* Pain isn't it? } } 2) You can not use standard assignments of any kind on BLOBs. } } LET rec1.textblob = "This is the new contents of BLOB" } } Back to the "too complex" error again. Also a pain. } } 4) You can't even use the multiline text editor to edit a TEXT field. } This seems like a rediculously blinding oversight. Instead of } allowing a user to simply enter a "Notes:" field with a simple, } right there on the screen field, they have to press "!" (intuitive) } run another program (which they must now be taught how to use), } exit it, and return to the screen to see all or part of a simple } text message with "?" marks in it. Well - you DO get an error message saying: "Use "!" to edit text and byte fields". } } 5) [4GL Issue] There is no support for multi-screen forms, as there } was in ISQL. The lack of multiscreen forms puts a *SERIOUS* } burden on the programmer when dealing with records with more then } just a few fields, and is a tragic oversight. Disagree - you are no longer in that environment. When you need a second screen do it with program control. Yes you do need to do 2 input statements but if you've got that much information for one form then you may be overwhelming the user and your database may be well served by normalization. } } 6) [4GL Issue] It is impossible to use arrays of such structures as } WINDOW and CURSOR variables in a program. The inability to make } an array of window variables makes it necessary to use lengthy } CASE statements in order to switch between active windows, } instead of simply being able to use something like: } } CURRENT WINDOW IS winarray[winnum] Agreed. } 7) [Forms Issue] There is no support for scrollable fields, or even } the option of opening up the bottom line of the screen, like you } get with a CONSTRUCT condition in a field smaller than it. This } requires the form designer to make every field the maximum size } possible, in the event that the use will need all of it, even if } the data is usually only a few characters wide. You can always (try to) do this programtically. It would be nice, but I think its a bell/whistle. Of course thats just my $.02. 1) you can try wordwrap on the varchar field, 2) (I haven't tried this) do an autonext in the form, in your input section do an AFTER FIELD \\ IF LENGTH(field) = max THEN \\ CALL inp_field(field) 3) write your own input code in 'c'. } 8) [Forms/4GL Issue] There is no way to remap the default field } editor keys (Ctrl-A,D,R,etc) or disable the features if they } are unwanted. I guess I'm so used to them that it doesn't bother me. } I am extremely upset with the lack of robustness that a company as } successful as Informix has put into their Online product, which I've } gotten the impression they are promoting as their flagship product. What specifically do you find not 'robust'? We have been using Online very successfully. It sounds like most of your criticism is directed at the front end tool 4GL. } This message was not intended as a flame, but as constructive criticism } of a package that could easily have been much more robust. I have been } programming in a variety of languages for over a decade, and found the } oversights in this product to be quite severe and limiting to the work } that I need to do with this product. Always good to hear opinions. } The key to a good database application is that people with minimal } training can use it easily, and that design goal is made much more } difficult when the engine you are building on does not have such } basic features as detailed above. I think you're opinion of 'basic' is what was 'basic' to the last package you worked with. I'm not happy with how BLOB's are handled either - can't query on them is my peeve - in fact I've gone back to the old key,sequence,text approach. Still BLOB's are still somewhat new. } } If anyone has or knows of workarounds for the above issue, either in } the public domain/shareware/freeware or commercial, please let me know. } } I hope that at least a few of my comments are completely wrong, and } I just need to read the manuals more thoroughly, and ask that any } corrections to my comments are posted here so as not to unduly } denegrate the product. } } Sincerely, } } - Brian Gallagher I think you hit most of them right on the head. _____________________________________________________________________________ Jack Parker | Hewlett Packard, BSMC Boise, Idaho, USA| jparker@hpbs3645.boi.hp.com | "A mind is a terrible thing." (208) 396-5388 (W) (208) 384-1623 (H) | _____________________________________________________________________________ Any opinions expressed herein are my own and not those of my employers. _____________________________________________________________________________