Re: [Monetdb-developers] [Monetdb-pf-checkins] pathfinder/compiler/algebra/opt opt_const.c, , 1.24, 1.25
Intel's icc (IMHO correctly) says: ======== icc -no-gcc -DHAVE_CONFIG_H -I. -I/scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt -I../../.. -I/scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt -I../../include -I/scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt/../../include -I/scratch/monet.Int.64.64.d.29718/MonetDB/.Int.64.64.d-Fedora6/include/MonetDB -I/scratch/monet.Int.64.64.d.29718/MonetDB/.Int.64.64.d-Fedora6/include/MonetDB/common -I/scratch/monet.Int.64.64.d.29718/MonetDB/.Int.64.64.d-Fedora6/include/MonetDB/gdk -DLIBOPT -we140 -wd1418 -Wall -w2 -c99 -mp1 -O3 -restrict -unroll -tpp7 -axWP -we266 -Werror -wd1418,1419,279,981,810,193,111,1357,1572,1599 -c /scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt/opt_const.c -KPIC -DPIC -o .libs/libopt_la-opt_const.o /scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt/opt_const.c(125): error #589: transfer of control bypasses initialization of: variable "items" (declared at line 168) variable "count" (declared at line 169) switch (p->kind) { ^ compilation aborted for /scratch/monet.Int.64.64.d.29718/pathfinder/compiler/algebra/opt/opt_const.c (code 2) make[8]: *** [libopt_la-opt_const.lo] Error 1 ======== cf., http://monetdb.cwi.nl/testing/projects/monetdb/Current/pathfinder/.Int.64.64... Stefan On Thu, Dec 13, 2007 at 10:08:57PM +0000, Tom Schreiber wrote:
Update of /cvsroot/monetdb/pathfinder/compiler/algebra/opt In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11953/compiler/algebra/opt
Modified Files: opt_const.c Log Message: -- Introduced a rewrite for the la_serialize_rel operator. -- For plans that use the la_serialize_rel operator, we ensure (analogous to the existing rewrite for la_serialize_seq) that attributes with constant values are introduced at the latest possible point in the plan.
Index: opt_const.c =================================================================== RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_const.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- opt_const.c 10 Dec 2007 15:10:00 -0000 1.24 +++ opt_const.c 13 Dec 2007 22:08:55 -0000 1.25 @@ -139,6 +139,48 @@ } break;
+ + case la_serialize_rel: + + /* Introduce (superfluous) attach-ops for constant attributes. + This rewrite ensures, that constants are introduced at + the latest possible point in the plan. + */ + + /* Rewrite for the iter-attribute. */ + if (PFprop_const_left (p->prop, p->sem.ser_rel.iter)) { + L(p) = add_attach (L(p), p->sem.ser_rel.iter, + PFprop_const_val_left ( + p->prop, + p->sem.ser_rel.iter)); + + } + + /* Rewrite for the pos-attribute. */ + if (PFprop_const_left (p->prop, p->sem.ser_rel.pos)) { + L(p) = add_attach (L(p), p->sem.ser_rel.pos, + PFprop_const_val_left ( + p->prop, + p->sem.ser_rel.pos)); + } + + /* Rewrite for the item-attributes. */ + PFalg_attlist_t items = p->sem.ser_rel.items; + unsigned int count = items.count; + for (unsigned int i = 0; i < count; i++) + { + PFalg_att_t item = items.atts[i]; + if (PFprop_const_left (p->prop, item)) { + L(p) = add_attach (L(p), item, + PFprop_const_val_left ( + p->prop, + item)); + } + } + + break; + + case la_eqjoin: { /** * If both join columns are constant
------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Monetdb-pf-checkins mailing list Monetdb-pf-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |
participants (1)
-
Stefan Manegold