Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id D7E20475E5E for ; Fri, 10 Jan 2003 11:27:51 -0500 (EST) Received: from mill.mtholyoke.edu (mill.mtholyoke.edu [138.110.30.76]) by postgresql.org (Postfix) with ESMTP id 2CC73475DDC for ; Fri, 10 Jan 2003 11:27:33 -0500 (EST) Received: from mill.mtholyoke.edu (mill [127.0.0.1]) by mill.mtholyoke.edu (8.12.3/8.12.3/Debian -4) with ESMTP id h0AGRc0P013212 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL); Fri, 10 Jan 2003 11:27:38 -0500 Received: (from yrp001@localhost) by mill.mtholyoke.edu (8.12.3/8.12.3/Debian -4) id h0AGRboF013210; Fri, 10 Jan 2003 11:27:37 -0500 From: Ron Peterson Date: Fri, 10 Jan 2003 11:27:37 -0500 To: Tom Lane Cc: pgsql-sql@postgresql.org Subject: Re: insert rule doesn't see id field Message-ID: <20030110162737.GA13191@mtholyoke.edu> Mail-Followup-To: Tom Lane , pgsql-sql@postgresql.org References: <20030107145422.GE12245@mtholyoke.edu> <13558.1041955268@sss.pgh.pa.us> <20030108181303.GA23456@mtholyoke.edu> <20030109191258.GA6739@mtholyoke.edu> <2930.192.168.1.16.1042142044.squirrel@mainbox.archonet.com> <20030109215056.GA7798@mtholyoke.edu> <20030110020707.GA9048@mtholyoke.edu> <27958.1042174422@sss.pgh.pa.us> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <27958.1042174422@sss.pgh.pa.us> User-Agent: Mutt/1.3.28i Organization: Mount Holyoke College X-Operating-System: Debian GNU/Linux X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200301/154 X-Sequence-Number: 11019 On Thu, Jan 09, 2003 at 11:53:42PM -0500, Tom Lane wrote: > Ron Peterson writes: > > On Thu, Jan 09, 2003 at 04:50:56PM -0500, Ron Peterson wrote: > >> colindices = (int *) malloc (ncols * sizeof (int)); > > > Of course we should verify that malloc succeeded... > > Actually, the correct answer is "you should not be using malloc() in > backend functions". You should be using palloc, or possibly > MemoryContextAlloc, either of which will elog if it can't get space. > > > if (colindices == NULL) { > > elog (ERROR, "noupcol: malloc failed\n"); > > SPI_finish(); > > return PointerGetDatum (NULL); > > } > > This is even more pointless. Control does not return from elog(ERROR), > so the two following lines are dead code. Thanks. Didn't know that. Not that you're obligated to review my code in any way (i.e. ignore this question if you have better things to do), but does the rest of my code look o.k.? I was pretty pleased with myself that I figured out how to modify a tuple w/ SPI, and might like to do more of the same. I'd rather not develop bad habits, though... -- Ron Peterson -o) Network & Systems Manager /\\ Mount Holyoke College _\_v http://www.mtholyoke.edu/~rpeterso ----