Re: BLOB / CLOB support in PostgreSQL - Mailing list pgsql-hackers

From Vladimir Sitnikov
Subject Re: BLOB / CLOB support in PostgreSQL
Date
Msg-id CAB=Je-GadTt1EJJ9Nxhkz6cDtj=1SxtRiKmRq1e8vTViGGEh9A@mail.gmail.com
Whole thread Raw
In response to BLOB / CLOB support in PostgreSQL  (Vladimir Sitnikov <sitnikov.vladimir@gmail.com>)
Responses Re: BLOB / CLOB support in PostgreSQL  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Re: BLOB / CLOB support in PostgreSQL  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
RE: BLOB / CLOB support in PostgreSQL  ("tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>)
List pgsql-hackers
Let me please bump the thread.

Just in case, I'm PgJDBC committer.

PgJDBC receives requests to "support CLOB" from time to time, however, I believe it is impossible without the support from the database.
To my best knowledge, the database does not have APIs for "streaming large text data".
The only "streaming large binary data" API I know is LargeObject which seems to be old-fashioned.

I believe Java is not the only client that wants streaming access for binary and text data.

Here's a recent pull request to PgJDBC https://github.com/pgjdbc/pgjdbc/pull/1892 where Andrew suggests to add BLOB/CLOB support via bytea/text,
and apparently, Andrew is surprised that the database lacks BLOB/CLOB support.

Any ideas on the way to proceed here?
I don't think it is right to implement Clob via text, especially in case the database provides its own "large text with streaming" datatype in the future.

The concerns to avoid "Clob maps to text" could be:
a) Once the behavior is implemented, it is hard to change. That is applications would rely on it (and it becomes a defacto standard), and it would be hard to move to the proper "text with streaming API" datatype.
b) If we make «clob is text», then people might start using update/substring APIs (which is the primary motivation for Clob) without realizing there’s full value update behind the scenes. Currently, they can use setString/getString for text, and it is crystal clear that the text is updated fully on every update.

Vladimir

pgsql-hackers by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Partition prune with stable Expr
Next
From: Alvaro Herrera
Date:
Subject: Re: a problem about XLogReader callback system