Update of /cvsroot/monetdb/pathfinder/compiler/include
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv4902/compiler/include

Modified Files:
      Tag: M5XQ
        physical.h 
Log Message:
propagated changes of Friday Jun 12 2009 - Monday Jun 15 2009
from the development trunk to the M5XQ branch

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/06/12 - tsheyar: compiler/include/physical.h,1.56
-- Replaced aggregate operators count, min, max, avg, sum, prod, seqty1,
   and all in the algebra by a single aggregate operator ``aggr''
   that can handle multiple aggregates. The aggregate entries
   are of kind count, min, max, avg, sum, prod, seqty1, all, and dist.

-- Added new aggregate kind ``dist'' that allows to represent group by
   columns that functionally depend on the partitioning criterion
   in the result of the grouping aggregate.

-- Added rewrite that merges aggregates.

-- Added rewrite that removes superfluous aggregates.

-- Added rewrite that pushes a rank operator through an aggregate.

-- Extended the XML import to cope with the old
   as well as the new representation of aggregates.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


U physical.h
Index: physical.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/physical.h,v
retrieving revision 1.54.2.1
retrieving revision 1.54.2.2
diff -u -d -r1.54.2.1 -r1.54.2.2
--- physical.h  20 May 2009 16:28:58 -0000      1.54.2.1
+++ physical.h  15 Jun 2009 12:47:31 -0000      1.54.2.2
@@ -85,11 +85,7 @@
     , pa_to             =  50 /**< op:to operator */
     , pa_count_ext      =  54 /**< Count operator with loop backup
                                    for empty values*/
-    , pa_count          =  55 /**< Count operator */
-    , pa_avg            =  56 /**< Avg operator */
-    , pa_max            =  57 /**< Max operator */
-    , pa_min            =  58 /**< Min operator */    
-    , pa_sum            =  59 /**< Sum operator */
+    , pa_aggr           =  55 /**< aggregate operator */
     , pa_mark           =  60 /**< consecutive numbering operator 
                                    (starting from 1) */
     , pa_rank           =  61 /**< ranking operator */
@@ -99,10 +95,6 @@
                                    certain type */
     , pa_type_assert    =  64 /**< restriction of the type of a given column */
     , pa_cast           =  65 /**< cast a table to a given type */
-    , pa_seqty1          = 66 /**< test for exactly one type occurrence in one
-                                   iteration (Pathfinder extension) */
-    , pa_all            = 67 /**< test if all items in an iteration are true */
-    , pa_prod          = 68  /**< product aggregate, should be after pa_sum */
     , pa_llscjoin       = 100 /**< Loop-Lifted StaircaseJoin */
     , pa_llscjoin_dup   = 101 /**< Loop-Lifted StaircaseJoin with duplicates */
     , pa_doc_tbl        = 120 /**< Access to persistent document relation */
@@ -249,13 +241,13 @@
     } count;
 
     /*
-     * semantic content for operators applying a 
-     * (partitioned) aggregation function (sum, min, max and avg) on a column
+     * semantic content for operators applying a
+     * (partitioned) aggregation function
      */
     struct {
-        PFalg_col_t     col;  /**< column to be used for the agg. func. */
-        PFalg_col_t     part; /**< partitioning column */
-        PFalg_col_t     res;  /**< column to hold the result */
+        PFalg_col_t     part;     /**< partitioning column */
+        unsigned int    count;    /**< length of the aggregate list */
+        PFalg_aggr_t   *aggr;     /**< aggregate list */
     } aggr;
 
     /* semantic content for mark operators */
@@ -653,20 +645,12 @@
                            PFalg_col_t, PFalg_col_t, PFalg_col_t);
 
 /**
- * Count: Count function operator. Does neither benefit from
- * any existing ordering, nor does it provide/preserve any input
- * ordering.
- */
-PFpa_op_t *PFpa_count (const PFpa_op_t *,
-                       PFalg_col_t, PFalg_col_t);
-
-/**
  * Aggr: Aggregation function operator. Does neither benefit from
  * any existing ordering, nor does it provide/preserve any input
  * ordering.
  */
-PFpa_op_t *PFpa_aggr (PFpa_op_kind_t kind, const PFpa_op_t *n, PFalg_col_t 
res, 
-                    PFalg_col_t col, PFalg_col_t part);
+PFpa_op_t * PFpa_aggr (const PFpa_op_t *n, PFalg_col_t part,
+                       unsigned int count, PFalg_aggr_t *aggr);
 
 /****************************************************************/
 


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

Reply via email to