home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
14.10.xC11 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT02608 Status: Closed

SOME SELECTS REPORT AN ERROR 294 (NEED A GROUP BY) BUT THE QUERY ASSERT
FAILS IF GROUP BY IS ADDED

product:
IBM IDS EXPRESS / 5724L2305 / C10 - IDS 12.10
Problem description:
The following query used to work in 11.50, 11.70 and in 
12.10.FC2, but fails in 12.10.FC3. 
 
SELECT A.tabid, (SELECT SUM(B.collength * A.rowsize) FROM 
syscolumns B WHERE B.tabid = A.tabid) 
FROM systables A 
WHERE A.tabid = 1; 
  294: The column (tabid) must be in the GROUP BY list. 
 
with the GROUP BY 
SELECT A.tabid, (SELECT SUM(B.collength * A.rowsize) FROM 
syscolumns B WHERE B.tabid = A.tabid) 
FROM systables A 
WHERE A.tabid = 1 GROUP BY 1; 
 
the AF has the following stack: 
(oninit) afstack 
(oninit) mt_ex_throw_sig 
(oninit) afsig_handler 
(Linux) <signal frame> 
(oninit) rdatavalSmint 
(oninit) ev_column 
(oninit) new_eval 
(oninit) next_row 
(oninit) get_first_row_from_producer 
(oninit) ordered_group_by_next 
(oninit) getrow 
(oninit) fetchrow 
(oninit) exfetch 
(oninit) sql_nfetch 
(oninit) sq_nfetch 
(oninit) sqmain 
(oninit) spawn_thread 
(oninit) th_init_initgls 
(oninit) startup
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* users using correlated agrregates in subqueries              * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to 12.10.xC5 or 12.10.xC4W1                          * 
****************************************************************
Local Fix:
If the order of the columns in the SUM() function is changed, 
the query completes correctly. 
SELECT A.tabid, (SELECT SUM(A.rowsize * B.collength) FROM 
syscolumns B WHERE B.tabid = A.tabid) 
FROM systables A 
WHERE A.tabid = 1;
Solution
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
17.06.2014
16.10.2015
16.10.2015
Problem solved at the following versions (IBM BugInfos)
12.10.xC4W1,
12.10.xC5
Problem solved according to the fixlist(s) of the following version(s)
12.10.xC4.W1 FixList
12.10.xC5 FixList
12.10.xC5.W1 FixList