]> granicus.if.org Git - postgresql/commitdiff
Fix one more place where we were expecting lcons() to be nondestructive
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Nov 2004 17:59:31 +0000 (17:59 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Nov 2004 17:59:31 +0000 (17:59 +0000)
to the original List; per report from Sebastian BÎck.  I think this is
the last such bug --- I examined every lcons() call in the backend and
the rest seem OK --- but it's nervous-making that we're still finding
'em so many months after the List rewrite went in.

src/backend/rewrite/rewriteHandler.c

index c901fb30e133e164d0f33276761d296c6bdbc880..3160b7d9d9eaa9819209c1d5ed132164fa69287d 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/rewrite/rewriteHandler.c,v 1.145 2004/11/06 17:46:35 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/rewrite/rewriteHandler.c,v 1.146 2004/11/20 17:59:31 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1267,6 +1267,8 @@ RewriteQuery(Query *parsetree, List *rewrite_events)
                                        newstuff = RewriteQuery(pt, rewrite_events);
                                        rewritten = list_concat(rewritten, newstuff);
                                }
+
+                               rewrite_events = list_delete_first(rewrite_events);
                        }
                }