aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c')
-rw-r--r--src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c291
1 files changed, 291 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
new file mode 100644
index 00000000000..45c1e97a17f
--- /dev/null
+++ b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
@@ -0,0 +1,291 @@
+/* Processed by ecpg (4.2.1) */
+/* These include files are added by the preprocessor */
+#include <ecpgtype.h>
+#include <ecpglib.h>
+#include <ecpgerrno.h>
+#include <sqlca.h>
+/* Needed for informix compatibility */
+#include <ecpg_informix.h>
+/* End of automatic include section */
+
+#line 1 "test_informix2.pgc"
+#include <stdio.h>
+#include <stdlib.h>
+#include "sqltypes.h"
+
+
+#line 1 "./../../include/sqlca.h"
+#ifndef POSTGRES_SQLCA_H
+#define POSTGRES_SQLCA_H
+
+#ifndef DLLIMPORT
+#if defined(WIN32) || defined(__CYGWIN__)
+#define DLLIMPORT __declspec (dllimport)
+#else
+#define DLLIMPORT
+#endif /* __CYGWIN__ */
+#endif /* DLLIMPORT */
+
+#define SQLERRMC_LEN 150
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct sqlca_t
+{
+ char sqlcaid[8];
+ long sqlabc;
+ long sqlcode;
+ struct
+ {
+ int sqlerrml;
+ char sqlerrmc[SQLERRMC_LEN];
+ } sqlerrm;
+ char sqlerrp[8];
+ long sqlerrd[6];
+ /* Element 0: empty */
+ /* 1: OID of processed tuple if applicable */
+ /* 2: number of rows processed */
+ /* after an INSERT, UPDATE or */
+ /* DELETE statement */
+ /* 3: empty */
+ /* 4: empty */
+ /* 5: empty */
+ char sqlwarn[8];
+ /* Element 0: set to 'W' if at least one other is 'W' */
+ /* 1: if 'W' at least one character string */
+ /* value was truncated when it was */
+ /* stored into a host variable. */
+
+ /*
+ * 2: if 'W' a (hopefully) non-fatal notice occurred
+ */ /* 3: empty */
+ /* 4: empty */
+ /* 5: empty */
+ /* 6: empty */
+ /* 7: empty */
+
+ char sqlstate[5];
+};
+
+struct sqlca_t *ECPGget_sqlca(void);
+
+#ifndef POSTGRES_ECPG_INTERNAL
+#define sqlca (*ECPGget_sqlca())
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+#line 5 "test_informix2.pgc"
+
+
+#line 1 "./../regression.h"
+
+
+
+
+
+
+#line 6 "test_informix2.pgc"
+
+
+
+/* Check SQLCODE, and produce a "standard error" if it's wrong! */
+static void sql_check(char *fn, char *caller, int ignore)
+{
+ char errorstring[255];
+
+ if (SQLCODE == ignore)
+ return;
+ else
+ {
+ if (SQLCODE != 0)
+ {
+
+ sprintf(errorstring, "**SQL error %ld doing '%s' in function '%s'. [%s]",
+ SQLCODE, caller, fn, sqlca.sqlerrm.sqlerrmc);
+ fprintf(stderr, "%s", errorstring);
+ printf("%s\n", errorstring);
+
+ /* attempt a ROLLBACK */
+ { ECPGtrans(__LINE__, NULL, "rollback");}
+#line 27 "test_informix2.pgc"
+
+
+ if (SQLCODE == 0)
+ {
+ sprintf(errorstring, "Rollback successful.\n");
+ } else {
+ sprintf(errorstring, "Rollback failed with code %ld.\n", SQLCODE);
+ }
+
+ fprintf(stderr, "%s", errorstring);
+ printf("%s\n", errorstring);
+
+ exit(1);
+ }
+ }
+}
+
+
+
+int main(void)
+{
+ /* exec sql begin declare section */
+
+
+
+
+
+#line 49 "test_informix2.pgc"
+ int c ;
+
+#line 50 "test_informix2.pgc"
+ timestamp d ;
+
+#line 51 "test_informix2.pgc"
+ timestamp maxd ;
+
+#line 52 "test_informix2.pgc"
+ char dbname [ 30 ] ;
+/* exec sql end declare section */
+#line 53 "test_informix2.pgc"
+
+
+ /* exec sql whenever sqlerror sqlprint ; */
+#line 55 "test_informix2.pgc"
+
+
+ ECPGdebug(1, stderr);
+
+/* if (strlen(REGRESSDB1) > MAXDBLEN) {
+ exit(1);
+ }
+*/
+ strcpy(dbname, "regress1");
+ { ECPGconnect(__LINE__, 1, dbname , NULL,NULL , NULL, 0);
+#line 64 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 64 "test_informix2.pgc"
+
+ sql_check("main", "connect", 0);
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "create table history ( customerid integer , timestamp timestamp without time zone , action_taken char ( 5 ) , narrative varchar ( 100 ) ) ", ECPGt_EOIT, ECPGt_EORT);
+#line 67 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 67 "test_informix2.pgc"
+
+ sql_check("main", "create", 0);
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "insert into history ( customerid , timestamp , action_taken , narrative ) values( 1 , '2003-05-07 13:28:34 CEST' , 'test' , 'test' )", ECPGt_EOIT, ECPGt_EORT);
+#line 72 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 72 "test_informix2.pgc"
+
+ sql_check("main", "insert", 0);
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "select max ( timestamp ) from history ", ECPGt_EOIT,
+ ECPGt_timestamp,&(maxd),(long)1,(long)1,sizeof(timestamp),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
+#line 77 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 77 "test_informix2.pgc"
+
+ sql_check("main", "select max", 100);
+
+ if (risnull(CDTIMETYPE, (char *) &maxd))
+ {
+ printf("Nothing on the history table\n\n");
+ exit(0);
+ }
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "select customerid , timestamp from history where timestamp = ? limit 1 ",
+ ECPGt_timestamp,&(maxd),(long)1,(long)1,sizeof(timestamp),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
+ ECPGt_int,&(c),(long)1,(long)1,sizeof(int),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
+ ECPGt_timestamp,&(d),(long)1,(long)1,sizeof(timestamp),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
+#line 90 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 90 "test_informix2.pgc"
+
+ sql_check("main", "select", 0);
+
+ printf("Read in customer %d\n", c);
+
+ /* Adding 1 to d adds 1 second. So:
+ 60 1 minute
+ 3600 1 hour
+ 86400 1 day */
+ d=d+86400;
+ c++;
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "insert into history ( customerid , timestamp , action_taken , narrative ) values( ? , ? , 'test' , 'test' )",
+ ECPGt_int,&(c),(long)1,(long)1,sizeof(int),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
+ ECPGt_timestamp,&(d),(long)1,(long)1,sizeof(timestamp),
+ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
+#line 104 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 104 "test_informix2.pgc"
+
+ sql_check("main", "update", 0);
+
+ { ECPGtrans(__LINE__, NULL, "commit");
+#line 107 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 107 "test_informix2.pgc"
+
+
+ { ECPGdo(__LINE__, 1, 0, NULL, "drop table history ", ECPGt_EOIT, ECPGt_EORT);
+#line 109 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 109 "test_informix2.pgc"
+
+ sql_check("main", "drop", 0);
+
+ { ECPGtrans(__LINE__, NULL, "commit");
+#line 112 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 112 "test_informix2.pgc"
+
+
+ { ECPGdisconnect(__LINE__, "CURRENT");
+#line 114 "test_informix2.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 114 "test_informix2.pgc"
+
+ sql_check("main", "disconnect", 0);
+
+ printf("All OK!\n");
+
+ exit(0);
+
+/*
+ Table "public.history"
+ Column | Type | Modifiers
+--------------+-----------------------------+-----------
+ customerid | integer | not null
+ timestamp | timestamp without time zone | not null
+ action_taken | character(5) | not null
+ narrative | character varying(100) |
+*/
+
+}