> Subject: [PATCH v28 3/4] Add default_toast_compression GUC This part isn't working. My first patch worked somewhat better: due to doing strcmp() with the default GUC, it avoided using the cached AM OID. (But it would've failed with more than 2 AMs, since the cache wasn't invalidated, since I couldn't tell when it was needed).
Your patch does this: |postgres=# SET default_toast_compression=lz4 ; |postgres=# CREATE TABLE t(a text); |postgres=# \d+ t | a | text | | | | extended | pglz | | assign_default_toast_compression() should set default_toast_compression_oid=InvalidOid, rather than default_toast_compression=NULL. In my original patch, that was commented, since I was confused, not realizing that the GUC machinery itself assigns to the string value. We should assign to the cached Oid, instead. Reading my own patch, I see that in AccessMethodCallback() should also say InvalidOid. | default_toast_compression_oid = false; The false assignment was copied from namespace.c: baseSearchPathValid. -- Justin