diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2003-12-18 18:55:09 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2003-12-18 18:55:09 +0000 |
commit | ad8c09c29c5aa00efabb3fdbffc7a25ed7ded742 (patch) | |
tree | 7c8662538608f47de1bba1506f4b80aee2d431e1 /src/interfaces/ecpg/include/ecpg_informix.h | |
parent | b4ed1edb57113c0de4ea881d9688a23b3396d13b (diff) | |
download | postgresql-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.h | 80 |
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 */ |