Also, tweak wording in comments (per Andres) and documentation (myself)
to point out that it's the database's default tablespace that can be
passed as 0, not DEFAULTTABLESPACE_OID. Robert Haas noticed the bug in
the code, but didn't update the accompanying prose.
<para>
<function>pg_filenode_relation</> is the reverse of
<function>pg_relation_filenode</>. Given a <quote>tablespace</> OID and
- a <quote>filenode</> it returns the associated relation. The default
- tablespace can be specified as 0.
+ a <quote>filenode</>, it returns the associated relation's OID. For a table
+ in the database's default tablespace, the tablespace can be specified as 0.
</para>
</sect2>
* Get the relation via (reltablespace, relfilenode)
*
* This is expected to be used when somebody wants to match an individual file
- * on the filesystem back to its table. Thats not trivially possible via
- * pg_class because that doesn't contain the relfilenodes of shared and nailed
+ * on the filesystem back to its table. That's not trivially possible via
+ * pg_class, because that doesn't contain the relfilenodes of shared and nailed
* tables.
*
* We don't fail but return NULL if we cannot find a mapping.
*
- * Instead of knowing DEFAULTTABLESPACE_OID you can pass 0.
+ * InvalidOid can be passed instead of the current database's default
+ * tablespace.
*/
Datum
pg_filenode_relation(PG_FUNCTION_ARGS)
while (HeapTupleIsValid(ntp = systable_getnext(scandesc)))
{
- bool isnull;
+ bool isnull PG_USED_FOR_ASSERTS_ONLY;
if (found)
elog(ERROR,