Обсуждение: thats funny :)
hi all i created a function that restarts the server, i will show you
what i am doing
drop trigger lala_trig on favorites;
drop function fav_funct() cascade;
create or replace function fav_funct() returns trigger AS '
declare
old_id int default 0;
new_id int default 0;
rec record;
rec2 record;
rec3 record;
BEGIN
select into rec max(id) as max_id from favorites ;
IF rec.max_id IS NULL THEN new_id :=1;
ELSE new_id = rec.max_id;
END IF;
select into rec2 max(id) as cnt from favorites where id = (select
max(id) from favorites);
select into rec3 count(*) as call_cat from call_cat ;
IF rec2.cnt < rec3.call_cat THEN new_id := rec.max_id;
ELSE new_id := rec.max_id +1;
END IF;
insert into favorites (id) values (new_id);
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
create trigger lala_trig before insert on favorites
for each row
execute procedure fav_funct();
insert into favorites (call_cat_id,details) values (1,'1');
--------------------------- NOTE ---------------------------
I know this function sux but i am currently developing :)
----------------------------------------------------------------
test=# insert into favorites (call_cat_id,details) values (1,'1');
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!> \q
postgres@statistics:~$ psql -l
psql: FATAL: the database system is starting up
---------
AFTER A WHILE
---------
postgres@statistics:~$ psql -l
List of databases
Name | Owner | Encoding
-----------------+----------+------------
my_tests | postgres | ISO_8859_7
template0 | postgres | ISO_8859_7
template1 | postgres | ISO_8859_7
test | postgres | ISO_8859_7
ps the psql version is:
postgres@statistics:~$ psql -V
psql (PostgreSQL) 7.4
[Please use a descriptive subject -- "thats funny :)" conveys no information about the problem, and it resembles subjects seen on some viruses.] On Mon, May 09, 2005 at 02:06:46PM +0300, Vasilis Ventirozos wrote: > > hi all i created a function that restarts the server, i will show you > what i am doing The trigger function you posted is called whenever you insert a record into the favorites table, then the function inserts a record into favorites, which calls the trigger, which inserts a record, which calls the trigger, etc. Infinite recursion. -- Michael Fuhr http://www.fuhr.org/~mfuhr/
i know what the trigger does, i writed it :) i dont have a problem , i already fixed the function to work nice and smooth i just sent it for fun, anyway no problem about the subject >[Please use a descriptive subject -- "thats funny :)" conveys no >information about the problem, and it resembles subjects seen on >some viruses.] > >On Mon, May 09, 2005 at 02:06:46PM +0300, Vasilis Ventirozos wrote: > > >>hi all i created a function that restarts the server, i will show you >>what i am doing >> >> > >The trigger function you posted is called whenever you insert a >record into the favorites table, then the function inserts a record >into favorites, which calls the trigger, which inserts a record, >which calls the trigger, etc. Infinite recursion. > > >
* Vasilis Ventirozos <vendi@cosmoline.com> wrote: > i know what the trigger does, i writed it :) > i dont have a problem , i already fixed the function to work nice and smooth > i just sent it for fun, anyway no problem about the subject probably there should be a detection of too deep recursion instead of just crashing on stack overflow. cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service phone: +49 36207 519931 www: http://www.metux.de/ fax: +49 36207 519932 email: contact@metux.de --------------------------------------------------------------------- Realtime Forex/Stock Exchange trading powered by postgresSQL :)) http://www.fxignal.net/ ---------------------------------------------------------------------
Enrico Weigelt <weigelt@metux.de> writes:
> * Vasilis Ventirozos <vendi@cosmoline.com> wrote:
>> i know what the trigger does, i writed it :)
>> i dont have a problem , i already fixed the function to work nice and smooth
>> i just sent it for fun, anyway no problem about the subject
> probably there should be a detection of too deep recursion instead
> of just crashing on stack overflow.
Already done in PG 8.0 ...
regards, tom lane
I have some clients that are looking to upgrade to MSSQL Server because they use ACT!. I'm developing a web application for them that uses PostgreSQL. Does anyone know if ACT! can use PostgreSQL? or if I can hack it? Suggestion welcome and Thanks, J