[RFC] Comments on PostPic project - Repost
От | Domenico Rotiroti |
---|---|
Тема | [RFC] Comments on PostPic project - Repost |
Дата | |
Msg-id | 11f931f91003160137w3b6a7af6p175b451f2602138d@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: [RFC] Comments on PostPic project - Repost
|
Список | pgsql-hackers |
I had no answer from <span class="hb"><span class="g2">pgsql-general, so I'm reposting here.</span></span><br /><br />Hello,<br/>I would like to receive comments/suggestions about this project: <a href="http://github.com/drotiro/postpic"target="_blank">http://github.com/drotiro/postpic</a>.<br /><br />In short, it'san extension that enables image processing within the database, adding a new type (image) and several functions.<br />The SQL and Java interfaces are documented on the project's wiki, so I'm not talking about these here, but instead presentsome detail on the datatype's implementation.<br /><br /> The image is represented by a struct containing some attributes(dimensions, some exif tag: shoot date, exposure time...) and a large object holding the actual image data. <br/>The idea is to have attributes stored directly to allow for efficient searching, while the large object seemed a reasonablechoice to store the possibly large image data (what are the LOBs for?).<br /> With the current large objects implementation,when a new lo is created it "lives" in the pg_largeobjects table, until someone calls lo_unlink on it. Inmy case: I create the lo on behalf of the user, then store its oid in the image's internal representation. At this point,the image can be inserted in a table, processed and so on, but when it gets deleted the corresponding lo remains dangling,unless someone or something (eg. a trigger) takes care on destroying it.<br /> Is there a way of placing some kindof hook on an object's deletion? A clean way to do a reference counting on large objects?<br />To avoid polluting pg_largeobjects,almost all of the image processing functions in PostPic return a 'temporary_image' object, which is justan alias on bytea. (Btw: I defined it using a DOMAIN. A better way?). Temporary images can be converted back to imageswhen needed via a cast (often there is a variant of the function doing this automatically).<br /><br />Thanks in advancefor your suggestions and contribution,<br /><font color="#888888">Domenico.</font>
В списке pgsql-hackers по дате отправления: