On Thu, Jul 21, 2005 at 07:10:03PM +1000, Ezequiel Tolnay wrote:
> * Stored procedures: Although similar to functions, SP always return an
> execution status rather than a result, but provide the caller with the
> equivalent of running several sql instructions, as if running a script.
> Unlike functions, their results cannot be utilised by most other
> statements, with the exception of INSERT [...] EXECUTE [...]. Their main
> attractive is to simplify the detachment between interface and
> implementation. Perhaps this could be achieved extending some features
> of functions, perhaps enabling a combination of SETOF result (which
> needs an externally defined result type) and OUT parameters (which is
> flexible but restricted to a single row), or handled similarly as the
> current possibility to return cursors.
I'm not understanding the difference here. pl/pgsql can run just about
anything, including table creates/drops. Is it the return type you're
worried about. In mine I just return TRUE generally...
> * Set the SERIAL automatically generated sequences as system objects,
> thus allowing them to be hidden in the admin GUIs
They are already marked as system objects. Tables are 'r', sequences
'S', indexes 'i', etc... Perhaps you should open a bug on whatever
admin gui you're using to hide sequences.
> * Create a ROWSET variable type in plpgsql that would function like a
> temporary but in-memory table. Support for it would have to be added for
> plpgsql's SELECT, UPDATE and DELETE statements.
How is this different from a temporary table?
> * Make temporary schemes visible (and accessible) only to its current
> owner/user, and create a tool to clear currently unused temporary
> schemes (for instance during backups, or when duplicating a database)
Temporary schemas? Temporary tables go into a tempoary schema that is
automatically removed when you disconnect. What would more temporary
schemas acheive?
> * Allow inserting new columns in arbitrary positions with ALTER TABLE
> tab ADD COLUMN newcol [ AFTER | BEFORE ] curcol, just like mysql does.
This wouldn't be too hard I think, but maybe I'm missing something...
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.