aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/test1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/test/test1.c')
-rw-r--r--src/interfaces/ecpg/test/test1.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/test/test1.c b/src/interfaces/ecpg/test/test1.c
new file mode 100644
index 00000000000..68d9dd53981
--- /dev/null
+++ b/src/interfaces/ecpg/test/test1.c
@@ -0,0 +1,60 @@
+exec sql begin declare section;
+VARCHAR uid[200 /* VARSIZE */];
+varchar name[200];
+short value;
+exec sql end declare section;
+
+exec sql include sqlca;
+
+#define DBCP(x,y) strcpy(x.arr,y);x.len = strlen(x.arr)
+#define LENFIX(x) x.len=strlen(x.arr)
+#define STRFIX(x) x.arr[x.len]='\0'
+#define SQLCODE sqlca.sqlcode
+
+void
+db_error (char *msg)
+{
+ sqlca.sqlerrm.sqlerrmc[sqlca.sqlerrm.sqlerrml] = '\0';
+ printf ("%s: db error %s\n", msg, sqlca.sqlerrm.sqlerrmc);
+ exit (1);
+}
+
+int
+main ()
+{
+ strcpy (uid.arr, "test/test");
+ LENFIX (uid);
+
+ exec sql connect 'kom';
+ if (SQLCODE)
+ db_error ("connect");
+
+ strcpy (name.arr, "opt1");
+ LENFIX (name);
+
+ exec sql declare cur cursor for
+ select name, value from pace_test;
+ if (SQLCODE) db_error ("declare");
+
+ exec sql open cur;
+ if (SQLCODE)
+ db_error ("open");
+
+ while (1) {
+ exec sql fetch in cur into :name, :value;
+ if (SQLCODE)
+ break;
+ STRFIX (name);
+ printf ("%s\t%d\n", name.arr, value);
+ }
+
+ if (SQLCODE < 0)
+ db_error ("fetch");
+
+ exec sql close cur;
+ if (SQLCODE) db_error ("close");
+ exec sql commit;
+ if (SQLCODE) db_error ("commit");
+
+ return (0);
+}