2
* This file contains stuff needed to be as compatible to Informix as possible.
4
* $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.16 2004-08-29 05:06:59 momjian Exp $
6
#ifndef _ECPG_INFORMIX_H
7
#define _ECPG_INFORMIX_H
10
#include <pgtypes_date.h>
11
#include <pgtypes_interval.h>
12
#include <pgtypes_numeric.h>
13
#include <pgtypes_timestamp.h>
15
#define SQLNOTFOUND 100
17
#define ECPG_INFORMIX_NUM_OVERFLOW -1200
18
#define ECPG_INFORMIX_NUM_UNDERFLOW -1201
19
#define ECPG_INFORMIX_DIVIDE_ZERO -1202
20
#define ECPG_INFORMIX_BAD_YEAR -1204
21
#define ECPG_INFORMIX_BAD_MONTH -1205
22
#define ECPG_INFORMIX_BAD_DAY -1206
23
#define ECPG_INFORMIX_ENOSHORTDATE -1209
24
#define ECPG_INFORMIX_DATE_CONVERT -1210
25
#define ECPG_INFORMIX_OUT_OF_MEMORY -1211
26
#define ECPG_INFORMIX_ENOTDMY -1212
27
#define ECPG_INFORMIX_BAD_NUMERIC -1213
28
#define ECPG_INFORMIX_BAD_EXPONENT -1216
29
#define ECPG_INFORMIX_BAD_DATE -1218
30
#define ECPG_INFORMIX_EXTRA_CHARS -1264
37
extern int rdatestr(date, char *);
38
extern void rtoday(date *);
39
extern int rjulmdy(date, short *);
40
extern int rdefmtdate(date *, char *, char *);
41
extern int rfmtdate(date, char *, char *);
42
extern int rmdyjul(short *, date *);
43
extern int rstrdate(char *, date *);
44
extern int rdayofweek(date);
46
extern int rfmtlong(long, char *, char *);
47
extern int rgetmsg(int, char *, int);
48
extern int risnull(int, char *);
49
extern int rsetnull(int, char *);
50
extern int rtypalign(int, int);
51
extern int rtypmsize(int, int);
52
extern int rtypwidth(int, int);
53
extern void rupshift(char *);
55
extern int byleng(char *, int);
56
extern void ldchar(char *, int, char *);
58
extern void ECPG_informix_set_var(int, void *, int);
59
extern void *ECPG_informix_get_var(int);
61
/* Informix defines these in decimal.h */
62
int decadd(decimal *, decimal *, decimal *);
63
int deccmp(decimal *, decimal *);
64
void deccopy(decimal *, decimal *);
65
int deccvasc(char *, int, decimal *);
66
int deccvdbl(double, decimal *);
67
int deccvint(int, decimal *);
68
int deccvlong(long, decimal *);
69
int decdiv(decimal *, decimal *, decimal *);
70
int decmul(decimal *, decimal *, decimal *);
71
int decsub(decimal *, decimal *, decimal *);
72
int dectoasc(decimal *, char *, int, int);
73
int dectodbl(decimal *, double *);
74
int dectoint(decimal *, int *);
75
int dectolong(decimal *, long *);
77
/* Informix defines these in datetime.h */
78
extern void dtcurrent(timestamp *);
79
extern int dtcvasc(char *, timestamp *);
80
extern int dtsub(timestamp *, timestamp *, interval *);
81
extern int dttoasc(timestamp *, char *);
82
extern int dttofmtasc(timestamp *, char *, int, char *);
83
extern int intoasc(interval *, char *);
84
extern int dtcvfmtasc(char *, char *, timestamp *);
90
#endif /* ndef _ECPG_INFORMIX_H */