Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ; -)

Started by Henrique Pantarottoover 26 years ago2 messagesgeneral
Jump to latest
#1Henrique Pantarotto
scanner@cepa.com.br

Yeah, I really need to do "external stuff" (messing with external files,
executing programs), and if I understood it correctly, PL/pgSQL can't do
that, right?

Thanks!

On qui, 19 ago 1999, you wrote:

perhaps using PL/pgSQL is easier? in the doc there are examples,
also, the one in the /test is rather complex (too complex?).

However, PL/pgSQL may not be able to to external stuff, even C
can do that. -- I have the same problem, anybody'd ideas?

From: Henrique Pantarotto <scanner@cepa.com.br>
To: pgsql-general@postgreSQL.org
Subject: [GENERAL] Trigger documentation? Need more examples.. pleeeze..
;-)
Date: Thu, 19 Aug 1999 11:40:11 -0300

Hello PostgreSQL friends!

I'm new to PostgreSQL, but I've been using MySQL/mSQL for a long time now.
I
switched to PostgreSQL mostly because of it's features: triggers,
specially.

I've studied, compiled and tried the examples from the crontrib/spi
directory.
They all worked, but without some kind of documentation it is really hard
to
understand how things really work, and how I can create my own stuff.

In the "Programmer's Guide", there's a whole chapter documenting the SPI
library, but I didn't find any documentation of the functions directly
related
to TRIGGERS (library "triggers.h"), like: "TRIGGER_FIRED_BY_UPDATE()",
"CurrentTriggerData->tg_newtuple", etc...

Is this documentation available somewhere?

-----

I have this table:

CREATE TABLE users (
userid INT4 NOT NULL,
fullname CHAR(40),
username CHAR(20),
password CHAR(13)
)

Using the examples from contrib/spi, I guess I can manage to create an
INSERT
and DELETE trigger. But I'm not sure how to create an UPDATE one.

Let's suppose someone updates both fields "username" and "password". HOW
from
the trigger I know which fields changed. Is it possible to get the older
and newer values and compare them?

This UPDATE trigger doesn't need to modify it's own new inserted data, but
it
has to modify external data (create/delete files at my Linux filesystem,
rename directories, etc..).

Is such thing possible? Someone has an example of this? ;-)

Thanks a lot!

Regards from Brazil!

--
Henrique Pantarotto
CEPAnet Internet Provider
webmaster / analista de sistemas
Email: scanner@cepa.com.br
Tel: (011) 5506-8477
Cel: (011) 9706-3444
LINUX FRIEND

************

_______________________________________________________________
Get Free Email and Do More On The Web. Visit http://www.msn.com

--
Henrique Pantarotto
CEPAnet Internet Provider
webmaster / analista de sistemas
Email: scanner@cepa.com.br
Tel: (011) 5506-8477
Cel: (011) 9706-3444
LINUX FRIEND

#2amy cheng
amycq@hotmail.com
In reply to: Henrique Pantarotto (#1)

It is possible. But I do not know how :-) I Know it because PL/pgSQL
can do it, and spi/C can do more than PL/pgSQL.

in the doc, seems a lot stuff on spi (server programming interface ?).

also, since the syntax of PL/pgSQL is not difficult at all, it can
serve as the psudo-code for most purpose, even if you prefer spi/c .

If you want to handle external stuff, seems only by spi/C --
ok, I'm a newbie myself, so, anybody can confirm this? and How to
do this by c? (I'm doing it outside the db, quick-dirty approach!)

amy

From: Henrique Pantarotto <scanner@cepa.com.br>
To: Zakkr <zakkr@zf.jcu.cz>
CC: pgsql-general@postgreSQL.org
Subject: Re: [GENERAL] Trigger documentation? Need more examples..
pleeeze.. ;-)
Date: Fri, 20 Aug 1999 09:44:40 -0300

Zakkr,

I wonder if you read my message. I am aware of the examples in the
contrib/spi
directory, but they aren't enough for me. I'm looking for a more specific
trigger documentation, or more trigger examples.

I would like to know how, from a trigger C function, can I get the "old"
and
"new" value for an updated field. Is this possible? How do I do that?

For example, if I do:

update users set username = "clinton" where id = "2400"

When the trigger is activated, is it possible to compare the OLD value and
NEW
value of the field "username"?

Did you understand? ;-)

Thanks!

I'm new to PostgreSQL, but I've been using MySQL/mSQL for a long time

now.
I > > switched to PostgreSQL mostly because of it's features: triggers,
specially. > >

Trigger examples ... why not:
..see a /postgresql-6.5.1/contrib/spi directory in PostgreSQL source

package.

Zakkr

--
Henrique Pantarotto
CEPAnet Internet Provider
webmaster / analista de sistemas
Email: scanner@cepa.com.br
Tel: (011) 5506-8477
Cel: (011) 9706-3444
LINUX FRIEND

************

_______________________________________________________________
Get Free Email and Do More On The Web. Visit http://www.msn.com