From 47e45ce7aac8d47c0aa4a563ebe4663d0fc56441 Mon Sep 17 00:00:00 2001 From: Nikita Glukhov Date: Sat, 12 Nov 2016 18:59:43 +0300 Subject: [PATCH 3/6] Add symbolic names for some jsonb operators --- src/include/catalog/pg_operator.dat | 45 +++++++++++++++++------------ 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/include/catalog/pg_operator.dat b/src/include/catalog/pg_operator.dat index 2bc7cc35484..c0ff8da722c 100644 --- a/src/include/catalog/pg_operator.dat +++ b/src/include/catalog/pg_operator.dat @@ -2067,7 +2067,7 @@ { oid => '1751', descr => 'negate', oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'numeric', oprresult => 'numeric', oprcode => 'numeric_uminus' }, -{ oid => '1752', descr => 'equal', +{ oid => '1752', oid_symbol => 'NumericEqOperator', descr => 'equal', oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'numeric', oprright => 'numeric', oprresult => 'bool', oprcom => '=(numeric,numeric)', oprnegate => '<>(numeric,numeric)', oprcode => 'numeric_eq', @@ -2077,7 +2077,7 @@ oprresult => 'bool', oprcom => '<>(numeric,numeric)', oprnegate => '=(numeric,numeric)', oprcode => 'numeric_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1754', descr => 'less than', +{ oid => '1754', oid_symbol => 'NumericLtOperator', descr => 'less than', oprname => '<', oprleft => 'numeric', oprright => 'numeric', oprresult => 'bool', oprcom => '>(numeric,numeric)', oprnegate => '>=(numeric,numeric)', oprcode => 'numeric_lt', @@ -3172,70 +3172,77 @@ { oid => '3967', descr => 'get value from json as text with path elements', oprname => '#>>', oprleft => 'json', oprright => '_text', oprresult => 'text', oprcode => 'json_extract_path_text' }, -{ oid => '3211', descr => 'get jsonb object field', +{ oid => '3211', oid_symbol => 'JsonbObjectFieldOperator', + descr => 'get jsonb object field', oprname => '->', oprleft => 'jsonb', oprright => 'text', oprresult => 'jsonb', oprcode => 'jsonb_object_field' }, -{ oid => '3477', descr => 'get jsonb object field as text', +{ oid => '3477', oid_symbol => 'JsonbObjectFieldTextOperator', + descr => 'get jsonb object field as text', oprname => '->>', oprleft => 'jsonb', oprright => 'text', oprresult => 'text', oprcode => 'jsonb_object_field_text' }, -{ oid => '3212', descr => 'get jsonb array element', +{ oid => '3212', oid_symbol => 'JsonbArrayElementOperator', + descr => 'get jsonb array element', oprname => '->', oprleft => 'jsonb', oprright => 'int4', oprresult => 'jsonb', oprcode => 'jsonb_array_element' }, -{ oid => '3481', descr => 'get jsonb array element as text', +{ oid => '3481', oid_symbol => 'JsonbArrayElementTextOperator', + descr => 'get jsonb array element as text', oprname => '->>', oprleft => 'jsonb', oprright => 'int4', oprresult => 'text', oprcode => 'jsonb_array_element_text' }, -{ oid => '3213', descr => 'get value from jsonb with path elements', +{ oid => '3213', oid_symbol => 'JsonbExtractPathOperator', + descr => 'get value from jsonb with path elements', oprname => '#>', oprleft => 'jsonb', oprright => '_text', oprresult => 'jsonb', oprcode => 'jsonb_extract_path' }, -{ oid => '3206', descr => 'get value from jsonb as text with path elements', +{ oid => '3206', oid_symbol => 'JsonbExtractPathTextOperator', + descr => 'get value from jsonb as text with path elements', oprname => '#>>', oprleft => 'jsonb', oprright => '_text', oprresult => 'text', oprcode => 'jsonb_extract_path_text' }, -{ oid => '3240', descr => 'equal', +{ oid => '3240', oid_symbol => 'JsonbEqOperator', descr => 'equal', oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '=(jsonb,jsonb)', oprnegate => '<>(jsonb,jsonb)', oprcode => 'jsonb_eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3241', descr => 'not equal', +{ oid => '3241', oid_symbol => 'JsonbNeOperator', descr => 'not equal', oprname => '<>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '<>(jsonb,jsonb)', oprnegate => '=(jsonb,jsonb)', oprcode => 'jsonb_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3242', descr => 'less than', +{ oid => '3242', oid_symbol => 'JsonbLtOperator', descr => 'less than', oprname => '<', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '>(jsonb,jsonb)', oprnegate => '>=(jsonb,jsonb)', oprcode => 'jsonb_lt', oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3243', descr => 'greater than', +{ oid => '3243', oid_symbol => 'JsonbGtOperator', descr => 'greater than', oprname => '>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '<(jsonb,jsonb)', oprnegate => '<=(jsonb,jsonb)', oprcode => 'jsonb_gt', oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3244', descr => 'less than or equal', +{ oid => '3244', oid_symbol => 'JsonbLeOperator', descr => 'less than or equal', oprname => '<=', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '>=(jsonb,jsonb)', oprnegate => '>(jsonb,jsonb)', oprcode => 'jsonb_le', oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3245', descr => 'greater than or equal', +{ oid => '3245', oid_symbol => 'JsonbGeOperator', + descr => 'greater than or equal', oprname => '>=', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '<=(jsonb,jsonb)', oprnegate => '<(jsonb,jsonb)', oprcode => 'jsonb_ge', oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '3246', descr => 'contains', +{ oid => '3246', oid_symbol => 'JsonbContainsOperator', descr => 'contains', oprname => '@>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '<@(jsonb,jsonb)', oprcode => 'jsonb_contains', oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3247', descr => 'key exists', +{ oid => '3247', oid_symbol => 'JsonbExistsOperator', descr => 'key exists', oprname => '?', oprleft => 'jsonb', oprright => 'text', oprresult => 'bool', oprcode => 'jsonb_exists', oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3248', descr => 'any key exists', +{ oid => '3248', oid_symbol => 'JsonbExistsAnyOperator', descr => 'any key exists', oprname => '?|', oprleft => 'jsonb', oprright => '_text', oprresult => 'bool', oprcode => 'jsonb_exists_any', oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3249', descr => 'all keys exist', +{ oid => '3249', oid_symbol => 'JsonbExistsAllOperator', descr => 'all keys exist', oprname => '?&', oprleft => 'jsonb', oprright => '_text', oprresult => 'bool', oprcode => 'jsonb_exists_all', oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3250', descr => 'is contained by', +{ oid => '3250', oid_symbol => 'JsonbContainedOperator', descr => 'is contained by', oprname => '<@', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', oprcom => '@>(jsonb,jsonb)', oprcode => 'jsonb_contained', oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -- 2.31.1