Обсуждение: how to execute a C program via trigger ?

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

how to execute a C program via trigger ?

От
"S.F. Lee"
Дата:
Hi,    I am using Red Hat 6.1 + PostgreSQL 7.0.3. All of
my
applications are developed by C and ECPG.  I would
like to know how to execute a C program by Trigger,for
example:

  1. I have a program my_c_program.c shuch as:

#include <stdio.h>
main()
{  printf("Hello World !\n");
}
  2. I create a table foo by following command

CREATE TABLE foo(x      int4);
  3. create a trigger  foo_trig :

create trigger foo_trig after update   on foo for each row execute procedure sql_c();    4. I don't know how to design
sql_c(),can anyone     give a small plpsql program that can execute     my_c_program?  
 
  regards,    S.F. Lee


__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/


Re: how to execute a C program via trigger ?

От
clayton cottingham
Дата:
take a look at the contrib sections fti or fulltext index example

it takes you through it all



"S.F. Lee" wrote:
> 
> Hi,
> 
>    I am using Red Hat 6.1 + PostgreSQL 7.0.3. All of
> my
> applications are developed by C and ECPG.  I would
> like to know how to execute a C program by Trigger,for
> example:
> 
>    1. I have a program my_c_program.c shuch as:
> 
> #include <stdio.h>
> main()
> {
>    printf("Hello World !\n");
> }
> 
>    2. I create a table foo by following command
> 
> CREATE TABLE foo
>         (
>         x      int4
>         );
> 
>    3. create a trigger  foo_trig :
> 
> create trigger foo_trig after update
>     on foo for each row execute procedure sql_c();
> 
>    4. I don't know how to design sql_c(), can anyone
>       give a small plpsql program that can execute
>       my_c_program?
> 
>    regards,    S.F. Lee
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Shopping - Thousands of Stores. Millions of Products.
> http://shopping.yahoo.com/


Re: how to execute a C program via trigger ?

От
"S.F. Lee"
Дата:
Thank for your hint, but I have some questions :
 1. Do I have to compile the C program into a shared
object (*.so)?  2. Do I have to use SPI (SPI is too complicate to
me)? 
 My request is very simple. I have a program
(my_c_program)  that I can execute it under shell by typing
(my_c_program). Basically my_c_program is not a function.
 I want to fire a trigger after I update the field
(x) in table foo, and the trigger can run the
my_c_program. Is there an easy way to execute a
PROCESS
via trigger?
  regards,    S.F. Lee

--- clayton cottingham
<clayton@marketingchallenge.com> wrote:
> take a look at the contrib sections fti or fulltext
> index example
> 
> it takes you through it all
> 
> 
> 
> "S.F. Lee" wrote:
> > 
> > Hi,
> > 
> >    I am using Red Hat 6.1 + PostgreSQL 7.0.3. All
> of
> > my
> > applications are developed by C and ECPG.  I would
> > like to know how to execute a C program by
> Trigger,for
> > example:
> > 
> >    1. I have a program my_c_program.c shuch as:
> > 
> > #include <stdio.h>
> > main()
> > {
> >    printf("Hello World !\n");
> > }
> > 
> >    2. I create a table foo by following command
> > 
> > CREATE TABLE foo
> >         (
> >         x      int4
> >         );
> > 
> >    3. create a trigger  foo_trig :
> > 
> > create trigger foo_trig after update
> >     on foo for each row execute procedure sql_c();
> > 
> >    4. I don't know how to design sql_c(), can
> anyone
> >       give a small plpsql program that can execute
> >       my_c_program?
> > 
> >    regards,    S.F. Lee
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Shopping - Thousands of Stores. Millions of
> Products.
> > http://shopping.yahoo.com/


__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/


Join performance

От
"Koen Antonissen"
Дата:
Hi there,

I'm having some problems with the performance on queries including a join.

for example:
SELECT members_data.pwd FROM emails,members_data WHERE emails.email =
'koen@v3.com' AND emails.uin = members_data.uin;

is a lot slower then extracting the join into 2 seperate queries like:

SELECT emails.uin FROM emails WHERE lower(emails.email) = 'koen@v3.com';

--and use the result in the next query ($db_result)

SELECT members_data.pwd FROM members_data WHERE members_data.uin =
$db_result;

Now the login routine is MUCH faster ;-) , but performance problems remain
when the the result is more than 1 record (Unlike a unique emailaddress...)

Is there anyone out there who has ideas how to write faster queries
including tablejoins?

I already tried Inner Join, Natural Join and Join On, wich didn't seem
affect the performance in any way...

Kind regards,
Koen Antonissen
koen@trilab.com
www.trilab.com



Re: how to execute a C program via trigger ?

От
Jie Liang
Дата:
Hi,

Is any other SQL implicit cursor attribute in PL/plsql ??

when you say (in pl/plsql):

select field into v_1 from atable where whatever;

special variable FOUND can be used to tell return is null or not.

this functions like SQL%FOUND or SQL%NOTFOUND in Oracle,

however, when I do some DML(insert,delete,update), is there any other

special variable can tell me howmany success. Like SQL%ROWCOUNT in Orcale??

And if there is an error such as : cannot insert since duplicate key on an

unique index, is it possible to catch it??

Thanks.

--
Jie LIANG

Internet Products Inc.

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

jliang@ipinc.com
www.ipinc.com





Re: how to execute a C program via trigger ?

От
Clayton Cottingham
Дата:
On Mon, 4 Dec 2000 18:20:29 -0800 (PST), S.F. Lee said:

> Thank for your hint, but I have some questions :
>  
>    1. Do I have to compile the C program into a shared
>  object (*.so)? 

yes

>    2. Do I have to use SPI (SPI is too complicate to
>  me)? 
>  
>    My request is very simple. I have a program
>  (my_c_program) 
>    that I can execute it under shell by typing
>  (my_c_program).
>    Basically my_c_program is not a function.
>  


im not sure anyone?


>    I want to fire a trigger after I update the field
>  (x) in table foo, and the trigger can run the
>  my_c_program. Is there an easy way to execute a
>  PROCESS
>  via trigger?
>  
>     regards,    S.F. Lee
>  


id say dont use C!! use pl/sql 

but if your trying to learn the prog of c functions
youll have to get help elsewhere unfortunatley

im not even newbie status on c!