Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 1FB1E475B6F for ; Tue, 13 Aug 2002 22:48:23 -0400 (EDT) Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) by postgresql.org (Postfix) with ESMTP id E3170475ABE for ; Tue, 13 Aug 2002 22:48:21 -0400 (EDT) Received: (from pgman@localhost) by candle.pha.pa.us (8.11.6/8.10.1) id g7E2mCF23367; Tue, 13 Aug 2002 22:48:12 -0400 (EDT) From: Bruce Momjian Message-Id: <200208140248.g7E2mCF23367@candle.pha.pa.us> Subject: Re: [SQL] 16 parameter limit In-Reply-To: To: Josh Berkus Date: Tue, 13 Aug 2002 22:48:12 -0400 (EDT) Cc: John Proctor , Neil Conway , peter_e@gmx.net, tgl@sss.pgh.pa.us, pgsql-patches@postgresql.org X-Mailer: ELM [version 2.4ME+ PL99 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200208/237 X-Sequence-Number: 4773 Added: o Allow array declarations and other data types in PL/PgSQl DECLARE o Add PL/PgSQL PROCEDURES that can return multiple values > Also: > > 10) Allow declaration of all PostgreSQL data types, including custom > data types and domains, inside functions. Especially important are > Arrays, which are supported as parameters but not as declarations. Added > 11) PL/pgSQL has functionality 100% analagous to cursors, with a > different syntax. While the PL/pgSQL record loop is easier to use, the > lack of support for standard cursor syntax mars the poratbility of > Oracle procedures to Postgres and vice-versa. Is this done? > > 12) The biggie: Allowing the easy return of query results from a > procedure. This is currently supported through a rather difficult > workaround involving either the ROWTYPE datatype or a return Cursor. > Both approaches require the use of a procedural code loop on the > interface side to read the data being returned ... much clumsier than > just dumping the data ala PL/SQL or T-SQL. If implemented, this rowset > return would the the difference between a CREATE FUNCTION and a CREATE > PROCEDURE statement. Done for 7.3. > > 13) Allow the creation of multiple output parameters for PROCEDURES (as > opposed to FUNCTIONS) in the parameter declaration. Added. > 14) Procedures should have their own permissions, which supercede the > permissions on the tables being affected if the procedure is created by > the database owner, in the same way that Views can allow users to > Select data they would not be entitled to from the base tables. In > other words, if I declare "GRANT SELECT ON fn_modify_assignment TO > phpaccess", the user phpaccess should be able to run > fn_modify_assignment even if that user has no permissions on the > assignment table itself. Done, I think, for 7.3. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073