mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Revert "Reorganise jsonpath operators and methods"
This reverts commit 283a95da92
.
The reordering of JsonPathItemType affects the binary on-disk
compatibility of the jsonpath type, so we must not change it. Revert
for now and consider.
This commit is contained in:
@ -874,6 +874,33 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
}
|
||||
break;
|
||||
|
||||
case jpiAdd:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_add_opt_error, found);
|
||||
|
||||
case jpiSub:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_sub_opt_error, found);
|
||||
|
||||
case jpiMul:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_mul_opt_error, found);
|
||||
|
||||
case jpiDiv:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_div_opt_error, found);
|
||||
|
||||
case jpiMod:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_mod_opt_error, found);
|
||||
|
||||
case jpiPlus:
|
||||
return executeUnaryArithmExpr(cxt, jsp, jb, NULL, found);
|
||||
|
||||
case jpiMinus:
|
||||
return executeUnaryArithmExpr(cxt, jsp, jb, numeric_uminus,
|
||||
found);
|
||||
|
||||
case jpiFilter:
|
||||
{
|
||||
JsonPathBool st;
|
||||
@ -953,33 +980,6 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
}
|
||||
break;
|
||||
|
||||
case jpiAdd:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_add_opt_error, found);
|
||||
|
||||
case jpiPlus:
|
||||
return executeUnaryArithmExpr(cxt, jsp, jb, NULL, found);
|
||||
|
||||
case jpiSub:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_sub_opt_error, found);
|
||||
|
||||
case jpiMinus:
|
||||
return executeUnaryArithmExpr(cxt, jsp, jb, numeric_uminus,
|
||||
found);
|
||||
|
||||
case jpiMul:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_mul_opt_error, found);
|
||||
|
||||
case jpiDiv:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_div_opt_error, found);
|
||||
|
||||
case jpiMod:
|
||||
return executeBinaryArithmExpr(cxt, jsp, jb,
|
||||
numeric_mod_opt_error, found);
|
||||
|
||||
case jpiType:
|
||||
{
|
||||
JsonbValue *jbv = palloc(sizeof(*jbv));
|
||||
@ -1021,6 +1021,18 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
}
|
||||
break;
|
||||
|
||||
case jpiAbs:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_abs,
|
||||
found);
|
||||
|
||||
case jpiFloor:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_floor,
|
||||
found);
|
||||
|
||||
case jpiCeiling:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_ceil,
|
||||
found);
|
||||
|
||||
case jpiDouble:
|
||||
{
|
||||
JsonbValue jbv;
|
||||
@ -1086,18 +1098,6 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
}
|
||||
break;
|
||||
|
||||
case jpiAbs:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_abs,
|
||||
found);
|
||||
|
||||
case jpiCeiling:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_ceil,
|
||||
found);
|
||||
|
||||
case jpiFloor:
|
||||
return executeNumericItemMethod(cxt, jsp, jb, unwrap, numeric_floor,
|
||||
found);
|
||||
|
||||
case jpiDatetime:
|
||||
if (unwrap && JsonbType(jb) == jbvArray)
|
||||
return executeItemUnwrapTargetArray(cxt, jsp, jb, found, false);
|
||||
|
Reference in New Issue
Block a user