Update of /cvsroot/monetdb/pathfinder/compiler/include
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv5188/compiler/include
Added Files:
Tag: M5XQ
intro_borders.h
Log Message:
propagated changes of Wednesday May 20 2009
from the development trunk to the M5XQ branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/05/20 - tsheyar: compiler/include/intro_borders.h,1.1
-- Renamed algebra/intro_rec_border.c into algebra/intro_borders.c.
-- Renamed include/intro_rec_border.h into include/intro_borders.h.
-- Extended the physical algebra with a dependent cross product operator
that only evaluates its right side if the left side produces at least
one row.
This change implicitely implements a control structure for some conditionals.
E.g., the following query conditionally evaluates the independent
expressions ('doc("xmark-sf0.001.xml")//*' and 'doc("xmark-sf100.xml")//*'):
if (1 = (1,2,3))
then doc("xmark-sf0.1.xml")//*
else doc("xmark-sf100.xml")//*
With the dependent cross product operator in place this leads to the
evaluation
of the (previously independent) then-branch and the avoidance of the
evaluation
of the (expensive) else-branch.
-- Adjusted stable output.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- NEW FILE: intro_borders.h ---
/**
* @file
*
* Introduce the borders of recursion and branch bodies..
* (This enables the MIL generation to detect expressions
* that are invariant to the recursion or branch body.)
*
* Copyright Notice:
* -----------------
*
* The contents of this file are subject to the Pathfinder Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://monetdb.cwi.nl/Legal/PathfinderLicense-1.1.html
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is the Pathfinder system.
*
* The Original Code has initially been developed by the Database &
* Information Systems Group at the University of Konstanz, Germany and
* the Database Group at the Technische Universitaet Muenchen, Germany.
* It is now maintained by the Database Systems Group at the Eberhard
* Karls Universitaet Tuebingen, Germany. Portions created by the
* University of Konstanz, the Technische Universitaet Muenchen, and the
* Universitaet Tuebingen are Copyright (C) 2000-2005 University of
* Konstanz, (C) 2005-2008 Technische Universitaet Muenchen, and (C)
* 2008-2009 Eberhard Karls Universitaet Tuebingen, respectively. All
* Rights Reserved.
*
* $Id: intro_borders.h,v 1.1.2.2 2009/05/20 16:28:48 sjoerd Exp $
*/
#ifndef INTRO_BORDERS_H
#define INTRO_BORDERS_H
#include "physical.h"
/**
* Introduce boundary operators.
*/
PFpa_op_t * PFpa_intro_borders (PFpa_op_t *n);
#endif /* INTRO_BORDERS_H */
/* vim:set shiftwidth=4 expandtab: */
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins