diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/ecpg/ecpglib/exports.txt | 3 | ||||
-rw-r--r-- | src/interfaces/ecpg/ecpglib/misc.c | 17 | ||||
-rw-r--r-- | src/interfaces/ecpg/include/ecpglib.h | 4 |
3 files changed, 20 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/ecpglib/exports.txt b/src/interfaces/ecpg/ecpglib/exports.txt index 23f4733c4a5..c63994ff11b 100644 --- a/src/interfaces/ecpg/ecpglib/exports.txt +++ b/src/interfaces/ecpg/ecpglib/exports.txt @@ -1,4 +1,4 @@ -# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/exports.txt,v 1.5 2008/03/25 12:45:25 meskes Exp $ +# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/exports.txt,v 1.6 2009/09/18 13:13:32 meskes Exp $ # Functions to be exported by ecpglib DLL ECPGallocate_desc 1 ECPGconnect 2 @@ -26,3 +26,4 @@ ECPGstatus 23 ECPGtrans 24 sqlprint 25 ECPGget_PGconn 26 +ECPGtransactionStatus 27 diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index f70e3734ba5..fafe9aceba8 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.51 2009/09/03 09:09:01 meskes Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.52 2009/09/18 13:13:32 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -170,6 +170,21 @@ ECPGstatus(int lineno, const char *connection_name) return (true); } +PGTransactionStatusType +ECPGtransactionStatus(const char *connection_name) +{ + const struct connection *con; + + con = ecpg_get_connection(connection_name); + if (con == NULL) { + /* transaction status is unknown */ + return PQTRANS_UNKNOWN; + } + + return PQtransactionStatus(con->connection); + +} + bool ECPGtrans(int lineno, const char *connection_name, const char *transaction) { diff --git a/src/interfaces/ecpg/include/ecpglib.h b/src/interfaces/ecpg/include/ecpglib.h index eb7c5f86370..bbb81783051 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.79 2009/06/11 14:49:13 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpglib.h,v 1.80 2009/09/18 13:13:32 meskes Exp $ */ #ifndef _ECPGLIB_H @@ -59,7 +59,7 @@ 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 *); - +PGTransactionStatusType ECPGtransactionStatus(const char *); char *ECPGerrmsg(void); |