Added operators and aggregates in search objects. Fixes #6974
parent
600690a789
commit
ca4d5d0ca4
|
@ -31,5 +31,6 @@ Bug fixes
|
|||
| `Issue #6940 <https://redmine.postgresql.org/issues/6940>`_ - Fixed an issue where user details are not shown when the non-admin user tries to connect to the shared server.
|
||||
| `Issue #6949 <https://redmine.postgresql.org/issues/6949>`_ - Ensure that dialog should be opened when clicking on Reassign/Drop owned menu.
|
||||
| `Issue #6954 <https://redmine.postgresql.org/issues/6954>`_ - Ensure that changing themes should work on Windows when system high contrast mode is enabled.
|
||||
| `Issue #6974 <https://redmine.postgresql.org/issues/6974>`_ - Added operators and aggregates in search objects.
|
||||
| `Issue #6976 <https://redmine.postgresql.org/issues/6976>`_ - Fixed an issue where textarea should be allowed to resize and have more than 255 chars.
|
||||
| `Issue #6988 <https://redmine.postgresql.org/issues/6988>`_ - Reset the layout if pgAdmin4 detects the layout is in an inconsistent state.
|
||||
|
|
|
@ -130,7 +130,7 @@ FROM (
|
|||
from pg_catalog.pg_proc p
|
||||
left join pg_catalog.pg_namespace n on p.pronamespace = n.oid
|
||||
left join pg_catalog.pg_type t on p.prorettype = t.oid
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }})
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }}) AND NOT p.proisagg
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
|
@ -500,6 +500,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -147,7 +147,7 @@ FROM (
|
|||
WHEN t.typname IN ('trigger', 'event_trigger') THEN lng.lanname NOT IN ('edbspl', 'sql', 'internal')
|
||||
ELSE true
|
||||
END
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }})
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }}) AND NOT p.proisagg
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
|
@ -516,6 +516,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -83,7 +83,7 @@ FROM (
|
|||
from pg_catalog.pg_proc p
|
||||
left join pg_catalog.pg_namespace n on p.pronamespace = n.oid
|
||||
left join pg_catalog.pg_type t on p.prorettype = t.oid
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }})
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }}) AND NOT p.proisagg
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
|
@ -370,6 +370,41 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
{% if not show_system_objects %}
|
||||
|
|
|
@ -83,7 +83,7 @@ FROM (
|
|||
from pg_catalog.pg_proc p
|
||||
left join pg_catalog.pg_namespace n on p.pronamespace = n.oid
|
||||
left join pg_catalog.pg_type t on p.prorettype = t.oid
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }})
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('n') }}) AND NOT p.proisagg
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
|
@ -357,6 +357,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n ON n.oid=c.collnamespace
|
||||
WHERE {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -164,7 +164,7 @@ FROM (
|
|||
ON t.oid = pr.prorettype left JOIN pg_catalog.pg_language l
|
||||
ON l.oid = pr.prolang
|
||||
WHERE NOT (t.typname = 'trigger' AND l.lanname = 'edbspl')
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }})
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }}) AND NOT pr.proisagg
|
||||
) fd
|
||||
{% if not all_obj %}
|
||||
WHERE fd.obj_type = '{{ obj_type }}'
|
||||
|
@ -577,6 +577,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -164,7 +164,7 @@ FROM (
|
|||
ON t.oid = pr.prorettype left JOIN pg_catalog.pg_language l
|
||||
ON l.oid = pr.prolang
|
||||
WHERE NOT (t.typname = 'trigger' AND l.lanname = 'edbspl')
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }})
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }}) AND NOT pr.proisagg
|
||||
) fd
|
||||
{% if not all_obj %}
|
||||
WHERE fd.obj_type = '{{ obj_type }}'
|
||||
|
@ -586,6 +586,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -117,7 +117,7 @@ FROM (
|
|||
ON t.oid = pr.prorettype left JOIN pg_catalog.pg_language l
|
||||
ON l.oid = pr.prolang
|
||||
WHERE NOT (t.typname = 'trigger' AND l.lanname = 'edbspl')
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }})
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }}) AND NOT pr.proisagg
|
||||
) fd
|
||||
{% if not all_obj %}
|
||||
WHERE fd.obj_type = '{{ obj_type }}'
|
||||
|
@ -445,6 +445,40 @@ FROM (
|
|||
JOIN pg_catalog.pg_namespace n on t.relnamespace = n.oid
|
||||
where {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
|
|
|
@ -117,7 +117,7 @@ FROM (
|
|||
ON t.oid = pr.prorettype left JOIN pg_catalog.pg_language l
|
||||
ON l.oid = pr.prolang
|
||||
WHERE NOT (t.typname = 'trigger' AND l.lanname = 'edbspl')
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }})
|
||||
AND ({{ CATALOGS.DB_SUPPORT('n') }} AND {{ CATALOGS.DB_SUPPORT('np') }}) AND NOT pr.proisagg
|
||||
) fd
|
||||
{% if not all_obj %}
|
||||
WHERE fd.obj_type = '{{ obj_type }}'
|
||||
|
@ -432,6 +432,41 @@ FROM (
|
|||
WHERE {{ CATALOGS.DB_SUPPORT('p') }}
|
||||
AND {{ CATALOGS.DB_SUPPORT('n') }}
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['aggregate'] %}
|
||||
SELECT 'aggregate' AS obj_type, pr.proname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':aggregate.' || ag.aggfnoid::oid ||':/' || pr.proname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['aggregate'] }} AS show_node, pg_catalog.pg_get_function_arguments(aggfnoid::oid) AS other_info
|
||||
FROM pg_aggregate ag
|
||||
LEFT OUTER JOIN pg_catalog.pg_proc pr ON pr.oid = ag.aggfnoid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=pr.pronamespace
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
{% if all_obj %}
|
||||
UNION
|
||||
{% endif %}
|
||||
{% if all_obj or obj_type in ['operator'] %}
|
||||
SELECT 'operator' AS obj_type, op.oprname AS obj_name,
|
||||
':schema.'|| ns.oid || ':/' || ns.nspname || '/' || ':operator.' || op.oid::oid ||':/' || op.oprname AS obj_path,
|
||||
ns.nspname AS schema_name,
|
||||
{{ show_node_prefs['operator'] }} AS show_node,
|
||||
CASE WHEN lt.typname IS NOT NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL) || ', ' || pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NULL AND rt.typname IS NOT NULL THEN
|
||||
pg_catalog.format_type(rt.oid, NULL)
|
||||
WHEN lt.typname IS NOT NULL AND rt.typname IS NULL THEN
|
||||
pg_catalog.format_type(lt.oid, NULL)
|
||||
ELSE '' END AS other_info
|
||||
FROM pg_catalog.pg_operator op
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=op.oprnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type lt ON lt.oid=op.oprleft
|
||||
LEFT OUTER JOIN pg_catalog.pg_type rt ON rt.oid=op.oprright
|
||||
WHERE ({{ CATALOGS.DB_SUPPORT('ns') }})
|
||||
{% endif %}
|
||||
|
||||
) sn
|
||||
where lower(sn.obj_name) like '%{{ search_text }}%'
|
||||
{% if not show_system_objects %}
|
||||
|
|
|
@ -44,7 +44,7 @@ class SearchObjectsHelper:
|
|||
'fts_configuration', 'extension', 'language',
|
||||
'event_trigger', 'foreign_server', 'user_mapping',
|
||||
'foreign_data_wrapper', 'row_security_policy',
|
||||
'publication', 'subscription'
|
||||
'publication', 'subscription', 'aggregate', 'operator'
|
||||
] if node_types is None else node_types
|
||||
|
||||
@property
|
||||
|
|
Loading…
Reference in New Issue