On Wed, Mar 14, 2012 at 6:08 PM, Kevin Grittner <kevin.gritt...@wicourts.gov> wrote: > Tom Lane <t...@sss.pgh.pa.us> wrote: >> Another not-exactly-trivial requirement is to figure out how to >> not break on-disk compatibility when installing an alternative >> compression scheme. In hindsight it might've been a good idea if >> pglz_compress had wasted a little bit of space on some sort of >> version identifier ... but it didn't. > > Doesn't it always start with a header of two int32 values where the > first must be smaller than the second? That seems like enough to > get traction for an identifiably different header for an alternative > compression technique.
The first of those words is vl_len_, which we can't fiddle with too much, but the second is rawsize, which we can definitely fiddle with. Right now, rawsize < vl_len_ means it's compressed; and rawsize == vl_len_ means it's uncompressed. As you point out, rawsize > vl_len_ is undefined; also, and maybe simpler, rawsize < 0 is undefined. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers