Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv17987/algebra/prop
Modified Files:
prop_reqval.c
Log Message:
-- Cope with trivial Boolean cast in required value property inference.
Index: prop_reqval.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_reqval.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- prop_reqval.c 4 Jan 2007 15:26:19 -0000 1.17
+++ prop_reqval.c 14 Feb 2007 10:01:23 -0000 1.18
@@ -292,8 +292,23 @@
prop_infer_reqvals (L(n), rv);
break;
- case la_type:
case la_cast:
+ if (n->sem.type.ty == aat_bln) {
+ bool att_bln = false;
+ for (unsigned int i = 0; i < n->schema.count; i++)
+ if (n->sem.type.att == n->schema.items[i].name) {
+ att_bln = (n->schema.items[i].type == aat_bln);
+ break;
+ }
+
+ if (att_bln && PFprop_reqval (n->prop, n->sem.type.res)) {
+ rv.name = union_ (rv.name, n->sem.type.att);
+ if (PFprop_reqval_val (n->prop, n->sem.type.res))
+ rv.val = union_ (rv.val, n->sem.type.att);
+ }
+ }
+ /* fall through */
+ case la_type:
rv.name = diff (rv.name, n->sem.type.res);
rv.val = diff (rv.val, n->sem.type.res);
prop_infer_reqvals (L(n), rv);
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins