]> granicus.if.org Git - postgresql/commitdiff
Back out makeNode() patch to fix gcc 3.3.1 warning.
authorBruce Momjian <bruce@momjian.us>
Mon, 13 Oct 2003 22:47:15 +0000 (22:47 +0000)
committerBruce Momjian <bruce@momjian.us>
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 */
        }