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 по дате отправления: