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;
}
|