aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/jsonpath.h
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2024-01-03 11:25:33 +0100
committerPeter Eisentraut <peter@eisentraut.org>2024-01-03 11:25:33 +0100
commit283a95da923605c1cc148155db2d865d0801b419 (patch)
treeba18d24db7e71cab5ab8f6ce0224760e77a42fce /src/include/utils/jsonpath.h
parentc1b9e1e56d8c11a00869766a02de537d349586cd (diff)
downloadpostgresql-283a95da923605c1cc148155db2d865d0801b419.tar.gz
postgresql-283a95da923605c1cc148155db2d865d0801b419.zip
Reorganise jsonpath operators and methods
Various jsonpath operators and methods add various keywords, switch cases, and documentation entries in some order. However, they are not consistent; reorder them for better maintainability or readability. Author: Jeevan Chalke <jeevan.chalke@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/flat/CAM2+6=XjTyqrrqHAOj80r0wVQxJSxc0iyib9bPC55uFO9VKatg@mail.gmail.com
Diffstat (limited to 'src/include/utils/jsonpath.h')
-rw-r--r--src/include/utils/jsonpath.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/include/utils/jsonpath.h b/src/include/utils/jsonpath.h
index f0181e045f7..59dc233a08d 100644
--- a/src/include/utils/jsonpath.h
+++ b/src/include/utils/jsonpath.h
@@ -66,13 +66,6 @@ typedef enum JsonPathItemType
jpiGreater, /* expr > expr */
jpiLessOrEqual, /* expr <= expr */
jpiGreaterOrEqual, /* expr >= expr */
- jpiAdd, /* expr + expr */
- jpiSub, /* expr - expr */
- jpiMul, /* expr * expr */
- jpiDiv, /* expr / expr */
- jpiMod, /* expr % expr */
- jpiPlus, /* + expr */
- jpiMinus, /* - expr */
jpiAnyArray, /* [*] */
jpiAnyKey, /* .* */
jpiIndexArray, /* [subscript, ...] */
@@ -83,14 +76,28 @@ typedef enum JsonPathItemType
jpiVariable, /* $variable */
jpiFilter, /* ? (predicate) */
jpiExists, /* EXISTS (expr) predicate */
+
+ /*
+ * For better maintainability or readability, keep the order of the below
+ * jsonpath Operators and Methods at the other places, like in the
+ * documentation, switch() cases, keywords list, etc., too.
+ */
+ jpiAdd, /* expr + expr */
+ jpiPlus, /* + expr */
+ jpiSub, /* expr - expr */
+ jpiMinus, /* - expr */
+ jpiMul, /* expr * expr */
+ jpiDiv, /* expr / expr */
+ jpiMod, /* expr % expr */
jpiType, /* .type() item method */
jpiSize, /* .size() item method */
+ jpiDouble, /* .double() item method */
jpiAbs, /* .abs() item method */
- jpiFloor, /* .floor() item method */
jpiCeiling, /* .ceiling() item method */
- jpiDouble, /* .double() item method */
+ jpiFloor, /* .floor() item method */
jpiDatetime, /* .datetime() item method */
jpiKeyValue, /* .keyvalue() item method */
+
jpiSubscript, /* array subscript: 'expr' or 'expr TO expr' */
jpiLast, /* LAST array subscript */
jpiStartsWith, /* STARTS WITH predicate */