| From: | Hannu Krosing <hannu(at)tm(dot)ee> | 
|---|---|
| To: | Dennis Bjorklund <db(at)zigo(dot)dhs(dot)org> | 
| Cc: | Joe Conway <mail(at)joeconway(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: random access - bytea | 
| Date: | 2003-10-26 14:56:12 | 
| Message-ID: | 1067180172.2604.6.camel@fuji.krosing.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Dennis Bjorklund kirjutas P, 26.10.2003 kell 07:30:
> On Sat, 25 Oct 2003, Joe Conway wrote:
> 
> > That will modify the bytea column so that it is stored uncompressed in 
> > the TOAST table.
> > 
> > Now, simply use substr() to grab any random chunk:
> > SELECT substr(foo_bytea, 20000, 100) from foo where foo_id = 42;
> 
> This would imply that every little read would have to do a scan on a table 
> to find the row and then to perform the substr. An open command can 
> be optimized a lot more, for example to cache entries that have been 
> opened so that it's fast to read the next 1kb or whatever you want.
> 
> Also, the above does not solve writes at all which can also be made 
> transaction safe and fast with a better api where you can update a part 
> of a field.
I brought it up once and Tom answered that TOAST tables are not
transaction aware, so you can't update just some parts of toasted
entities - you must always write the whole fields. So this will not be
just an api change.
> The above is not really a replacement of the current lo-objects.
True.
-------------
Hannu
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dennis Bjorklund | 2003-10-26 15:04:46 | Re: random access - bytea | 
| Previous Message | Dennis Bjorklund | 2003-10-26 14:38:35 | Re: random access - bytea |