Search Postgresql Archives

after insert trigger hangs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello,

i am using linux 8.0 along with postgres sql 8.0.
here is the schema of the db.

create table user_list (
        id      serial primary key,
        name    character varying (100) not null,
        login_name      character varying (100) not
null,
        password        character varying (100) not
null,
        cryptpassword character varying (100) not
null,
        bitset  numeric(20,0) not null
);

drop table role_list cascade;
create table role_list (
        id      serial primary key,
        name    character varying (100) not null,
        bitset  numeric(20,0) not null
);

drop table roles_users;
create table roles_users (
        role_id integer references role_list(id),
        user_id integer references user_list(id)
);




CREATE OR REPLACE FUNCTION recalc_add_bitset() 
RETURNS trigger AS $$

    my $user_id=$_TD->{'new'}{'user_id'};
    my $role_id=$_TD->{'new'}{'role_id'};

    use DBI;
    my $dbname = 'database_name';
    my $dbh = DBI->connect("dbi:Pg:dbname='$dbname'",
"postgres_user_id", "password", {AutoCommit => 0,
RaiseError=>1});
    my $sth = $dbh->prepare("select bitset from
role_list where id = ? ");
    $sth->execute($role_id);
    my ($bitset) = $sth->fetchrow_array;
    $sth->finish;


    my $command = "update user_list set
bitset=bitset+$bitset where user_list.id=$user_id";
    $sth = $dbh->prepare($command);
    $sth->execute;
    $sth->finish;
    $dbh->disconnect;


   return;
$$ LANGUAGE plperlu;


CREATE TRIGGER trecalc_add_bitset
    AFTER INSERT  ON public.roles_users
    FOR EACH ROW EXECUTE PROCEDURE
recalc_add_bitset();

when i try to insert any record in **roles_users**
table it should add the bitset of the that role from
role_list table into user_list table.

but this trigger hangs at the update command.

anybody have any suggestion ?

pradeep singh

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux