~ubuntu-branches/ubuntu/lucid/postgresql-8.4/lucid-proposed

« back to all changes in this revision

Viewing changes to src/interfaces/ecpg/test/sql/func.pgc

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2009-03-20 12:00:13 UTC
  • Revision ID: james.westby@ubuntu.com-20090320120013-hogj7egc5mjncc5g
Tags: upstream-8.4~0cvs20090328
ImportĀ upstreamĀ versionĀ 8.4~0cvs20090328

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <stdio.h>
 
2
#include <stdlib.h>
 
3
#include <string.h>
 
4
 
 
5
EXEC SQL INCLUDE ../regression;
 
6
 
 
7
int main(int argc, char* argv[]) {
 
8
  EXEC SQL char text[25];
 
9
 
 
10
  ECPGdebug(1, stderr);
 
11
  EXEC SQL CONNECT TO REGRESSDB1;
 
12
 
 
13
  EXEC SQL SET AUTOCOMMIT TO ON;
 
14
  EXEC SQL WHENEVER SQLWARNING SQLPRINT;
 
15
  EXEC SQL WHENEVER SQLERROR SQLPRINT;
 
16
 
 
17
  EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text );
 
18
  EXEC SQL CREATE TABLE Log (name text, w text);
 
19
 
 
20
  EXEC SQL CREATE FUNCTION My_Table_Check() RETURNS trigger
 
21
    AS $test$
 
22
    BEGIN
 
23
        INSERT INTO Log VALUES(TG_NAME, TG_WHEN);
 
24
        RETURN NEW;
 
25
    END; $test$
 
26
    LANGUAGE plpgsql;
 
27
 
 
28
  EXEC SQL CREATE TRIGGER My_Table_Check_Trigger
 
29
    BEFORE INSERT
 
30
    ON My_Table
 
31
    FOR EACH ROW
 
32
    EXECUTE PROCEDURE My_Table_Check();
 
33
 
 
34
  EXEC SQL INSERT INTO My_Table VALUES (1234, 'Some random text');
 
35
  EXEC SQL INSERT INTO My_Table VALUES (5678, 'The Quick Brown');
 
36
  EXEC SQL SELECT name INTO :text FROM Log LIMIT 1;
 
37
  printf("Trigger %s fired.\n", text);
 
38
 
 
39
  EXEC SQL DROP TRIGGER My_Table_Check_Trigger ON My_Table;
 
40
  EXEC SQL DROP FUNCTION My_Table_Check();
 
41
  EXEC SQL DROP TABLE Log;
 
42
  EXEC SQL DROP TABLE My_Table;
 
43
 
 
44
  EXEC SQL DISCONNECT ALL;
 
45
 
 
46
  return 0;
 
47
}