Back out makeNode() patch to fix gcc 3.3.1 warning.
authorBruce Momjian
Mon, 13 Oct 2003 22:47:15 +0000 (22:47 +0000)
committerBruce Momjian
Mon, 13 Oct 2003 22:47:15 +0000 (22:47 +0000)
src/backend/commands/tablecmds.c
src/backend/executor/execQual.c
src/backend/port/sysv_shmem.c

index f0550ff7acd0d64a93c4afc4dc79e73ffad5b448..b77faed0d3e841303dc4e6d618053d954b2e97a4 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.90 2003/10/13 20:02:52 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.91 2003/10/13 22:47:15 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3397,7 +3397,6 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint,
                             Relation pkrel)
 {
    HeapScanDesc scan;
-   TriggerData *trigdata = makeNode(TriggerData); /* must be Node aligned */
    HeapTuple   tuple;
    Trigger     trig;
    List       *list;
@@ -3455,6 +3454,7 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint,
    while ((tuple = heap_getnext(scan, ForwardScanDirection)) != NULL)
    {
        FunctionCallInfoData fcinfo;
+       TriggerData trigdata;
 
        /*
         * Make a call to the trigger function
@@ -3466,21 +3466,20 @@ validateForeignKeyConstraint(FkConstraint *fkconstraint,
        /*
         * We assume RI_FKey_check_ins won't look at flinfo...
         */
-       trigdata->type = T_TriggerData;
-       trigdata->tg_event = TRIGGER_EVENT_INSERT | TRIGGER_EVENT_ROW;
-       trigdata->tg_relation = rel;
-       trigdata->tg_trigtuple = tuple;
-       trigdata->tg_newtuple = NULL;
-       trigdata->tg_trigger = &trig;
+       trigdata.type = T_TriggerData;
+       trigdata.tg_event = TRIGGER_EVENT_INSERT | TRIGGER_EVENT_ROW;
+       trigdata.tg_relation = rel;
+       trigdata.tg_trigtuple = tuple;
+       trigdata.tg_newtuple = NULL;
+       trigdata.tg_trigger = &trig;
 
-       fcinfo.context = (Node *) trigdata;
+       fcinfo.context = (Node *) &trigdata;
 
        RI_FKey_check_ins(&fcinfo);
    }
 
    heap_endscan(scan);
 
-   pfree(trigdata);
    pfree(trig.tgargs);
 }
 
