From 70c27bbe0cad509fb609c622a28643ced8a0f1ad Mon Sep 17 00:00:00 2001 From: Moritz-Langer Date: Tue, 5 Aug 2025 14:58:12 +0200 Subject: [PATCH 1/3] Added documentation for extra_params within the oracle provider --- docs/source/data-publishing/ogcapi-features.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/source/data-publishing/ogcapi-features.rst b/docs/source/data-publishing/ogcapi-features.rst index 11f3098dc..d78dc827f 100644 --- a/docs/source/data-publishing/ogcapi-features.rst +++ b/docs/source/data-publishing/ogcapi-features.rst @@ -558,12 +558,18 @@ The ``ORACLE_POOL_MIN`` and ``ORACLE_POOL_MAX`` environment variables are used t If none or only one of the environment variables is set, session pooling will not be activated and standalone connections are established at every request. +Extra_params +""""""""""""""""""""""""""""" +The oracle provider allows for additional parameters that can be passed in the request. It allows for the processing of additional parameters that are not defined in the ``pygeoapi-config.yml`` to be passed to a custom SQL-Manipulator-Plugin. An example use case of this is advanced filtering without exposing the filtered columns like follows ``.../collections/some_data/items?is_recent=true``. The ``SqlManipulator`` plugin's ``process_query`` method would receive ``extra_params = {'is_recent': 'true'}`` and could dynamically add a custom condition to the SQL query, like ``AND SYSDATE - create_date < 30``. + + + Custom SQL Manipulator Plugin """"""""""""""""""""""""""""" The provider supports a SQL-Manipulator-Plugin class. With this, the SQL statement could be manipulated. This is useful e.g. for authorization at row level or manipulation of the explain plan with hints. -An example an more information about that feature you can find in the test class in tests/test_oracle_provider.py. +An example and more information about that feature can be found in the test class in tests/test_oracle_provider.py. .. _Parquet: From a1904278d5f75f860e27c74acbb369d803dd52ac Mon Sep 17 00:00:00 2001 From: Moritz-Langer Date: Tue, 5 Aug 2025 16:01:17 +0200 Subject: [PATCH 2/3] Referenced the necessity of include_extra_query_parameters true for the functioning of extra_params --- docs/source/data-publishing/ogcapi-features.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/data-publishing/ogcapi-features.rst b/docs/source/data-publishing/ogcapi-features.rst index d78dc827f..8c9012c5c 100644 --- a/docs/source/data-publishing/ogcapi-features.rst +++ b/docs/source/data-publishing/ogcapi-features.rst @@ -561,7 +561,7 @@ If none or only one of the environment variables is set, session pooling will no Extra_params """"""""""""""""""""""""""""" The oracle provider allows for additional parameters that can be passed in the request. It allows for the processing of additional parameters that are not defined in the ``pygeoapi-config.yml`` to be passed to a custom SQL-Manipulator-Plugin. An example use case of this is advanced filtering without exposing the filtered columns like follows ``.../collections/some_data/items?is_recent=true``. The ``SqlManipulator`` plugin's ``process_query`` method would receive ``extra_params = {'is_recent': 'true'}`` and could dynamically add a custom condition to the SQL query, like ``AND SYSDATE - create_date < 30``. - +The ``include_extra_query_parameters`` has to be set to ``true`` for the collection in the ``pygeoapi-config.yml``. This ensures that the additional request parameters (e.g. ``is_recent=true``) are not discarded. Custom SQL Manipulator Plugin From 727476108f79aad3ac76042e9883e4e9fb6bfb0c Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Tue, 5 Aug 2025 10:53:41 -0400 Subject: [PATCH 3/3] Update ogcapi-features.rst --- docs/source/data-publishing/ogcapi-features.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/source/data-publishing/ogcapi-features.rst b/docs/source/data-publishing/ogcapi-features.rst index 8c9012c5c..91e6e6b2f 100644 --- a/docs/source/data-publishing/ogcapi-features.rst +++ b/docs/source/data-publishing/ogcapi-features.rst @@ -559,9 +559,10 @@ If none or only one of the environment variables is set, session pooling will no Extra_params -""""""""""""""""""""""""""""" -The oracle provider allows for additional parameters that can be passed in the request. It allows for the processing of additional parameters that are not defined in the ``pygeoapi-config.yml`` to be passed to a custom SQL-Manipulator-Plugin. An example use case of this is advanced filtering without exposing the filtered columns like follows ``.../collections/some_data/items?is_recent=true``. The ``SqlManipulator`` plugin's ``process_query`` method would receive ``extra_params = {'is_recent': 'true'}`` and could dynamically add a custom condition to the SQL query, like ``AND SYSDATE - create_date < 30``. -The ``include_extra_query_parameters`` has to be set to ``true`` for the collection in the ``pygeoapi-config.yml``. This ensures that the additional request parameters (e.g. ``is_recent=true``) are not discarded. +"""""""""""" +The Oracle provider allows for additional parameters that can be passed in the request. It allows for the processing of additional parameters that are not defined in the ``pygeoapi-config.yml`` to be passed to a custom SQL-Manipulator-Plugin. An example use case of this is advanced filtering without exposing the filtered columns like follows ``.../collections/some_data/items?is_recent=true``. The ``SqlManipulator`` plugin's ``process_query`` method would receive ``extra_params = {'is_recent': 'true'}`` and could dynamically add a custom condition to the SQL query, like ``AND SYSDATE - create_date < 30``. + +The ``include_extra_query_parameters`` has to be set to ``true`` for the collection in ``pygeoapi-config.yml``. This ensures that the additional request parameters (e.g. ``is_recent=true``) are not discarded. Custom SQL Manipulator Plugin