]> granicus.if.org Git - postgresql/commitdiff
Fix create_rule is->as.
authorBruce Momjian <bruce@momjian.us>
Tue, 2 Feb 1999 17:46:17 +0000 (17:46 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 2 Feb 1999 17:46:17 +0000 (17:46 +0000)
doc/src/sgml/ports.sgml
doc/src/sgml/ref/create_rule.sgml
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/include/optimizer/planmain.h
src/man/create_rule.l

index fbc9ecd9a71dacd709b6f09d73be77cab44ed1ce..869d7ad85383a11d7c7e2f108b3f32acce4c1622 100644 (file)
@@ -235,7 +235,7 @@ At the time of publication, the following platforms have been tested:
     <ENTRY>x86</ENTRY>
     <ENTRY>v6.4</ENTRY>
     <ENTRY>1998-10-08</ENTRY>
-    <ENTRY>Mostly working with the Cygwin library. No DLLs yet.
+    <ENTRY>Working with the Cygwin library.
            (<ulink url="mailto:Dan.Horak@email.cz">Horak Daniel</ulink>) </ENTRY>
   </ROW>
 </TBODY>
@@ -251,11 +251,7 @@ confirmation of such at the time this list was compiled.
 <para>
 For <productname>Windows NT</productname>, 
 the server-side port of <productname>Postgres</productname> has recently been
-accomplished. Check
-<ulink url="http://www.askesis.nl/AskesisPostgresIndex.html">the Askesis Postgres Home Page</ulink>
-for up to date information. You may also want to
-look for possible patches on the
-<ulink url="http://postgresql.org">Postgres web site</ulink>.
+accomplished.  The Cygnus library is required to compile it.
 </para>
 </note>
 </sect1>
index 05845f0752cbaf399b01beb8a8e4583234b6391a..243647c03ebf57bc3428e9cf07452651752b0031 100644 (file)
@@ -198,11 +198,11 @@ Without
     <example>
      <title>Example of a circular rewrite rule combination.</title>
      <programlisting>
-create rule bad_rule_combination_1 is
+create rule bad_rule_combination_1 as
     on select to EMP
     do instead select to TOYEMP
 
-create rule bad_rule_combination_2 is
+create rule bad_rule_combination_2 as
     on select to TOYEMP
     do instead select to EMP
      </programlisting>
@@ -232,7 +232,7 @@ select * from EMP
    Make Sam get the same salary adjustment as Joe:
    
    <programlisting>
-create rule example_1 is
+create rule example_1 as
     on update EMP.salary where current.name = "Joe"
     do update EMP (salary = new.salary)
     where EMP.name = "Sam"
@@ -248,7 +248,7 @@ create rule example_1 is
   <para>
    Make Bill get Joe's salary when it is accessed:
    <programlisting>
-create rule example_2 is
+create rule example_2 as
     on select to EMP.salary
     where current.name = "Bill"
     do instead
@@ -261,7 +261,7 @@ create rule example_2 is
    department (<function>current_user</function> returns the name of
    the current user):
    <programlisting>  
-create rule example_3 is
+create rule example_3 as
     on select to EMP.salary
     where current.dept = "shoe" and current_user = "Joe"
     do instead nothing
@@ -272,7 +272,7 @@ create rule example_3 is
    <programlisting>
 create TOYEMP(name = char16, salary = int4)
 
-create rule example_4 is
+create rule example_4 as
     on select to TOYEMP
     do instead
     select (EMP.name, EMP.salary) from EMP
@@ -282,7 +282,7 @@ create rule example_4 is
   <para>
    All new employees must make 5,000 or less
    <programlisting>
-create rule example_5 is
+create rule example_5 as
     on insert to EMP where new.salary > 5000
     do update newset salary = 5000
    </programlisting>
index a3f813f64a574c3a326359ac8ed58e1f4e2e384b..8edcfcd4f02de2a9b991e41c29058917651fea4a 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.38 1999/01/25 18:02:15 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.39 1999/02/02 17:46:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -235,11 +235,10 @@ union_planner(Query *parse)
 
                /***S*H***/
                /* Use 'new_tlist' instead of 'tlist' */
-               result_plan =
-                       make_groupPlan(&new_tlist,
-                                                  tuplePerGroup,
-                                                  parse->groupClause,
-                                                  result_plan);
+               result_plan = make_groupPlan(&new_tlist,
+                                                                  tuplePerGroup,
+                                                                  parse->groupClause,
+                                                                  result_plan);
        }
 
        /*
@@ -255,13 +254,12 @@ union_planner(Query *parse)
                result_plan = (Plan *) make_agg(tlist, result_plan);
 
                /*
-                * set the varno/attno entries to the appropriate references to
+                * get the varno/attno entries to the appropriate references to
                 * the result tuple of the subplans.
                 */
                ((Agg *) result_plan)->aggs =
                  get_agg_tlist_references((Agg *) result_plan); 
 
-
                /***S*H***/
                if(parse->havingQual!=NULL) 
                  {
@@ -299,11 +297,13 @@ union_planner(Query *parse)
                    ((Agg *) result_plan)->plan.qual=(List *) parse->havingQual;
 
                    /* Check every clause of the havingQual for aggregates used and append
-                    * them to result_plan->aggs */
+                    * them to result_plan->aggs
+                        */
                    foreach(clause, ((Agg *) result_plan)->plan.qual)
                      {
                        /* Make sure there are aggregates in the havingQual 
-                        * if so, the list must be longer after check_having_qual_for_aggs */
+                        * if so, the list must be longer after check_having_qual_for_aggs
+                        */
                        old_length=length(((Agg *) result_plan)->aggs);                 
                        
                        ((Agg *) result_plan)->aggs = nconc(((Agg *) result_plan)->aggs,
index 91dbd60163750c27a0bf576bd195df32760549aa..555fd7d093455f2c830be750b89dadf3023ea319 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.34 1999/01/26 05:57:14 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.35 1999/02/02 17:46:15 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -701,7 +701,7 @@ OperandIsInner(Node *opnd, int inner_relid)
 /*---------------------------------------------------------
  *
  * get_agg_tlist_references -
- *       changes the target list of an Agg node so that it points to
+ *       generates the target list of an Agg node so that it points to
  *       the tuples returned by its left tree subplan.
  *
  *     We now also generate a linked list of Aggref pointers for Agg.
@@ -1177,8 +1177,7 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
                foreach(t, ((List *) ((SubLink *) ((SubPlan *)
                                                   ((Expr *) clause)->oper)->sublink)->lefthand))
                {
-                       agg_list =
-                               nconc(agg_list,
+                       agg_list = nconc(agg_list,
                                          check_having_qual_for_aggs(lfirst(t),
                                                                                subplanTargetList, groupClause));
                }
@@ -1190,9 +1189,8 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
                        foreach(tmp_ptr, ((SubLink *) ((SubPlan *)
                                                                ((Expr *) clause)->oper)->sublink)->oper)
                        {
-                               agg_list =
-                                       nconc(agg_list,
-                                        check_having_qual_for_aggs((Node *) lfirst(((Expr *)
+                               agg_list = nconc(agg_list,
+                                                check_having_qual_for_aggs((Node *) lfirst(((Expr *)
                                                                                                 lfirst(tmp_ptr))->args),
                                                                                subplanTargetList, groupClause));
                        }
@@ -1220,9 +1218,8 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
                         */
                        if (contained_in_group_clause)
                        {
-                               agg_list =
-                                       nconc(agg_list,
-                                                 check_having_qual_for_aggs(lfirst(t),
+                               agg_list = nconc(agg_list,
+                                                                check_having_qual_for_aggs(lfirst(t),
                                                                                subplanTargetList, groupClause));
                        }
                        else
@@ -1235,7 +1232,6 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
        }
        else
        {
-
                /*
                 * Ooops! we can not handle that!
                 */
index eef980c9cce5deaff89aea114fc4910f403be70f..82024732f1c22573e8c7e6c85a6aa907c8a00a9e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: planmain.h,v 1.18 1999/01/25 18:02:28 momjian Exp $
+ * $Id: planmain.h,v 1.19 1999/02/02 17:46:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -51,7 +51,7 @@ extern void add_missing_vars_to_tlist(Query *root, List *tlist);
  */
 extern void set_tlist_references(Plan *plan);
 extern List *join_references(List *clauses, List *outer_tlist,
-                               List *inner_tlist);
+                                                        List *inner_tlist);
 extern List *index_outerjoin_references(List *inner_indxqual,
                                                   List *outer_tlist, Index inner_relid);
 extern List *get_agg_tlist_references(Agg *aggNode);
index d83749f7bae2f143cf5cc88389325e68cb79c569..a30485ffe168af78f0e5ebaf22c6ce92c57296a1 100644 (file)
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/create_rule.l,v 1.9 1998/06/24 13:21:24 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/create_rule.l,v 1.10 1999/02/02 17:46:17 momjian Exp $
 .TH "CREATE RULE" SQL 11/05/95 PostgreSQL PostgreSQL
 .SH NAME
 create rule - define a new rule
@@ -124,11 +124,11 @@ Postgres to
 --
 --Example of a circular rewrite rule combination. 
 --
-create rule bad_rule_combination_1 is
+create rule bad_rule_combination_1 as
        on select to EMP 
        do instead select to TOYEMP
 
-create rule bad_rule_combination_2 is
+create rule bad_rule_combination_2 as
        on select to TOYEMP
        do instead select to EMP
 
@@ -146,7 +146,7 @@ access to a class in order to define a rule on it.
 --
 --Make Sam get the same salary adjustment as Joe
 --
-create rule example_1 is
+create rule example_1 as
     on update EMP.salary where current.name = "Joe"
     do update EMP (salary = new.salary)
        where EMP.name = "Sam"
@@ -161,7 +161,7 @@ Joe's salary on to Sam.
 --
 --Make Bill get Joe's salary when it is accessed
 --
-create rule example_2 is
+create rule example_2 as
     on select to EMP.salary
         where current.name = "Bill"
     do instead
@@ -172,7 +172,7 @@ create rule example_2 is
 --Deny Joe access to the salary of employees in the shoe
 --department.  (pg_username() returns the name of the current user)
 --
-create rule example_3 is
+create rule example_3 as
     on select to EMP.salary
        where current.dept = "shoe"
               and pg_username() = "Joe"
@@ -184,7 +184,7 @@ create rule example_3 is
 --
 create TOYEMP(name = name, salary = int4)
 
-create rule example_4 is
+create rule example_4 as
     on select to TOYEMP
     do instead select (EMP.name, EMP.salary) from EMP
        where EMP.dept = "toy"
@@ -193,7 +193,7 @@ create rule example_4 is
 --
 --All new employees must make 5,000 or less
 --
-create rule example_5 is
+create rule example_5 as
        on insert to EMP where new.salary > 5000
        do update newset salary = 5000
 .fi