Re: Question about duplicate JSONTYPE_JSON check

Поиск
Список
Период
Сортировка
От Tender Wang
Тема Re: Question about duplicate JSONTYPE_JSON check
Дата
Msg-id CAHewXNkAPk=pScrf6bT8cwqiZMM7RyaGHuSMGykKiWDHV6jkVQ@mail.gmail.com
обсуждение исходный текст
Ответ на Question about duplicate JSONTYPE_JSON check  (Maciek Sakrejda <maciek@pganalyze.com>)
Ответы Re: Question about duplicate JSONTYPE_JSON check
Список pgsql-hackers


Maciek Sakrejda <maciek@pganalyze.com> 于2025年3月11日周二 08:12写道:
While exploring the jsonb code, I noticed that in
datum_to_jsonb_internal, the tcategory checks compares against
JSONTYPE_JSON twice. There's no reason for that, right?

Yeah, the second JSONTYPE_JSON seems redundant.
 

...

Ok, so, to try to answer my own question, I went looking at the
history, and this comes from "Unify JSON categorize type API and
export for external use" [0]. Specifically, the change was

-            (tcategory == JSONBTYPE_ARRAY ||
-             tcategory == JSONBTYPE_COMPOSITE ||
-             tcategory == JSONBTYPE_JSON ||
-             tcategory == JSONBTYPE_JSONB ||
-             tcategory == JSONBTYPE_JSONCAST))
+            (tcategory == JSONTYPE_ARRAY ||
+             tcategory == JSONTYPE_COMPOSITE ||
+             tcategory == JSONTYPE_JSON ||
+             tcategory == JSONTYPE_JSONB ||
+             tcategory == JSONTYPE_JSON))

So "JSONBTYPE_JSONCAST" turned into "JSONTYPE_JSON". Should that have
been "JSONTYPE_CAST" (that seems to be the corresponding value in the
new enum) instead?

The below else branch has code if (tcategory == JSONTYPE_CAST). I guess here the
second JSONTYPE_JSON may just be removed.   
@Amit Langote please check out this.

--
Thanks,
Tender Wang

В списке pgsql-hackers по дате отправления: