Re: Calling Functions in RULEs

From: KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Calling Functions in RULEs
Date: 2005-05-23 10:01:32
Message-ID: ED4E30DD9C43D5118DFB00508BBBA76EB16713@neptun.sonorys.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I had no try wheter this solves your problem, but have you conciddered using
an array or a self-written fcn which dicards your results
i.E. SELECT my_discard_but_last( q1(), q2(), q3());
or SELECT ARRAY[ q1(), q2(), q3() ];
or SELECT ROW(q1(), q2(), q3()) as my_tripel_type;

Have you considdered CASTs?

These are just ideas

|-----Original Message-----
|From: Jan B. [mailto:jan(at)monso(dot)de]
|Sent: Sonntag, 22. Mai 2005 11:24
|To: pgsql-sql(at)postgresql(dot)org
|Subject: [SQL] Calling Functions in RULEs
|
|
|Hello,
|
|I would like to call multiple PL/pgSQL procedures (i.e. functions
|returning void) from INSERT, UPDATE and DELETE RULEs.
|
|Using "SELECT some_procedure();" is a possible way to do that, but it
|causes a dummy result table to be delivered to the application
|invoking
|the INSERT/UPDATE/DELETE. When using multiple SELECTs to call multiple
|functions inside the RULE, multiple result tables will be delivered to
|the application, which is very unhandy and causes trouble especially
|when using asynchronous command processing. Though "psql" does
|only show
|the last result table, all dummy result tables have to be fetched by
|PGgetResult(), when using asynchronous mode with libpq.
|
|Is there any tidy way to call a void-function inside a RULE without
|creating a result table that is passed to the application?
|Using a command like "UPDATE dummy_table SET dummy=1 WHERE
|some_procedure() NOTNULL;" would work, but that would be very dirty.
|
|Does a command like "PERFORM" (from PG/pgSQL) exist in SQL too, which
|discards the (void) result of the function call?
|
|
|Thanks for helping
|
|Jan Behrens
|||
|
|---------------------------(end of
|broadcast)---------------------------
|TIP 2: you can get off all lists at once with the unregister command
| (send "unregister YourEmailAddressHere" to
|majordomo(at)postgresql(dot)org)
|

Browse pgsql-sql by date

  From Date Subject
Next Message Achilleus Mantzios 2005-05-23 10:17:15 Re: Need clarification
Previous Message palanivel.kumaran 2005-05-23 09:52:02 Need clarification