Skip to content

Commit 22c0b1f

Browse files
author
Michael Meskes
committed
- Fixed order mismatch in processing "using" arguments.
- Fixed some minor things in test cases. - Use defines for Informix error codes.
1 parent 8839b85 commit 22c0b1f

File tree

7 files changed

+89
-66
lines changed

7 files changed

+89
-66
lines changed

src/interfaces/ecpg/ChangeLog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1645,6 +1645,12 @@ Sat Sep 20 11:06:13 CEST 2003
16451645
- Applied some bug fixing patches by Dave Cramer <dave@fastcrypt.com>.
16461646
- Added protecting defines to include files.
16471647
- Renamed my own strndup() function because of a name clash.
1648+
1649+
Mon Sep 22 15:13:02 CEST 2003
1650+
1651+
- Fixed order mismatch in processing "using" arguments.
1652+
- Fixed some minor things in test cases.
1653+
- Use defines for Informix error codes.
16481654
- Set ecpg version to 3.0.0
16491655
- Set ecpg library to 4.0.0
16501656
- Set pgtypes library to 1.0.0

src/interfaces/ecpg/compatlib/informix.c

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,26 @@ deccall2(decimal * arg1, decimal * arg2, int (*ptr) (numeric *, numeric *))
2020
int i;
2121

2222
if ((a1 = PGTYPESnumeric_new()) == NULL)
23-
return -1211;
23+
return ECPG_INFORMIX_OUT_OF_MEMORY;
2424

2525
if ((a2 = PGTYPESnumeric_new()) == NULL)
2626
{
2727
PGTYPESnumeric_free(a1);
28-
return -1211;
28+
return ECPG_INFORMIX_OUT_OF_MEMORY;
2929
}
3030

3131
if (PGTYPESnumeric_from_decimal(arg1, a1) != 0)
3232
{
3333
PGTYPESnumeric_free(a1);
3434
PGTYPESnumeric_free(a2);
35-
return -1211;
35+
return ECPG_INFORMIX_OUT_OF_MEMORY;
3636
}
3737

3838
if (PGTYPESnumeric_from_decimal(arg2, a2) != 0)
3939
{
4040
PGTYPESnumeric_free(a1);
4141
PGTYPESnumeric_free(a2);
42-
return -1211;
42+
return ECPG_INFORMIX_OUT_OF_MEMORY;
4343
}
4444

4545
i = (*ptr) (a1, a2);
@@ -65,35 +65,35 @@ deccall3(decimal * arg1, decimal * arg2, decimal * result, int (*ptr) (numeric *
6565
}
6666

6767
if ((a1 = PGTYPESnumeric_new()) == NULL)
68-
return -1211;
68+
return ECPG_INFORMIX_OUT_OF_MEMORY;
6969

7070
if ((a2 = PGTYPESnumeric_new()) == NULL)
7171
{
7272
PGTYPESnumeric_free(a1);
73-
return -1211;
73+
return ECPG_INFORMIX_OUT_OF_MEMORY;
7474
}
7575

7676
if ((nres = PGTYPESnumeric_new()) == NULL)
7777
{
7878
PGTYPESnumeric_free(a1);
7979
PGTYPESnumeric_free(a2);
80-
return -1211;
80+
return ECPG_INFORMIX_OUT_OF_MEMORY;
8181
}
8282

8383
if (PGTYPESnumeric_from_decimal(arg1, a1) != 0)
8484
{
8585
PGTYPESnumeric_free(a1);
8686
PGTYPESnumeric_free(a2);
8787
PGTYPESnumeric_free(nres);
88-
return -1211;
88+
return ECPG_INFORMIX_OUT_OF_MEMORY;
8989
}
9090

9191
if (PGTYPESnumeric_from_decimal(arg2, a2) != 0)
9292
{
9393
PGTYPESnumeric_free(a1);
9494
PGTYPESnumeric_free(a2);
9595
PGTYPESnumeric_free(nres);
96-
return -1211;
96+
return ECPG_INFORMIX_OUT_OF_MEMORY;
9797
}
9898

9999
i = (*ptr) (a1, a2, nres);
@@ -115,9 +115,9 @@ decadd(decimal * arg1, decimal * arg2, decimal * sum)
115115
deccall3(arg1, arg2, sum, PGTYPESnumeric_add);
116116

117117
if (errno == PGTYPES_NUM_OVERFLOW)
118-
return -1200;
118+
return ECPG_INFORMIX_NUM_OVERFLOW;
119119
else if (errno != 0)
120-
return -1201;
120+
return ECPG_INFORMIX_NUM_UNDERFLOW;
121121
else
122122
return 0;
123123
}
@@ -166,7 +166,7 @@ deccvasc(char *cp, int len, decimal * np)
166166
return 0;
167167

