Commit f604b39c authored by Michael Meskes's avatar Michael Meskes

- Applied some bug fixing patches by Dave Cramer <dave@fastcrypt.com>.

- Added protecting defines to include files.
parent f72a93b4
...@@ -1639,6 +1639,12 @@ Thu Sep 18 14:54:47 CEST 2003 ...@@ -1639,6 +1639,12 @@ Thu Sep 18 14:54:47 CEST 2003
Fri Sep 19 08:33:39 CEST 2003 Fri Sep 19 08:33:39 CEST 2003
- Some code cleanup - Some code cleanup
Sat Sep 20 11:06:13 CEST 2003
- Applied some bug fixing patches by Dave Cramer <dave@fastcrypt.com>.
- Added protecting defines to include files.
- Renamed my own strndup() function because of a name clash.
- Set ecpg version to 3.0.0 - Set ecpg version to 3.0.0
- Set ecpg library to 4.0.0 - Set ecpg library to 4.0.0
- Set pgtypes library to 1.0.0 - Set pgtypes library to 1.0.0
......
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.19 2003/09/19 14:06:21 meskes Exp $ */ /* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.20 2003/09/20 09:10:09 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -393,10 +393,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -393,10 +393,12 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
/* did we get an error? */ /* did we get an error? */
if (errno != 0) if (errno != 0)
{ {
ECPGlog("ECPGget_data line %d: RESULT: %s errno %d\n", lineno, pval ? pval : "", errno);
if (INFORMIX_MODE(compat)) if (INFORMIX_MODE(compat))
{ {
/* Informix wants its own NULL value here instead of an error */ /* Informix wants its own NULL value here instead of an error */
ECPGset_informix_null(ECPGt_numeric, &nres); ECPGset_informix_null(ECPGt_numeric, nres);
} }
else else
{ {
...@@ -440,7 +442,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -440,7 +442,7 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
if (INFORMIX_MODE(compat)) if (INFORMIX_MODE(compat))
{ {
/* Informix wants its own NULL value here instead of an error */ /* Informix wants its own NULL value here instead of an error */
ECPGset_informix_null(ECPGt_interval, &ires); ECPGset_informix_null(ECPGt_interval, ires);
} }
else else
{ {
......
#ifndef _ECPG_DATETIME_H
#define _ECPG_DATETIME_H
#include <pgtypes_timestamp.h> #include <pgtypes_timestamp.h>
#include <pgtypes_interval.h> #include <pgtypes_interval.h>
...@@ -11,3 +14,5 @@ extern int dttoasc(dtime_t *, char *); ...@@ -11,3 +14,5 @@ extern int dttoasc(dtime_t *, char *);
extern int dttofmtasc(dtime_t *, char *, int, char *); extern int dttofmtasc(dtime_t *, char *, int, char *);
extern int intoasc(intrvl_t *, char *); extern int intoasc(intrvl_t *, char *);
extern int dtcvfmtasc(char *, char *, dtime_t *); extern int dtcvfmtasc(char *, char *, dtime_t *);
#endif /* ndef _ECPG_DATETIME_H */
#ifndef _ECPG_DECIMAL_H
#define _ECPG_DECIMAL_H
#include <pgtypes_numeric.h> #include <pgtypes_numeric.h>
typedef decimal dec_t; typedef decimal dec_t;
...@@ -16,3 +19,5 @@ int dectoasc(dec_t *, char *, int, int); ...@@ -16,3 +19,5 @@ int dectoasc(dec_t *, char *, int, int);
int dectodbl(dec_t *, double *); int dectodbl(dec_t *, double *);
int dectoint(dec_t *, int *); int dectoint(dec_t *, int *);
int dectolong(dec_t *, long *); int dectolong(dec_t *, long *);
#endif /* ndef _ECPG_DECIMAL_H */
#ifndef _ECPG_INFORMIX_H
#define _ECPG_INFORMIX_H
/* /*
* This file contains stuff needed to be as compatible to Informix as possible. * This file contains stuff needed to be as compatible to Informix as possible.
*/ */
...@@ -32,3 +34,5 @@ extern void ldchar(char *, int, char *); ...@@ -32,3 +34,5 @@ extern void ldchar(char *, int, char *);
extern void ECPG_informix_set_var(int, void *, int); extern void ECPG_informix_set_var(int, void *, int);
extern void *ECPG_informix_get_var(int); extern void *ECPG_informix_get_var(int);
#endif /* ndef _ECPG_INFORMIX_H */
#ifndef _ECPG_ERROR_H #ifndef _ECPG_ERRNO_H
#define _ECPG_ERROR_H #define _ECPG_ERRNO_H
#include <errno.h> #include <errno.h>
...@@ -74,4 +74,4 @@ ...@@ -74,4 +74,4 @@
/* WARNING: BlankPortalAssignName: portal * already exists */ /* WARNING: BlankPortalAssignName: portal * already exists */
#define ECPG_WARNING_PORTAL_EXISTS -605 #define ECPG_WARNING_PORTAL_EXISTS -605
#endif /* !_ECPG_ERROR_H */ #endif /* !_ECPG_ERRNO_H */
#ifndef _ECPG_SQL3TYPES_H
#define _ECPG_SQL3TYPES_H
/* SQL3 dynamic type codes /* SQL3 dynamic type codes
* *
* Copyright (c) 2000, Christof Petig <christof.petig@wtal.de> * Copyright (c) 2000, Christof Petig <christof.petig@wtal.de>
* *
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/include/sql3types.h,v 1.7 2001/10/28 06:26:11 momjian Exp $ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/include/sql3types.h,v 1.8 2003/09/20 09:10:09 meskes Exp $
*/ */
/* chapter 13.1 table 2: Codes used for SQL data types in Dynamic SQL */ /* chapter 13.1 table 2: Codes used for SQL data types in Dynamic SQL */
...@@ -41,3 +44,5 @@ enum ...@@ -41,3 +44,5 @@ enum
SQL3_DDT_ILLEGAL /* not a datetime data type (not part of SQL3_DDT_ILLEGAL /* not a datetime data type (not part of
* standard) */ * standard) */
}; };
#endif /* !_ECPG_SQL3TYPES_H */
#ifndef ECPG_SQLTYPES_H
#define ECPG_SQLTYPES_H
#define CCHARTYPE ECPGt_char #define CCHARTYPE ECPGt_char
#define CSHORTTYPE ECPGt_short #define CSHORTTYPE ECPGt_short
#define CINTTYPE ECPGt_int #define CINTTYPE ECPGt_int
...@@ -23,3 +26,5 @@ ...@@ -23,3 +26,5 @@
#define CROWTYPE 123 #define CROWTYPE 123
#define CLVCHARPTRTYPE 124 #define CLVCHARPTRTYPE 124
#define CTYPEMAX 25 #define CTYPEMAX 25
#endif /* ndef ECPG_SQLTYPES_H */
...@@ -146,6 +146,7 @@ set_var_from_str(char *str, char **ptr, numeric *dest) ...@@ -146,6 +146,7 @@ set_var_from_str(char *str, char **ptr, numeric *dest)
bool have_dp = FALSE; bool have_dp = FALSE;
int i = 0; int i = 0;
errno = 0;
*ptr = str; *ptr = str;
while (*(*ptr)) while (*(*ptr))
{ {
...@@ -1386,6 +1387,7 @@ PGTYPESnumeric_copy(numeric *src, numeric *dst) ...@@ -1386,6 +1387,7 @@ PGTYPESnumeric_copy(numeric *src, numeric *dst)
{ {
int i; int i;
if ( dst == NULL ) return -1;
zero_var(dst); zero_var(dst);
dst->weight = src->weight; dst->weight = src->weight;
......
...@@ -573,7 +573,7 @@ dttofmtasc_replace(timestamp *ts, date dDate, int dow, struct tm * tm, ...@@ -573,7 +573,7 @@ dttofmtasc_replace(timestamp *ts, date dDate, int dow, struct tm * tm,
break; break;
case 'S': case 'S':
replace_val.uint_val = tm->tm_sec; replace_val.uint_val = tm->tm_sec;
replace_type = PGTYPES_TYPE_UINT; replace_type = PGTYPES_TYPE_UINT_2_LZ;
break; break;
case 't': case 't':
replace_val.char_val = '\t'; replace_val.char_val = '\t';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment