Обсуждение: thats funny :)

Поиск
Список
Период
Сортировка

thats funny :)

От
Vasilis Ventirozos
Дата:
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


Re: thats funny :)

От
Michael Fuhr
Дата:
[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/

Re: thats funny :)

От
Vasilis Ventirozos
Дата:
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.
>
>
>


Re: thats funny :)

От
Enrico Weigelt
Дата:
* 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/
---------------------------------------------------------------------

Re: thats funny :)

От
Tom Lane
Дата:
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

ACT! and PostgreSQL

От
Postgres Admin
Дата:
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