From 5ce546f047f30d40b52ac647a5012a7f09b7e30d Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 7 Oct 2011 14:22:03 +0200 Subject: Introduce init_xmlparser() process This is the first step towards moving PostgreSQL specific parts out of xmlparser.c to make the xmlparser database backend agnostic. Signed-off-by: David Sommerseth --- server/parser/xmlparser.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'server/parser/xmlparser.h') diff --git a/server/parser/xmlparser.h b/server/parser/xmlparser.h index f903037..f2ce057 100644 --- a/server/parser/xmlparser.h +++ b/server/parser/xmlparser.h @@ -39,6 +39,15 @@ typedef struct { unsigned int rterid; /**< References rtevalruns.rterid */ } parseParams; + +/** + * Database specific helper functions + */ +typedef struct { + const char *(*dbh_FormatArray)(LogContext *log, xmlNode *sql_n); /** Formats data as arrays */ +} dbhelper_func; + +void init_xmlparser(dbhelper_func const * dbhelpers); xmlDoc *parseToSQLdata(LogContext *log, xsltStylesheet *xslt, xmlDoc *indata_d, parseParams *params); char *sqldataExtractContent(LogContext *log, xmlNode *sql_n); int sqldataGetFid(LogContext *log, xmlNode *sqld, const char *fname); -- cgit From a30e5a76d3e0c5096d729cb3929e5297d34dcf1d Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 7 Oct 2011 17:49:39 +0200 Subject: Moved PostgreSQL related array function into pgsql.c This is to put all PostgreSQL related functions in one place. Using the init_xmlparser() the function needed to format arrays are provided to the xmlparser code paths. Signed-off-by: David Sommerseth --- server/parser/xmlparser.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'server/parser/xmlparser.h') diff --git a/server/parser/xmlparser.h b/server/parser/xmlparser.h index f2ce057..79c79a1 100644 --- a/server/parser/xmlparser.h +++ b/server/parser/xmlparser.h @@ -44,10 +44,11 @@ typedef struct { * Database specific helper functions */ typedef struct { - const char *(*dbh_FormatArray)(LogContext *log, xmlNode *sql_n); /** Formats data as arrays */ + char *(*dbh_FormatArray)(LogContext *log, xmlNode *sql_n); /** Formats data as arrays */ } dbhelper_func; void init_xmlparser(dbhelper_func const * dbhelpers); +char * sqldataValueHash(LogContext *log, xmlNode *sql_n); xmlDoc *parseToSQLdata(LogContext *log, xsltStylesheet *xslt, xmlDoc *indata_d, parseParams *params); char *sqldataExtractContent(LogContext *log, xmlNode *sql_n); int sqldataGetFid(LogContext *log, xmlNode *sqld, const char *fname); @@ -55,4 +56,5 @@ char *sqldataGetValue(LogContext *log, xmlDoc *sqld, const char *fname, int reci xmlDoc *sqldataGetHostInfo(LogContext *log, xsltStylesheet *xslt, xmlDoc *summaryxml, int syskey, char **hostname, char **ipaddr); int sqldataGetRequiredSchemaVer(LogContext *log, xmlNode *sqldata_root); + #endif -- cgit