diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/adt/jsonb_util.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c index 806d1aa3a98..773f3690c7b 100644 --- a/src/backend/utils/adt/jsonb_util.c +++ b/src/backend/utils/adt/jsonb_util.c @@ -246,6 +246,13 @@ compareJsonbContainers(JsonbContainer *a, JsonbContainer *b) */ if (va.val.array.rawScalar != vb.val.array.rawScalar) res = (va.val.array.rawScalar) ? -1 : 1; + + /* + * There should be an "else" here, to prevent us from + * overriding the above, but we can't change the sort + * order now, so there is a mild anomaly that an empty + * top level array sorts less than null. + */ if (va.val.array.nElems != vb.val.array.nElems) res = (va.val.array.nElems > vb.val.array.nElems) ? 1 : -1; break; |