RE: 4GL error -408
Posted in 1997
Topics: Installation, Setup & Upgrades, SQL Development & Query Writing, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
I am reposting this message along with a solution suggested by Peter J. Diaz de Leon (pdiazdeleon@infinityhealthcare.com). The solution is as follows: instead of a temp table, create a permanent one, insert and re-select, ordering by all 4 columns. So far it seems to work. Thanks to everyone who responded. Eliott. -------------------------------------------------------------------------- }} }}Hello all, }} }}A simple SELECT (actually, a UNION of 2 SELECTs) produces this error: }} }}SQL statement error number -408. }}Invalid message type received from the sqlexec process. }} }}I4GL version is 4.13 UD1 with an SE engine under HP-UX 09.04 on a 9000 }}box. }} }}The SELECT statement in question has an ORDER BY clause with 4 columns }}listed, one of which is a CHAR(30). }} }}We attempted the following: }} }}Step 1: SELECT ... }} UNION }} SELECT ... }} INTO TEMP tmp_table WITH NO LOG }} }}Step 2: DECLARE cur1 CURSOR FOR }} SELECT * }} FROM tmp_table }} ORDER BY col1, col2, col3, col4 }} }}Step 3: FOREACH cur1 INTO ... (and so on...) }} }}Still, the error occured. There are only 15(!) rows in tmp_table. The }}next }}thing we did was: }} }}Step 1a: CREATE INDEX idx_tmp_table ON tmp_table (col1, col2, col3, }}col4) }} }}Sure enough, that didn't help. Informix tech support suggested that the }}problem }}is caused by ORDER BY, but offered no solution other than an upgrade }}which }}*may* include a fix. The only way to get it to work is to remove all but }}the }}first column from ORDER BY. }} }}I wonder if anyone has experienced this weird error or knows a solution }}or a }}workaround. }} }}Thanks In Advance! }} }}Eliott. }} }} }} } } }