From 721d34bebc88ef88a157e4b7f93a6d75fd7f0ece Mon Sep 17 00:00:00 2001 From: Christopher Kings-Lynne Date: Sun, 20 Mar 2005 02:46:02 +0000 Subject: [PATCH] Two of the diagnostic definitions were added in 8.0. Add appropriate #ifdefs. --- ext/pgsql/pgsql.c | 11 +++++++++-- ext/pgsql/tests/03sync_query.phpt | 10 ++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 9a9c81cbc6..abb6c1ba9a 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -491,8 +491,12 @@ PHP_MINIT_FUNCTION(pgsql) REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_DETAIL", PG_DIAG_MESSAGE_DETAIL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_HINT", PG_DIAG_MESSAGE_HINT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_DIAG_STATEMENT_POSITION", PG_DIAG_STATEMENT_POSITION, CONST_CS | CONST_PERSISTENT); +#ifdef PG_DIAG_INTERNAL_POSITION REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_POSITION", PG_DIAG_INTERNAL_POSITION, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef PG_DIAG_INTERNAL_QUERY REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_QUERY", PG_DIAG_INTERNAL_QUERY, CONST_CS | CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("PGSQL_DIAG_CONTEXT", PG_DIAG_CONTEXT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_FILE", PG_DIAG_SOURCE_FILE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_LINE", PG_DIAG_SOURCE_LINE, CONST_CS | CONST_PERSISTENT); @@ -3484,8 +3488,11 @@ PHP_FUNCTION(pg_result_error_field) RETURN_FALSE; } if (fieldcode & (PG_DIAG_SEVERITY|PG_DIAG_SQLSTATE|PG_DIAG_MESSAGE_PRIMARY|PG_DIAG_MESSAGE_DETAIL - |PG_DIAG_MESSAGE_HINT|PG_DIAG_STATEMENT_POSITION|PG_DIAG_INTERNAL_POSITION - |PG_DIAG_INTERNAL_QUERY|PG_DIAG_CONTEXT|PG_DIAG_SOURCE_FILE|PG_DIAG_SOURCE_LINE + |PG_DIAG_MESSAGE_HINT|PG_DIAG_STATEMENT_POSITION +#ifdef PG_DIAG_INTERNAL_POSITION && PG_DIAG_INTERNAL_QUERY + |PG_DIAG_INTERNAL_POSITION|PG_DIAG_INTERNAL_QUERY +#endif + |PG_DIAG_CONTEXT|PG_DIAG_SOURCE_FILE|PG_DIAG_SOURCE_LINE |PG_DIAG_SOURCE_FUNCTION)) { field = (char *)PQresultErrorField(pgsql_result, fieldcode); if (field == NULL) { diff --git a/ext/pgsql/tests/03sync_query.phpt b/ext/pgsql/tests/03sync_query.phpt index a2ea7de4e9..8a61496e00 100644 --- a/ext/pgsql/tests/03sync_query.phpt +++ b/ext/pgsql/tests/03sync_query.phpt @@ -38,8 +38,14 @@ pg_result_error_field($result, PGSQL_DIAG_MESSAGE_PRIMARY); pg_result_error_field($result, PGSQL_DIAG_MESSAGE_DETAIL); pg_result_error_field($result, PGSQL_DIAG_MESSAGE_HINT); pg_result_error_field($result, PGSQL_DIAG_STATEMENT_POSITION); -pg_result_error_field($result, PGSQL_DIAG_INTERNAL_POSITION); -pg_result_error_field($result, PGSQL_DIAG_INTERNAL_QUERY); +if (defined('PGSQL_DIAG_INTERNAL_POSITION')) +{ + pg_result_error_field($result, PGSQL_DIAG_INTERNAL_POSITION); +} +if (defined('PGSQL_DIAG_INTERNAL_QUERY')) +{ + pg_result_error_field($result, PGSQL_DIAG_INTERNAL_QUERY); +} pg_result_error_field($result, PGSQL_DIAG_CONTEXT); pg_result_error_field($result, PGSQL_DIAG_SOURCE_FILE); pg_result_error_field($result, PGSQL_DIAG_SOURCE_LINE); -- 2.50.1