diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index c7f569693fddc6a3e21adef7cd3b6369443ca9d8..a1f53644587a4614c7d5dd709bf88b6987e516f7 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -2331,4 +2331,7 @@ Sun, 02 Mar 2008 11:50:48 +0100 Thu, 20 Mar 2008 16:54:27 +0100 - Changed statement escaping to not escape continuation line markers. - - Bumped ecpg version number to 4.4.1. + - Bumped ecpg version to 4.4.1. + - Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury. + - Bumped ecpglib version to 6.1. + diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile index f58ac80a8024aeb0230365409d3514b138baca05..a82f19644f6238e0a66e5a36a3df45341608ade4 100644 --- a/src/interfaces/ecpg/ecpglib/Makefile +++ b/src/interfaces/ecpg/ecpglib/Makefile @@ -5,7 +5,7 @@ # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.54 2008/01/01 19:45:59 momjian Exp $ +# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.54.2.1 2008/03/20 16:30:14 meskes Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,7 @@ include $(top_builddir)/src/Makefile.global NAME= ecpg SO_MAJOR_VERSION= 6 -SO_MINOR_VERSION= 0 +SO_MINOR_VERSION= 1 DLTYPE= library override CPPFLAGS := -I../include -I$(top_srcdir)/src/interfaces/ecpg/include \ diff --git a/src/interfaces/ecpg/ecpglib/connect.c b/src/interfaces/ecpg/ecpglib/connect.c index e1f0957d435fb012cc498d6187e8999ba97a2873..f65764cb87c68ea972b97061cab83b7883fffc8f 100644 --- a/src/interfaces/ecpg/ecpglib/connect.c +++ b/src/interfaces/ecpg/ecpglib/connect.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.48 2007/11/15 21:14:45 momjian Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.48.2.1 2008/03/20 16:30:14 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -565,3 +565,13 @@ ECPGdisconnect(int lineno, const char *connection_name) return true; } + +PGconn* ECPGget_PGconn(const char *connection_name) +{ + struct connection * con; + + con=ecpg_get_connection(connection_name); + if (con==NULL) return NULL; + + return con->connection; +} diff --git a/src/interfaces/ecpg/include/ecpglib.h b/src/interfaces/ecpg/include/ecpglib.h index 6034a0901f53396a26a767c04fdbcd85d2c3a99c..490b7676810cb09792880b81a5cfda8df9366374 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.2.1 2008/02/15 12:11:02 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpglib.h,v 1.74.2.2 2008/03/20 16:30:14 meskes Exp $ */ #ifndef _ECPGLIB_H @@ -47,11 +47,13 @@ bool ECPGdo(const int, const int, const int, const char *, const bool, const in bool ECPGtrans(int, const char *, const char *); bool ECPGdisconnect(int, const char *); bool ECPGprepare(int, const char *, const int, const char *, const char *); -bool ECPGdeallocate(int, int, const char *connection_name, const char *name); -bool ECPGdeallocate_all(int, int, const char *connection_name); -char *ECPGprepared_statement(const char *connection_name, const char *name, int); +bool ECPGdeallocate(int, int, const char *, const char *); +bool ECPGdeallocate_all(int, int, const char *); +char *ECPGprepared_statement(const char *, const char *, int); +PGconn *ECPGget_PGconn(const char *); -char *ECPGerrmsg(void); + +char *ECPGerrmsg(void); /* print an error message */ void sqlprint(void); @@ -63,18 +65,17 @@ void sqlprint(void); /* dynamic SQL */ -bool ECPGdo_descriptor(int line, const char *connection, - const char *descriptor, const char *query); -bool ECPGdeallocate_desc(int line, const char *name); -bool ECPGallocate_desc(int line, const char *name); +bool ECPGdo_descriptor(int, const char *, const char *, const char *); +bool ECPGdeallocate_desc(int, const char *); +bool ECPGallocate_desc(int, const char *); bool ECPGget_desc_header(int, const char *, int *); -bool ECPGget_desc(int, const char *, int,...); +bool ECPGget_desc(int, const char *, int, ...); bool ECPGset_desc_header(int, const char *, int); -bool ECPGset_desc(int, const char *, int,...); +bool ECPGset_desc(int, const char *, int, ...); void ECPGset_noind_null(enum ECPGttype, void *); bool ECPGis_noind_null(enum ECPGttype, void *); -bool ECPGdescribe(int, bool, const char *,...); +bool ECPGdescribe(int, bool, const char *, ...); /* dynamic result allocation */ void ECPGfree_auto_mem(void);