Has this been addressed?

---------------------------------------------------------------------------

Joe Conway wrote:
> Tom Lane wrote:
> > The reason we could safely list_free inside transformInsertRow is that
> > we know all its callers have just built the passed-in list and so there
> > are no other pointers to it.  That doesn't apply in the general case of
> > grammar output.
> 
> What about for the specific case of an InsertStmt? It seems that we 
> could at least get away with freeing the raw-expression list in that case.
> 
> In terms of freeing an entire arbitrary node, could we create a 
> backend/nodes/freefuncs.c file that does a recursive freeObject() 
> similar to the way copyObject() does in backend/nodes/copyfuncs.c?
> 
> > My advice is to get that low-hanging fruit
> > in transformInsertRow and leave the other ideas for 8.3.
> 
> OK. This should be safe also, correct?
> 
> Thanks,
> 
> Joe
> 
> 8<----------------------------------------
> diff -c -r1.341 analyze.c
> *** src/backend/parser/analyze.c      2 Aug 2006 01:59:46 -0000       1.341
> --- src/backend/parser/analyze.c      2 Aug 2006 05:13:20 -0000
> ***************
> *** 2191,2196 ****
> --- 2196,2202 ----
>       for (i = 0; i < sublist_length; i++)
>       {
>               coltypes[i] = select_common_type(coltype_lists[i], "VALUES");
> +             list_free(coltype_lists[i]);
>       }
> 
>       newExprsLists = NIL;
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faq

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to