diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 6ac03ff234fd8356638df543294d7a2d6ce6a5c6..0e76101b7dd6ff45c2b175583290a252fb984cd1 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -277,3 +277,23 @@ Fri Aug  7 12:38:50 CEST 1998
 	- Added support for variables in cursor
 	- Set version to 2.3.6
 	- Set library version to 2.5
+
+Fri Aug 14 12:44:21 CEST 1998
+
+	- Added EXEC SQL DEFINE statement
+	- Set version to 2.4.0
+
+Tue Aug 18 09:24:15 CEST 1998
+
+	- Removed keyword IS from DEFINE statement
+	- Added latest changes from gram.y
+	- Removed duplicate symbols from preproc.y
+	- Initialize sqlca structure
+	- Added check for connection to ecpglib
+	- Set version to 2.4.1
+
+Thu Aug 20 15:31:29 CEST 1998
+
+	- Cleaned up memory allocation in ecpglib.c
+	- Set library version to 2.6
+
diff --git a/src/interfaces/ecpg/TODO b/src/interfaces/ecpg/TODO
index 908ec6192705f985005facf908bffd9fdf21992a..cac4f67056adfcdcfbec224439953350e4bc27ba 100644
--- a/src/interfaces/ecpg/TODO
+++ b/src/interfaces/ecpg/TODO
@@ -13,7 +13,6 @@ it would be nice to be able to use :var[:index] as cvariable
 
 Missing statements:
  - exec sql type
- - exec sql define
  - exec sql prepare
  - exec sql allocate
  - exqc sql free
diff --git a/src/interfaces/ecpg/include/ecpgerrno.h b/src/interfaces/ecpg/include/ecpgerrno.h
index f9373557e9b68e4434cf011a3bd188e79521d13c..2303f2a2154a95521ca220d5d0701d3328470787 100644
--- a/src/interfaces/ecpg/include/ecpgerrno.h
+++ b/src/interfaces/ecpg/include/ecpgerrno.h
@@ -22,12 +22,15 @@
 #define ECPG_FLOAT_FORMAT	-206
 #define ECPG_CONVERT_BOOL	-207
 #define ECPG_EMPTY		-208
-#define ECPG_NO_CONN		-209
+
 #define ECPG_UNDECLARED_CURSOR	-210
 
-/* finally the backend error messages, they start at 300 */
-#define ECPG_PGSQL		-300
-#define ECPG_TRANS		-301
-#define ECPG_CONNECT		-302
+#define ECPG_NO_CONN		-220
+#define ECPG_NOT_CONN		-221
+
+/* finally the backend error messages, they start at 400 */
+#define ECPG_PGSQL		-400
+#define ECPG_TRANS		-401
+#define ECPG_CONNECT		-402
 
 #endif /* !_ECPG_ERROR_H */
diff --git a/src/interfaces/ecpg/include/ecpglib.h b/src/interfaces/ecpg/include/ecpglib.h
index 83f2e6efb86ee7b59cc1e7aeb0fd40f6a76e3eea..0f0bd2b38c02c7a655e81d6fd710a59997a0c2cf 100644
--- a/src/interfaces/ecpg/include/ecpglib.h
+++ b/src/interfaces/ecpg/include/ecpglib.h
@@ -37,6 +37,8 @@ struct cursor {	const char *name;
 		struct cursor *next;
 	      };
 
+extern int no_auto_trans;
+
 /* define this for simplicity as well as compatibility */
 
 #define		  SQLCODE	 sqlca.sqlcode
diff --git a/src/interfaces/ecpg/include/sqlca.h b/src/interfaces/ecpg/include/sqlca.h
index 7d6c9994349eea3c1bcf7a7eda08347850377d8d..f96067d9744b5370169cce937d7cb21d82dfaa1f 100644
--- a/src/interfaces/ecpg/include/sqlca.h
+++ b/src/interfaces/ecpg/include/sqlca.h
@@ -38,8 +38,10 @@ struct sqlca
 		/*         7: empty                                   */
 		                                                                
 	char			sqlext[8];
-} sqlca;
+};
 
+extern struct sqlca sqlca;
+                                                                                 
 #endif
 
 #ifdef __cplusplus