There seems to be some base bug in _hash_doinsert(). + * XXX this is useless code if we are only storing hash keys.
+ */ + if (itemsz > HashMaxItemSize((Page) metap)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("index row size %zu exceeds hash maximum %zu", + itemsz, HashMaxItemSize((Page) metap)), + errhint("Values larger than a buffer page cannot be indexed."))); "metap" (HashMetaPage) is not a Page (they the entirely different structure), so above casting is not legal. Added a patch to correct same by passing actual Page which stores "HashMetaPage". -- Thanks and Regards Mithun C Y EnterpriseDB: http://www.enterprisedb.com
hash_doinsert_illegal_cast_01.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers