aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/include/ecpg_informix.h
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2003-12-18 18:55:09 +0000
committerPeter Eisentraut <peter_e@gmx.net>2003-12-18 18:55:09 +0000
commitad8c09c29c5aa00efabb3fdbffc7a25ed7ded742 (patch)
tree7c8662538608f47de1bba1506f4b80aee2d431e1 /src/interfaces/ecpg/include/ecpg_informix.h
parentb4ed1edb57113c0de4ea881d9688a23b3396d13b (diff)
downloadpostgresql-ad8c09c29c5aa00efabb3fdbffc7a25ed7ded742.tar.gz
postgresql-ad8c09c29c5aa00efabb3fdbffc7a25ed7ded742.zip
Move Informix compatibility include files out of the way. compatlib.h
was integrated into ecpg_informix.h, the other ones go into their own subdirectory that is automatically considered by the embedded preprocessor when in Informix mode.
Diffstat (limited to 'src/interfaces/ecpg/include/ecpg_informix.h')
-rw-r--r--src/interfaces/ecpg/include/ecpg_informix.h80
1 files changed, 75 insertions, 5 deletions
diff --git a/src/interfaces/ecpg/include/ecpg_informix.h b/src/interfaces/ecpg/include/ecpg_informix.h
index 7f8ee28adf2..ccf4dd1123f 100644
--- a/src/interfaces/ecpg/include/ecpg_informix.h
+++ b/src/interfaces/ecpg/include/ecpg_informix.h
@@ -1,11 +1,81 @@
-#ifndef _ECPG_INFORMIX_H
-#define _ECPG_INFORMIX_H
/*
* This file contains stuff needed to be as compatible to Informix as possible.
+ *
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.14 2003/12/18 18:55:09 petere Exp $
*/
+#ifndef _ECPG_INFORMIX_H
+#define _ECPG_INFORMIX_H
+
+#include <ecpglib.h>
+#include <pgtypes_date.h>
+#include <pgtypes_interval.h>
+#include <pgtypes_numeric.h>
+#include <pgtypes_timestamp.h>
+
+#define SQLNOTFOUND 100
+
+#define ECPG_INFORMIX_NUM_OVERFLOW -1200
+#define ECPG_INFORMIX_NUM_UNDERFLOW -1201
+#define ECPG_INFORMIX_DIVIDE_ZERO -1202
+#define ECPG_INFORMIX_BAD_YEAR -1204
+#define ECPG_INFORMIX_BAD_MONTH -1205
+#define ECPG_INFORMIX_BAD_DAY -1206
+#define ECPG_INFORMIX_ENOSHORTDATE -1209
+#define ECPG_INFORMIX_DATE_CONVERT -1210
+#define ECPG_INFORMIX_OUT_OF_MEMORY -1211
+#define ECPG_INFORMIX_ENOTDMY -1212
+#define ECPG_INFORMIX_BAD_NUMERIC -1213
+#define ECPG_INFORMIX_BAD_EXPONENT -1216
+#define ECPG_INFORMIX_BAD_DATE -1218
+#define ECPG_INFORMIX_EXTRA_CHARS -1264
+
+extern int rdatestr(date, char *);
+extern void rtoday(date *);
+extern int rjulmdy(date, short *);
+extern int rdefmtdate(date *, char *, char *);
+extern int rfmtdate(date, char *, char *);
+extern int rmdyjul(short *, date *);
+extern int rstrdate(char *, date *);
+extern int rdayofweek(date);
+
+extern int rfmtlong(long, char *, char *);
+extern int rgetmsg(int, char *, int);
+extern int risnull(int, char *);
+extern int rsetnull(int, char *);
+extern int rtypalign(int, int);
+extern int rtypmsize(int, int);
+extern int rtypwidth(int, int);
+extern void rupshift(char *);
+
+extern int byleng(char *, int);
+extern void ldchar(char *, int, char *);
+
+extern void ECPG_informix_set_var(int, void *, int);
+extern void *ECPG_informix_get_var(int);
+
+/* Informix defines these in decimal.h */
+int decadd(decimal *, decimal *, decimal *);
+int deccmp(decimal *, decimal *);
+void deccopy(decimal *, decimal *);
+int deccvasc(char *, int, decimal *);
+int deccvdbl(double, decimal *);
+int deccvint(int, decimal *);
+int deccvlong(long, decimal *);
+int decdiv(decimal *, decimal *, decimal *);
+int decmul(decimal *, decimal *, decimal *);
+int decsub(decimal *, decimal *, decimal *);
+int dectoasc(decimal *, char *, int, int);
+int dectodbl(decimal *, double *);
+int dectoint(decimal *, int *);
+int dectolong(decimal *, long *);
-#include <decimal.h>
-#include <datetime.h>
-#include <compatlib.h>
+/* Informix defines these in datetime.h */
+extern void dtcurrent(timestamp *);
+extern int dtcvasc(char *, timestamp *);
+extern int dtsub(timestamp *, timestamp *, interval *);
+extern int dttoasc(timestamp *, char *);
+extern int dttofmtasc(timestamp *, char *, int, char *);
+extern int intoasc(interval *, char *);
+extern int dtcvfmtasc(char *, char *, timestamp *);
#endif /* ndef _ECPG_INFORMIX_H */