index d01ee62b20d3bffe004ef4a51e104941ac78a6db..1ee41ddb8ce2b972f84a99c11f11346a6aae52e8 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.149 2003/10/12 23:19:21 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.150 2003/10/13 22:47:15 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -699,8 +699,7 @@ ExecMakeFunctionResult(FuncExprState *fcache,
    List       *arguments = fcache->args;
    Datum       result;
    FunctionCallInfoData fcinfo;
-   /* for functions returning sets, must be aligned as Node, so use makeNode */
-   ReturnSetInfo *rsinfo = makeNode(ReturnSetInfo);
+   ReturnSetInfo rsinfo;       /* for functions returning sets */
    ExprDoneCond argDone;
    bool        hasSetArg;
    int         i;
@@ -747,15 +746,15 @@ ExecMakeFunctionResult(FuncExprState *fcache,
     */
    if (fcache->func.fn_retset)
    {
-       fcinfo.resultinfo = (Node *) rsinfo;
-       rsinfo->type = T_ReturnSetInfo;
-       rsinfo->econtext = econtext;
-       rsinfo->expectedDesc = NULL;
-       rsinfo->allowedModes = (int) SFRM_ValuePerCall;
-       rsinfo->returnMode = SFRM_ValuePerCall;
+       fcinfo.resultinfo = (Node *) &rsinfo;
+       rsinfo.type = T_ReturnSetInfo;
+       rsinfo.econtext = econtext;
+       rsinfo.expectedDesc = NULL;
+       rsinfo.allowedModes = (int) SFRM_ValuePerCall;
+       rsinfo.returnMode = SFRM_ValuePerCall;
        /* isDone is filled below */
-       rsinfo->setResult = NULL;
-       rsinfo->setDesc = NULL;
+       rsinfo.setResult = NULL;
+       rsinfo.setDesc = NULL;
    }
 
    /*
@@ -804,10 +803,10 @@ ExecMakeFunctionResult(FuncExprState *fcache,
            if (callit)
            {
                fcinfo.isnull = false;
-               rsinfo->isDone = ExprSingleResult;
+               rsinfo.isDone = ExprSingleResult;
                result = FunctionCallInvoke(&fcinfo);
                *isNull = fcinfo.isnull;
-               *isDone = rsinfo->isDone;
+               *isDone = rsinfo.isDone;
            }
            else
            {
@@ -904,7 +903,7 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
    TupleDesc   tupdesc = NULL;
    Oid         funcrettype;
    FunctionCallInfoData fcinfo;
-   ReturnSetInfo *rsinfo = makeNode(ReturnSetInfo); /* must be Node aligned */
+   ReturnSetInfo rsinfo;
    MemoryContext callerContext;
    MemoryContext oldcontext;
    TupleTableSlot *slot;
@@ -993,15 +992,15 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
     * doesn't actually get to see the resultinfo, but set it up anyway
     * because we use some of the fields as our own state variables.
     */
-   fcinfo.resultinfo = (Node *) rsinfo;
-   rsinfo->type = T_ReturnSetInfo;
-   rsinfo->econtext = econtext;
-   rsinfo->expectedDesc = expectedDesc;
-   rsinfo->allowedModes = (int) (SFRM_ValuePerCall | SFRM_Materialize);
-   rsinfo->returnMode = SFRM_ValuePerCall;
+   fcinfo.resultinfo = (Node *) &rsinfo;
+   rsinfo.type = T_ReturnSetInfo;
+   rsinfo.econtext = econtext;
+   rsinfo.expectedDesc = expectedDesc;
+   rsinfo.allowedModes = (int) (SFRM_ValuePerCall | SFRM_Materialize);
+   rsinfo.returnMode = SFRM_ValuePerCall;
    /* isDone is filled below */
-   rsinfo->setResult = NULL;
-   rsinfo->setDesc = NULL;
+   rsinfo.setResult = NULL;
+   rsinfo.setDesc = NULL;
 
    /*
     * Switch to short-lived context for calling the function or
@@ -1029,17 +1028,17 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
        if (direct_function_call)
        {
            fcinfo.isnull = false;
-           rsinfo->isDone = ExprSingleResult;
+           rsinfo.isDone = ExprSingleResult;
            result = FunctionCallInvoke(&fcinfo);
        }
        else
        {
            result = ExecEvalExpr(funcexpr, econtext,
-                                 &fcinfo.isnull, &rsinfo->isDone);
+                                 &fcinfo.isnull, &rsinfo.isDone);
        }
 
        /* Which protocol does function want to use? */
-       if (rsinfo->returnMode == SFRM_ValuePerCall)
+       if (rsinfo.returnMode == SFRM_ValuePerCall)
        {
            /*
             * Check for end of result set.
@@ -1048,7 +1047,7 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
             * tupdesc or tuplestore (since we can't get a tupdesc in the
             * function-returning-tuple case)
             */
-           if (rsinfo->isDone == ExprEndResult)
+           if (rsinfo.isDone == ExprEndResult)
                break;
 
            /*
@@ -1094,8 +1093,8 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
                }
                tupstore = tuplestore_begin_heap(true, false, SortMem);
                MemoryContextSwitchTo(oldcontext);
-               rsinfo->setResult = tupstore;
-               rsinfo->setDesc = tupdesc;
+               rsinfo.setResult = tupstore;
+               rsinfo.setDesc = tupdesc;
            }
 
            /*
@@ -1128,13 +1127,13 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
            /*
             * Are we done?
             */
-           if (rsinfo->isDone != ExprMultipleResult)
+           if (rsinfo.isDone != ExprMultipleResult)
                break;
        }
-       else if (rsinfo->returnMode == SFRM_Materialize)
+       else if (rsinfo.returnMode == SFRM_Materialize)
        {
            /* check we're on the same page as the function author */
-           if (!first_time || rsinfo->isDone != ExprSingleResult)
+           if (!first_time || rsinfo.isDone != ExprSingleResult)
                ereport(ERROR,
                        (errcode(ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED),
                         errmsg("table-function protocol for materialize mode was not followed")));
@@ -1145,7 +1144,7 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
            ereport(ERROR,
                    (errcode(ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED),
                     errmsg("unrecognized table-function returnMode: %d",
-                           (int) rsinfo->returnMode)));
+                           (int) rsinfo.returnMode)));
 
        first_time = false;
    }
@@ -1153,8 +1152,8 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
    MemoryContextSwitchTo(callerContext);
 
    /* The returned pointers are those in rsinfo */
-   *returnDesc = rsinfo->setDesc;
-   return rsinfo->setResult;
+   *returnDesc = rsinfo.setDesc;
+   return rsinfo.setResult;
 }
 
 
index 268b55802c886867b044a03eea929127947838a8..8ee9b32bf3dcc3ee4516032ff1ebac5739eaa7ba 100644 (file)
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.20 2003/10/12 23:19:21 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.21 2003/10/13 22:47:15 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -365,7 +365,7 @@ PGSharedMemoryAttach(IpcMemoryKey key, IpcMemoryId *shmid)
 
    if (hdr->magic != PGShmemMagic)
    {
-       shmdt((void *)hdr);
+       shmdt(hdr);
        return NULL;            /* segment belongs to a non-Postgres app */
    }