From 283a95da923605c1cc148155db2d865d0801b419 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 3 Jan 2024 11:25:33 +0100 Subject: 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 Discussion: https://www.postgresql.org/message-id/flat/CAM2+6=XjTyqrrqHAOj80r0wVQxJSxc0iyib9bPC55uFO9VKatg@mail.gmail.com --- src/include/utils/jsonpath.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/include/utils/jsonpath.h') 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 */ -- cgit v1.2.3