JSON type unsupported

Started by Erki Eessaarover 2 years ago5 messagesdocs
Jump to latest
#1Erki Eessaar
erki.eessaar@taltech.ee

Hello

According to Appendix D. SQL Conformance

https://www.postgresql.org/docs/current/unsupported-features-sql-standard.html

the feature T801 JSON data type is unsupported. However, PostgreSQL has data types JSON and JSONB. Here (http://peter.eisentraut.org/blog/2023/04/18/postgresql-and-sql-2023) it is also said that T801 is supported.

Perhaps there are some technical details that I am not aware of. However, I wanted to point this out.

Best regards
Erki Eessaar

#2Vik Fearing
vik@postgresfriends.org
In reply to: Erki Eessaar (#1)
Re: JSON type unsupported

On 9/26/23 11:33, Erki Eessaar wrote:

Hello

According to Appendix D. SQL Conformance

https://www.postgresql.org/docs/current/unsupported-features-sql-standard.html

the feature T801 JSON data type is unsupported. However, PostgreSQL has data types JSON and JSONB. Here (http://peter.eisentraut.org/blog/2023/04/18/postgresql-and-sql-2023) it is also said that T801 is supported.

Perhaps there are some technical details that I am not aware of. However, I wanted to point this out.

Thank you for pointing this out. Peter's blog is slightly misleading in
that we do have the JSON data type, but the T801 feature is far from
complete.

For example, we do not have the JSON_SERIALIZE(), JSON()[1]This is a fully specified parsing function, not just a cast like we have today. -- Vik Fearing,
JSON_SCALAR() functions. We don't have the IS JSON predicate, or a few
other things hiding behind T801.

All in all, I would not say we support the JSON data type the way the
standard intends, and therefore we should not claim to support T801.

[1]: This is a fully specified parsing function, not just a cast like we have today. -- Vik Fearing
have today.
--
Vik Fearing

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Vik Fearing (#2)
Re: JSON type unsupported

Vik Fearing <vik@postgresfriends.org> writes:

Thank you for pointing this out. Peter's blog is slightly misleading in
that we do have the JSON data type, but the T801 feature is far from
complete.

For example, we do not have the JSON_SERIALIZE(), JSON()[1],
JSON_SCALAR() functions. We don't have the IS JSON predicate, or a few
other things hiding behind T801.

All in all, I would not say we support the JSON data type the way the
standard intends, and therefore we should not claim to support T801.

Agreed, but should we say "partial support", as we do for some other
feature identifiers?

regards, tom lane

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Vik Fearing (#2)
Re: JSON type unsupported

On 26.09.23 17:31, Vik Fearing wrote:

For example, we do not have the JSON_SERIALIZE(), JSON()[1],
JSON_SCALAR() functions.  We don't have the IS JSON predicate, or a few
other things hiding behind T801.

AFAICT, commit 03734a7fed, which is new in master, adds exactly those,
so maybe we could toggle this feature to supported?

#5Vik Fearing
vik@postgresfriends.org
In reply to: Peter Eisentraut (#4)
Re: JSON type unsupported

On 10/6/23 11:57, Peter Eisentraut wrote:

On 26.09.23 17:31, Vik Fearing wrote:

For example, we do not have the JSON_SERIALIZE(), JSON()[1],
JSON_SCALAR() functions.  We don't have the IS JSON predicate, or a
few other things hiding behind T801.

AFAICT, commit 03734a7fed, which is new in master, adds exactly those,
so maybe we could toggle this feature to supported?

That is better than before, but even those functions are not complete.
I am okay with flipping to supported but with a note saying there are
many subfeatures missing.
--
Vik Fearing