Patch for better large objects support - Mailing list pgsql-patches

From Denis Perchine
Subject Patch for better large objects support
Date
Msg-id 00061219332103.27884@dyp
Whole thread Raw
List pgsql-patches
Hello all,

Here is a patch attached which implement the following strategy of large object handling:
1. There's new system table: pg_largeobject.
2. All large objects are stored inside files not relations.
3. Large objects stored in dir $PGDATA/base/$DATABASE/lo in hashed dirs.
Hashing density can be tuned in config.h.in.
4. For search in pg_largeobject we always use index scan.

That's all. This strategy is better than existing due to:
1. pg_class, pg_index, pg_attributes system tables are not bloated with large objects.
2. Hashing dir mechanism is faster than lots of files in one dir.
3. Files are much faster than relations. Also we save lots of space on indices.

What is not done:
1. Dirs are not removed if there's no any lo's inside. (Is it neccessary???)

--
Sincerely Yours,
Denis Perchine

----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------

Attachment

pgsql-patches by date:

Previous
From: Karel Zak
Date:
Subject: Re: pg_shadow change
Next
From: "David Reid"
Date:
Subject: BeOS Diff Take 3