168168
if (!str)
169-
ret = -1201;
169+
ret = ECPG_INFORMIX_NUM_UNDERFLOW;
170170
else
171171
{
172172
result = PGTYPESnumeric_from_asc(str, NULL);
@@ -175,20 +175,20 @@ deccvasc(char *cp, int len, decimal * np)
175175
switch (errno)
176176
{
177177
case PGTYPES_NUM_OVERFLOW:
178-
ret = -1200;
178+
ret = ECPG_INFORMIX_NUM_OVERFLOW;
179179
break;
180180
case PGTYPES_NUM_BAD_NUMERIC:
181-
ret = -1213;
181+
ret = ECPG_INFORMIX_BAD_NUMERIC;
182182
break;
183183
default:
184-
ret = -1216;
184+
ret = ECPG_INFORMIX_BAD_EXPONENT;
185185
break;
186186
}
187187
}
188188
else
189189
{
190190
if (PGTYPESnumeric_to_decimal(result, np) != 0)
191-
ret = -1200;
191+
ret = ECPG_INFORMIX_NUM_OVERFLOW;
192192

193193
free(result);
194194
}
@@ -209,7 +209,7 @@ deccvdbl(double dbl, decimal * np)
209209
return 0;
210210

211211
if (nres == NULL)
212-
return -1211;
212+
return ECPG_INFORMIX_OUT_OF_MEMORY;
213213

214214
result = PGTYPESnumeric_from_double(dbl, nres);
215215
if (result == 0)
@@ -230,7 +230,7 @@ deccvint(int in, decimal * np)
230230
return 0;
231231

232232
if (nres == NULL)
233-
return -1211;
233+
return ECPG_INFORMIX_OUT_OF_MEMORY;
234234

235235
result = PGTYPESnumeric_from_int(in, nres);
236236
if (result == 0)
@@ -251,7 +251,7 @@ deccvlong(long lng, decimal * np)
251251
return 0;
252252

253253
if (nres == NULL)
254-
return -1211;
254+
return ECPG_INFORMIX_OUT_OF_MEMORY;
255255

256256
result = PGTYPESnumeric_from_long(lng, nres);
257257
if (result == 0)
@@ -270,13 +270,13 @@ decdiv(decimal * n1, decimal * n2, decimal * n3)
270270
switch (errno)
271271
{
272272
case PGTYPES_NUM_DIVIDE_ZERO:
273-
return -1202;
273+
return ECPG_INFORMIX_DIVIDE_ZERO;
274274
break;
275275
case PGTYPES_NUM_OVERFLOW:
276-
return -1200;
276+
return ECPG_INFORMIX_NUM_OVERFLOW;
277277
break;
278278
default:
279-
return -1201;
279+
return ECPG_INFORMIX_NUM_UNDERFLOW;
280280
break;
281281
}
282282

@@ -292,10 +292,10 @@ decmul(decimal * n1, decimal * n2, decimal * n3)
292292
switch (errno)
293293
{
294294
case PGTYPES_NUM_OVERFLOW:
295-
return -1200;
295+
return ECPG_INFORMIX_NUM_OVERFLOW;
296296
break;
297297
default:
298-
return -1201;
298+
return ECPG_INFORMIX_NUM_UNDERFLOW;
299299
break;
300300
}
301301

@@ -311,10 +311,10 @@ decsub(decimal * n1, decimal * n2, decimal * n3)
311311
switch (errno)
312312
{
313313
case PGTYPES_NUM_OVERFLOW:
314-
return -1200;
314+
return ECPG_INFORMIX_NUM_OVERFLOW;
315315
break;
316316
default:
317-
return -1201;
317+
return ECPG_INFORMIX_NUM_UNDERFLOW;
318318
break;
319319
}
320320

@@ -328,14 +328,14 @@ dectoasc(decimal * np, char *cp, int len, int right)
328328
numeric *nres = PGTYPESnumeric_new();
329329

330330
if (nres == NULL)
331-
return -1211;
331+
return ECPG_INFORMIX_OUT_OF_MEMORY;
332332

333333
rsetnull(CSTRINGTYPE, (char *) cp);
334334
if (risnull(CDECIMALTYPE, (char *) np))
335335
return 0;
336336

337337
if (PGTYPESnumeric_from_decimal(np, nres) != 0)
338-
return -1211;
338+
return ECPG_INFORMIX_OUT_OF_MEMORY;
339339

340340
if (right >= 0)
341341
str = PGTYPESnumeric_to_asc(nres, right);
@@ -363,10 +363,10 @@ dectodbl(decimal * np, double *dblp)
363363
int i;
364364

365365
if (nres == NULL)
366-
return -1211;
366+
return ECPG_INFORMIX_OUT_OF_MEMORY;
367367

368368
if (PGTYPESnumeric_from_decimal(np, nres) != 0)
369-
return -1211;
369+
return ECPG_INFORMIX_OUT_OF_MEMORY;
370370

371371
i = PGTYPESnumeric_to_double(nres, dblp);
372372
PGTYPESnumeric_free(nres);
@@ -381,15 +381,15 @@ dectoint(decimal * np, int *ip)
381381
numeric *nres = PGTYPESnumeric_new();
382382

383383
if (nres == NULL)
384-
return -1211;
384+
return ECPG_INFORMIX_OUT_OF_MEMORY;
385385

