From f9e083fd30526e9e7a1c0e5a42366d5cc012d2a7 Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Thu, 20 Mar 2008 16:29:45 +0000 Subject: [PATCH] Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury. Removed one include file from connect-test1. --- src/interfaces/ecpg/ChangeLog | 5 ++++ src/interfaces/ecpg/ecpglib/Makefile | 4 +-- src/interfaces/ecpg/ecpglib/connect.c | 12 ++++++++- src/interfaces/ecpg/include/ecpglib.h | 25 ++++++++++--------- .../ecpg/test/expected/connect-test1.c.in | 1 - 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 2147d28efcb..0d11db51db1 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -2331,4 +2331,9 @@ 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. + - Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury. + - Set pgtypes library version to 3.1. + - Set compat library version to 3.1. + - Set ecpg library version to 6.2. + - Set ecpg version to 4.5. diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile index d7f0a86aa93..2ceba93f97e 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.56 2008/02/26 06:41:24 petere Exp $ +# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.57 2008/03/20 16:29:44 meskes Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,7 @@ include $(top_builddir)/src/Makefile.global NAME= ecpg SO_MAJOR_VERSION= 6 -SO_MINOR_VERSION= 1 +SO_MINOR_VERSION= 2 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 e1f0957d435..7f1003ec7ad 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.49 2008/03/20 16:29:44 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 dcc1d57722b..fcb89d057be 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.75 2008/02/14 12:22:36 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpglib.h,v 1.76 2008/03/20 16:29:45 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); diff --git a/src/interfaces/ecpg/test/expected/connect-test1.c.in b/src/interfaces/ecpg/test/expected/connect-test1.c.in index a6e862e13f2..f0dac0e68b5 100644 --- a/src/interfaces/ecpg/test/expected/connect-test1.c.in +++ b/src/interfaces/ecpg/test/expected/connect-test1.c.in @@ -1,6 +1,5 @@ /* Processed by ecpg (regression mode) */ /* These include files are added by the preprocessor */ -#include #include #include #include