From dc90da58c2ef23181be4bc51e77be3e5ce4dae98 Mon Sep 17 00:00:00 2001 From: Yurii Rashkovskii Date: Fri, 28 Jun 2024 07:50:20 -0700 Subject: [PATCH] Problem: `xpath` symbol conflict with `postgres` binary Solution: rename the internal function name --- extensions/omni_xml/CHANGELOG.md | 22 ++++++++++++++++++++++ extensions/omni_xml/migrate/1_xpath.sql | 10 +--------- extensions/omni_xml/omni_xml.cc | 4 ++-- extensions/omni_xml/src/xpath.sql | 10 ++++++++++ versions.txt | 2 +- 5 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 extensions/omni_xml/CHANGELOG.md create mode 100644 extensions/omni_xml/src/xpath.sql diff --git a/extensions/omni_xml/CHANGELOG.md b/extensions/omni_xml/CHANGELOG.md new file mode 100644 index 0000000000..5a3e407e6d --- /dev/null +++ b/extensions/omni_xml/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres +to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.1.1] - 2024-06-28 + +### Fixed + +* Fixed `xpath` symbol conflict [#566]: [https://github.com/omnigres/omnigres/pull/566] + +## [0.1.0] - 2024-03-05 + +Initial release following a few months of iterative development. + +[Unreleased]: https://github.com/omnigres/omnigres/commits/next/omni_httpd + +[0.1.0]: [https://github.com/omnigres/omnigres/pull/511] + +[0.1.1]: [https://github.com/omnigres/omnigres/pull/566] diff --git a/extensions/omni_xml/migrate/1_xpath.sql b/extensions/omni_xml/migrate/1_xpath.sql index efc8507267..c2be5298d4 100644 --- a/extensions/omni_xml/migrate/1_xpath.sql +++ b/extensions/omni_xml/migrate/1_xpath.sql @@ -1,9 +1 @@ -create function xpath(document text, query text) - returns table - ( - path text, - value text - ) - language c -as -'MODULE_PATHNAME'; \ No newline at end of file +/*{% include "../src/xpath.sql" %}*/ \ No newline at end of file diff --git a/extensions/omni_xml/omni_xml.cc b/extensions/omni_xml/omni_xml.cc index 793f6524c8..adc2b23294 100644 --- a/extensions/omni_xml/omni_xml.cc +++ b/extensions/omni_xml/omni_xml.cc @@ -84,6 +84,6 @@ extern "C" { void _PG_init() { init(); } -PG_FUNCTION_INFO_V1(xpath); -Datum xpath(PG_FUNCTION_ARGS) { return xpath_impl(fcinfo); } +PG_FUNCTION_INFO_V1(xpath_fn); +Datum xpath_fn(PG_FUNCTION_ARGS) { return xpath_impl(fcinfo); } } diff --git a/extensions/omni_xml/src/xpath.sql b/extensions/omni_xml/src/xpath.sql new file mode 100644 index 0000000000..177d2c3366 --- /dev/null +++ b/extensions/omni_xml/src/xpath.sql @@ -0,0 +1,10 @@ +create function xpath(document text, query text) + returns table + ( + path text, + value text + ) + language c +as +'MODULE_PATHNAME', +'xpath_fn'; \ No newline at end of file diff --git a/versions.txt b/versions.txt index 11c9cd27b6..d5d9a62bdb 100644 --- a/versions.txt +++ b/versions.txt @@ -18,4 +18,4 @@ omni_var=0.1.0 omni_vfs_types_v1=0.1.0 omni_vfs=0.1.1 omni_web=0.1.0 -omni_xml=0.1.0 +omni_xml=0.1.1