Re: Help With BLOBs, General Informix Comments
Posted in 1994
Since we seem to be having this discussion in public... } } >} } >} 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. } } Same question, how do you do it? Are there any C functions that people } can part with which will let me do this? I'm looking forward to trying Dave's code. } } >} 4) You can't even use the multiline text editor to edit a TEXT field. } > } >Well - you DO get an error message saying: } > "Use "!" to edit text and byte fields". } } Darned nice of 'em, doncha think? Still a pain. } } >} 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. } } I was hoping that the form engine could tell what field you were in, and } make sure that the screen that the field is on would be automatically } brought on-screen. As a programmer, this sounds like it would be a very } simple function to implement. You could: AFTER FIELD last_fld_scrn1 IF fgl_last_key(down) # not correct syntax mind you, I can't # remember spelling CALL input_scrn2() AFTER FIELD first_fld_scrn1 IF fgl_last_key(up) CALL input_scrn2() input_scrn2() AFTER FIELD last_fld_scrn2....... } } >} 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. Although a couple of posts recently have addresses this. } } >} 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. } } Unfortunately, I'm writing an application to be used by non- to semi- } computer literate govt. employees who don't have time to learn too much, } so I have to be able to make things as simple as possible. Not being } able to remap or disable these keys prevents me from using memnonic (sp?) mnemonic } keys, such as ^D=Delete Record, ^A=Add Record, etc. Wouldn't function keys be all right? Several years ago I wrote a system for US Customs which used only isql forms (before 4gl). The folks using the system were not exactly college graduates - they had no trouble at all working it with the editing keys. In most 4gl applications I've seen Add/Delete/Update are all options off of a menu invoked by a single key. Are we talking about arrays then? In which case you want Insert Delete. You may be able to tie these to the INSERT/DELETE keys on a keyboard by modifying the termcap so that kn (where n is an unlikely number) is mapped to one of those keys. } } >} 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. } } You are corrct. I mistakenly complained about Online because I did not } have the BLOB frustrations with the Standard Engine, and spoke before } I though. Substitute 4GL for Online. Oops! :-( My apologies - I knew what you meant. } } >} 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. For PCs yes. If folks have it too easy though why would they need us? } } >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. } } I'm not familiar with the "key, sequence, text" approach. What is it? } (I'll probably recognize it when you describe it ;-) } master table detail table serial fld ---> integer key sequence_no char(80) E.g. some_data_record: Notes_table field1 : : serial key integer_key 1 This is a test integer_key 2 of the national integer_key 3 emergency integer_key 4 broadcast integer_key 5 network... cheers j. _____________________________________________________________________________ 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. _____________________________________________________________________________