From 78772dc018f41b04164c3d2f591327f1e9baaf3f Mon Sep 17 00:00:00 2001
From: Michael Meskes <meskes@postgresql.org>
Date: Thu, 14 Feb 2008 12:22:36 +0000
Subject: [PATCH] *** empty log message ***

---
 src/interfaces/ecpg/ChangeLog               | 3 +++
 src/interfaces/ecpg/include/datetime.h      | 6 +++---
 src/interfaces/ecpg/include/decimal.h       | 4 ++--
 src/interfaces/ecpg/include/ecpg_informix.h | 7 ++++++-
 src/interfaces/ecpg/include/ecpglib.h       | 5 +++--
 src/interfaces/ecpg/preproc/pgc.l           | 6 +++---
 6 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 846c67cc0c9..9dc77647aed 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -2307,4 +2307,7 @@ Wed, 06 Feb 2008 09:04:48 +0100
 	- Fixed segfault in ecpg when using an array element.
 	- Free all memory in auto-prepare mode.
 
+Thu, 14 Feb 2008 13:11:34 +0100
+
+	- Added SQLSTATE macro closing bug #3961.
 
diff --git a/src/interfaces/ecpg/include/datetime.h b/src/interfaces/ecpg/include/datetime.h
index c3a70626755..6c64abbd386 100644
--- a/src/interfaces/ecpg/include/datetime.h
+++ b/src/interfaces/ecpg/include/datetime.h
@@ -1,11 +1,11 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/datetime.h,v 1.12 2006/03/11 04:38:39 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/datetime.h,v 1.13 2008/02/14 12:22:36 meskes Exp $ */
 
 #ifndef _ECPG_DATETIME_H
 #define _ECPG_DATETIME_H
 
 #include <ecpg_informix.h>
 
-typedef timestamp dtime_t;
-typedef interval intrvl_t;
+/* typedef timestamp dtime_t;
+typedef interval intrvl_t;*/
 
 #endif   /* ndef _ECPG_DATETIME_H */
diff --git a/src/interfaces/ecpg/include/decimal.h b/src/interfaces/ecpg/include/decimal.h
index 9944f052e33..99aac67cb6c 100644
--- a/src/interfaces/ecpg/include/decimal.h
+++ b/src/interfaces/ecpg/include/decimal.h
@@ -1,10 +1,10 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/decimal.h,v 1.14 2006/03/11 04:38:39 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/decimal.h,v 1.15 2008/02/14 12:22:36 meskes Exp $ */
 
 #ifndef _ECPG_DECIMAL_H
 #define _ECPG_DECIMAL_H
 
 #include <ecpg_informix.h>
 
-typedef decimal dec_t;
+/* typedef decimal dec_t; */
 
 #endif   /* ndef _ECPG_DECIMAL_H */
diff --git a/src/interfaces/ecpg/include/ecpg_informix.h b/src/interfaces/ecpg/include/ecpg_informix.h
index 4441c56b335..63862b748a2 100644
--- a/src/interfaces/ecpg/include/ecpg_informix.h
+++ b/src/interfaces/ecpg/include/ecpg_informix.h
@@ -1,6 +1,6 @@
 /*
  * This file contains stuff needed to be as compatible to Informix as possible.
- * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.18 2006/03/11 04:38:39 momjian Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.19 2008/02/14 12:22:36 meskes Exp $
  */
 #ifndef _ECPG_INFORMIX_H
 #define _ECPG_INFORMIX_H
@@ -82,6 +82,11 @@ extern int	dttofmtasc(timestamp *, char *, int, char *);
 extern int	intoasc(interval *, char *);
 extern int	dtcvfmtasc(char *, char *, timestamp *);
 
+/* we also define Informix datatypes here */
+typedef timestamp dtime_t;
+typedef interval intrvl_t;
+typedef decimal dec_t;
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/interfaces/ecpg/include/ecpglib.h b/src/interfaces/ecpg/include/ecpglib.h
index 18cab5029e9..dcc1d57722b 100644
--- a/src/interfaces/ecpg/include/ecpglib.h
+++ b/src/interfaces/ecpg/include/ecpglib.h
@@ -1,7 +1,7 @@
 /*
  * this is a small part of c.h since we don't want to leak all postgres
  * definitions into ecpg programs
- * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpglib.h,v 1.74 2008/01/13 11:53:16 meskes Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpglib.h,v 1.75 2008/02/14 12:22:36 meskes Exp $
  */
 
 #ifndef _ECPGLIB_H
@@ -58,7 +58,8 @@ void		sqlprint(void);
 
 /* define this for simplicity as well as compatibility */
 
-#define		  SQLCODE	 sqlca.sqlcode
+#define		SQLCODE		sqlca.sqlcode
+#define		SQLSTATE        sqlca.sqlstate
 
 /* dynamic SQL */
 
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index e5bd28be920..1372543553d 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -12,7 +12,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.159 2008/01/15 10:31:47 meskes Exp $
+ *	  $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.160 2008/02/14 12:22:36 meskes Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1320,7 +1320,7 @@ static bool isdefine(void)
 
 static bool isinformixdefine(void)
 {
-	const char *new = NULL;
+/*	const char *new = NULL;
 
 	if (strcmp(yytext, "dec_t") == 0)
 		new = "decimal";
@@ -1344,7 +1344,7 @@ static bool isinformixdefine(void)
 		yy_scan_string(new);
 		return true;
 	}
-
+*/
 	return false;
 }
 
-- 
GitLab