From 68c1d7d42e553682f1d2723e623b6a3a4b02c75f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 19 Nov 2015 14:54:05 -0500 Subject: Dodge a macro-name conflict with Perl. Some versions of Perl export a macro named HS_KEY. This creates a conflict in contrib/hstore_plperl against hstore's macro of the same name. The most future-proof solution seems to be to rename our macro; I chose HSTORE_KEY. For consistency, rename HS_VAL and related macros similarly. Back-patch to 9.5. contrib/hstore_plperl doesn't exist before that so there is no need to worry about the conflict in older releases. Per reports from Marco Atzeri and Mike Blackwell. --- contrib/hstore_plpython/hstore_plpython.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'contrib/hstore_plpython/hstore_plpython.c') diff --git a/contrib/hstore_plpython/hstore_plpython.c b/contrib/hstore_plpython/hstore_plpython.c index a3316dd9eb1..6f2751a8df4 100644 --- a/contrib/hstore_plpython/hstore_plpython.c +++ b/contrib/hstore_plpython/hstore_plpython.c @@ -25,14 +25,16 @@ hstore_to_plpython(PG_FUNCTION_ARGS) { PyObject *key; - key = PyString_FromStringAndSize(HS_KEY(entries, base, i), HS_KEYLEN(entries, i)); - if (HS_VALISNULL(entries, i)) + key = PyString_FromStringAndSize(HSTORE_KEY(entries, base, i), + HSTORE_KEYLEN(entries, i)); + if (HSTORE_VALISNULL(entries, i)) PyDict_SetItem(dict, key, Py_None); else { PyObject *value; - value = PyString_FromStringAndSize(HS_VAL(entries, base, i), HS_VALLEN(entries, i)); + value = PyString_FromStringAndSize(HSTORE_VAL(entries, base, i), + HSTORE_VALLEN(entries, i)); PyDict_SetItem(dict, key, value); Py_XDECREF(value); } -- cgit v1.2.3