/* pgsql-error.h -- PostgreSQL database driver for eurephia * * GPLv2 only - Copyright (C) 2012 * David Sommerseth * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; version 2 * of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ /** * @file pgsql-error.h * @author David Sommerseth * @date 2012-01-15 * * @brief eurephia database driver for the PostgreSQL database. * Shared functions for the PostgreSQL driver * */ #ifndef _PGSQL_ERROR_H #define _PGSQL_ERROR_H #include #ifdef HAVE_LIBXML2 #include #endif #include #include "prepared-sql.h" char *ePGgetValue(PGresult *res, int row, int col); int ePGgetValue_bool(PGresult *res, int row, int col); #define ePGerrorMessage(ctx, dbr, logdst, loglvl, prepid, fmt...) __ePGerrorMessage(ctx, dbr, logdst,loglvl, prepid, __FILE__, __LINE__, ## fmt) void __ePGerrorMessage(eurephiaCTX *ctx, PGresult *dbr, int logdst, int loglvl, ePG_prepID prepid, const char *errfile, const long errline, const char *fmt, ...); #ifdef HAVE_LIBXML2 #define ePGerrorMessageXML(ctx, dbr, logdst, prepid) __ePGerrorMessageXML(ctx, dbr, logdst, prepid, __FILE__, __LINE__) xmlNode * __ePGerrorMessageXML(eurephiaCTX *ctx, PGresult *dbr, int logdst, ePG_prepID prepid, const char *errfile, const long errline); #endif #endif