From: Patrick J. P. G. <pat...@us...> - 2000-11-30 14:23:54
|
Update of /cvsroot/firebird/interbase/jrd In directory slayer.i.sourceforge.net:/tmp/cvs-serv3230/interbase/jrd Modified Files: evl.c Log Message: * Modified by: Patrick J. P. Griffin * Date: 11/24/2000 * Problem: select count(0)+1 from rdb$relations where 0=1; returns 0 * In the EVL_group processing, the internal assigment for * the literal in the computation is being done on every * statement fetch, so if there are no statements fetched * then the internal field never gets set. * Change: Added an assignment process for the literal * before the first fetch. Index: evl.c =================================================================== RCS file: /cvsroot/firebird/interbase/jrd/evl.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** evl.c 2000/08/03 20:50:07 1.1.1.1 --- evl.c 2000/11/30 14:23:44 1.2 *************** *** 22,25 **** --- 22,37 ---- */ + /* + * Modified by: Patrick J. P. Griffin + * Date: 11/24/2000 + * Problem: select count(0)+1 from rdb$relations where 0=1; returns 0 + * In the EVL_group processing, the internal assigment for + * the literal in the computation is being done on every + * statement fetch, so if there are no statements fetched + * then the internal field never gets set. + * Change: Added an assignment process for the literal + * before the first fetch. + */ + #include <string.h> #include "../jrd/jrd.h" *************** *** 1330,1333 **** --- 1342,1349 ---- /* Initialize a sort to reject duplicate values */ init_agg_distinct (tdbb, from); + break; + + case nod_literal: /* pjpg 20001124 */ + EXE_assignment (tdbb, *ptr); break; } |