summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/test_func.pgc
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2006-02-08 09:10:05 +0000
committerMichael Meskes <meskes@postgresql.org>2006-02-08 09:10:05 +0000
commite3740d2c59915b6fd78b2b8aaf63b290a14423c6 (patch)
tree54566da0bfa3e095efd92586428206a962f3542b /src/interfaces/ecpg/test/test_func.pgc
parent115e5dd5972fa7788f6639b3d0a8b2ef65e326e4 (diff)
Added just another test case.
Fixed missing continuation line character. Do not translate $-quoting. Bit field notation belongs to a variable not a variable list. Output of line number only done by one function.
Diffstat (limited to 'src/interfaces/ecpg/test/test_func.pgc')
-rw-r--r--src/interfaces/ecpg/test/test_func.pgc45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/test/test_func.pgc b/src/interfaces/ecpg/test/test_func.pgc
new file mode 100644
index 00000000000..466512a35b3
--- /dev/null
+++ b/src/interfaces/ecpg/test/test_func.pgc
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main(int argc, char* argv[]) {
+ FILE *dbgs;
+
+ if ((dbgs = fopen("log", "w")) != NULL)
+ ECPGdebug(1, dbgs);
+ EXEC SQL CONNECT TO mm;
+
+ EXEC SQL SET AUTOCOMMIT TO ON;
+ EXEC SQL WHENEVER SQLWARNING SQLPRINT;
+ EXEC SQL WHENEVER SQLERROR SQLPRINT;
+
+ EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text );
+
+ EXEC SQL CREATE FUNCTION My_Table_Check() RETURNS trigger
+ AS $test$
+ BEGIN
+ RAISE NOTICE 'TG_NAME=%, TG WHEN=%', TG_NAME, TG_WHEN;
+ RETURN NEW;
+ END; $test$
+ LANGUAGE 'plpgsql';
+
+ EXEC SQL CREATE TRIGGER My_Table_Check_Trigger
+ BEFORE INSERT
+ ON My_Table
+ FOR EACH ROW
+ EXECUTE PROCEDURE My_Table_Check();
+
+ EXEC SQL INSERT INTO My_Table VALUES (1234, 'Some random text');
+ EXEC SQL INSERT INTO My_Table VALUES (5678, 'The Quick Brown');
+
+ EXEC SQL DROP TRIGGER My_Table_Check_Trigger ON My_Table;
+ EXEC SQL DROP FUNCTION My_Table_Check();
+ EXEC SQL DROP TABLE My_Table;
+
+ EXEC SQL DISCONNECT ALL;
+ if (dbgs != NULL)
+ fclose(dbgs);
+
+
+ return 0;
+}