386386
if (PGTYPESnumeric_from_decimal(np, nres) != 0)
387-
return -1211;
387+
return ECPG_INFORMIX_OUT_OF_MEMORY;
388388

389389
ret = PGTYPESnumeric_to_int(nres, ip);
390390

391391
if (ret == PGTYPES_NUM_OVERFLOW)
392-
ret = -1200;
392+
ret = ECPG_INFORMIX_NUM_OVERFLOW;
393393

394394
return ret;
395395
}
@@ -401,15 +401,15 @@ dectolong(decimal * np, long *lngp)
401401
numeric *nres = PGTYPESnumeric_new();;
402402

403403
if (nres == NULL)
404-
return -1211;
404+
return ECPG_INFORMIX_OUT_OF_MEMORY;
405405

406406
if (PGTYPESnumeric_from_decimal(np, nres) != 0)
407-
return -1211;
407+
return ECPG_INFORMIX_OUT_OF_MEMORY;
408408

409409
ret = PGTYPESnumeric_to_long(nres, lngp);
410410

411411
if (ret == PGTYPES_NUM_OVERFLOW)
412-
ret = -1200;
412+
ret = ECPG_INFORMIX_NUM_OVERFLOW;
413413

414414
return ret;
415415
}
@@ -421,7 +421,7 @@ rdatestr(date d, char *str)
421421
char *tmp = PGTYPESdate_to_asc(d);
422422

423423
if (!tmp)
424-
return -1210;
424+
return ECPG_INFORMIX_DATE_CONVERT;
425425

426426
/* move to user allocated buffer */
427427
strcpy(str, tmp);
@@ -436,7 +436,7 @@ rstrdate(char *str, date * d)
436436
date dat = PGTYPESdate_from_asc(str, NULL);
437437

438438
if (errno != PGTYPES_DATE_BAD_DATE && dat == 0)
439-
return -1218;
439+
return ECPG_INFORMIX_BAD_DATE;
440440

441441
*d = dat;
442442
return 0;
@@ -473,16 +473,16 @@ rdefmtdate(date * d, char *fmt, char *str)
473473
switch (errno)
474474
{
475475
case PGTYPES_DATE_ERR_ENOSHORTDATE:
476-
return -1209;
476+
return ECPG_INFORMIX_ENOSHORTDATE;
477477
case PGTYPES_DATE_ERR_EARGS:
478478
case PGTYPES_DATE_ERR_ENOTDMY:
479-
return -1212;
479+
return ECPG_INFORMIX_ENOTDMY;
480480
case PGTYPES_DATE_BAD_DAY:
481-
return -1204;
481+
return ECPG_INFORMIX_BAD_DAY;
482482
case PGTYPES_DATE_BAD_MONTH:
483-
return -1205;
483+
return ECPG_INFORMIX_BAD_MONTH;
484484
default:
485-
return -1206;
485+
return ECPG_INFORMIX_BAD_YEAR;
486486
}
487487
}
488488

@@ -493,9 +493,9 @@ rfmtdate(date d, char *fmt, char *str)
493493
return 0;
494494

495495
if (errno == ENOMEM)
496-
return -1211;
496+
return ECPG_INFORMIX_OUT_OF_MEMORY;
497497

498-
return -1210;
498+
return ECPG_INFORMIX_DATE_CONVERT;
499499
}
500500

501501
int
@@ -538,7 +538,7 @@ dtcvasc(char *str, timestamp *ts)
538538
if (**endptr)
539539
{
540540
/* extra characters exist at the end */
541-
return -1264;
541+
return ECPG_INFORMIX_EXTRA_CHARS;
542542
}
543543

544544
/* everything went fine */

src/interfaces/ecpg/include/ecpg_informix.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,21 @@
1111

1212
#define SQLNOTFOUND 100
1313

14+
#define ECPG_INFORMIX_NUM_OVERFLOW -1200
15+
#define ECPG_INFORMIX_NUM_UNDERFLOW -1201
16+
#define ECPG_INFORMIX_DIVIDE_ZERO -1202
17+
#define ECPG_INFORMIX_BAD_YEAR -1204
18+
#define ECPG_INFORMIX_BAD_MONTH -1205
19+
#define ECPG_INFORMIX_BAD_DAY -1206
20+
#define ECPG_INFORMIX_ENOSHORTDATE -1209
21+
#define ECPG_INFORMIX_DATE_CONVERT -1210
22+
#define ECPG_INFORMIX_OUT_OF_MEMORY -1211
23+
#define ECPG_INFORMIX_ENOTDMY -1212
24+
#define ECPG_INFORMIX_BAD_NUMERIC -1213
25+
#define ECPG_INFORMIX_BAD_EXPONENT -1216
26+
#define ECPG_INFORMIX_BAD_DATE -1218
27+
#define ECPG_INFORMIX_EXTRA_CHARS -1264
28+
1429
extern int rdatestr(date, char *);
1530
extern void rtoday(date *);
1631
extern int rjulmdy(date, short *);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy