aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2022-09-28 08:02:30 -0400
committerRobert Haas <rhaas@postgresql.org>2022-09-28 08:04:49 -0400
commit6af082723277eeca74f2da65e7759666bf7c7f9c (patch)
tree35f55c828ea8f33e7d77b531bdc463cda3d543ba
parent0222be137188ac3912d244d832a328be0944f3e9 (diff)
downloadpostgresql-6af082723277eeca74f2da65e7759666bf7c7f9c.tar.gz
postgresql-6af082723277eeca74f2da65e7759666bf7c7f9c.zip
Fix InitializeRelfilenumberMap for 05d4cbf9b6ba708858984b01ca0fc56d59d4ec7c
Since relfilenodes are now 56-bits, we use bigint as the SQL type to represent them, which means F_INT8EQ must be used here rather than F_OIDEQ. On 64-bit machines this doesn't matter, but 32-bit machines are unhappy. Dilip Kumar Discussion: http://postgr.es/m/CAFiTN-t71ciSckMzixAhrF9py7oRO6xszKi4mTRwjuucXr5tpw@mail.gmail.com
-rw-r--r--src/backend/utils/cache/relfilenumbermap.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/utils/cache/relfilenumbermap.c b/src/backend/utils/cache/relfilenumbermap.c
index 2e0acf98f20..11427ba97eb 100644
--- a/src/backend/utils/cache/relfilenumbermap.c
+++ b/src/backend/utils/cache/relfilenumbermap.c
@@ -88,7 +88,6 @@ static void
InitializeRelfilenumberMap(void)
{
HASHCTL ctl;
- int i;
/* Make sure we've initialized CacheMemoryContext. */
if (CacheMemoryContext == NULL)
@@ -97,17 +96,20 @@ InitializeRelfilenumberMap(void)
/* build skey */
MemSet(&relfilenumber_skey, 0, sizeof(relfilenumber_skey));
- for (i = 0; i < 2; i++)
- {
- fmgr_info_cxt(F_OIDEQ,
- &relfilenumber_skey[i].sk_func,
- CacheMemoryContext);
- relfilenumber_skey[i].sk_strategy = BTEqualStrategyNumber;
- relfilenumber_skey[i].sk_subtype = InvalidOid;
- relfilenumber_skey[i].sk_collation = InvalidOid;
- }
-
+ fmgr_info_cxt(F_OIDEQ,
+ &relfilenumber_skey[0].sk_func,
+ CacheMemoryContext);
+ relfilenumber_skey[0].sk_strategy = BTEqualStrategyNumber;
+ relfilenumber_skey[0].sk_subtype = InvalidOid;
+ relfilenumber_skey[0].sk_collation = InvalidOid;
relfilenumber_skey[0].sk_attno = Anum_pg_class_reltablespace;
+
+ fmgr_info_cxt(F_INT8EQ,
+ &relfilenumber_skey[1].sk_func,
+ CacheMemoryContext);
+ relfilenumber_skey[1].sk_strategy = BTEqualStrategyNumber;
+ relfilenumber_skey[1].sk_subtype = InvalidOid;
+ relfilenumber_skey[1].sk_collation = InvalidOid;
relfilenumber_skey[1].sk_attno = Anum_pg_class_relfilenode;
/*