Add some internals documentation for hash indexes, including an explanation of the remarkably confusing page addressing scheme. The file also includes my planned-but-not-yet-implemented revision of the hash index locking scheme.
Add some internals documentation for hash indexes, including an
explanation of the remarkably confusing page addressing scheme.
The file also includes my planned-but-not-yet-implemented revision
of the hash index locking scheme.

adam8157/gpdb,lpetrov-pivotal/gpdb,zeroae/postgres-xl,edespino/gpdb,xinzweb/gpdb,cjcjameson/gpdb,atris/gpdb,cjcjameson/gpdb,CraigHarris/gpdb,jmcatamney/gpdb,lintzc/gpdb,zaksoup/gpdb,foyzur/gpdb,tangp3/gpdb,edespino/gpdb,rvs/gpdb,yuanzhao/gpdb,snaga/postgres-xl,CraigHarris/gpdb,Chibin/gpdb,arcivanov/postgres-xl,jmcatamney/gpdb,CraigHarris/gpdb,ovr/postgres-xl,lintzc/gpdb,atris/gpdb,CraigHarris/gpdb,yuanzhao/gpdb,kaknikhil/gpdb,zeroae/postgres-xl,rvs/gpdb,50wu/gpdb,jmcatamney/gpdb,edespino/gpdb,Chibin/gpdb,Quikling/gpdb,edespino/gpdb,xuegang/gpdb,snaga/postgres-xl,foyzur/gpdb,atris/gpdb,CraigHarris/gpdb,zeroae/postgres-xl,chrishajas/gpdb,kaknikhil/gpdb,0x0FFF/gpdb,Chibin/gpdb,Quikling/gpdb,edespino/gpdb,foyzur/gpdb,adam8157/gpdb,rvs/gpdb,greenplum-db/gpdb,foyzur/gpdb,snaga/postgres-xl,ahachete/gpdb,edespino/gpdb,lpetrov-pivotal/gpdb,edespino/gpdb,janebeckman/gpdb,50wu/gpdb,oberstet/postgres-xl,50wu/gpdb,xinzweb/gpdb,tangp3/gpdb,Chibin/gpdb,lintzc/gpdb,jmcatamney/gpdb,lisakowen/gpdb,arcivanov/postgres-xl,CraigHarris/gpdb,chrishajas/gpdb,techdragon/Postgres-XL,0x0FFF/gpdb,Chibin/gpdb,royc1/gpdb,tpostgres-projects/tPostgres,snaga/postgres-xl,lpetrov-pivotal/gpdb,ahachete/gpdb,randomtask1155/gpdb,foyzur/gpdb,atris/gpdb,cjcjameson/gpdb,janebeckman/gpdb,randomtask1155/gpdb,janebeckman/gpdb,yuanzhao/gpdb,Chibin/gpdb,ovr/postgres-xl,Postgres-XL/Postgres-XL,kmjungersen/PostgresXL,janebeckman/gpdb,yuanzhao/gpdb,ahachete/gpdb,xuegang/gpdb,rubikloud/gpdb,greenplum-db/gpdb,ahachete/gpdb,oberstet/postgres-xl,xuegang/gpdb,yuanzhao/gpdb,tangp3/gpdb,tangp3/gpdb,atris/gpdb,Chibin/gpdb,adam8157/gpdb,chrishajas/gpdb,xuegang/gpdb,ahachete/gpdb,lisakowen/gpdb,zaksoup/gpdb,lintzc/gpdb,zeroae/postgres-xl,jmcatamney/gpdb,Postgres-XL/Postgres-XL,kaknikhil/gpdb,royc1/gpdb,adam8157/gpdb,xuegang/gpdb,ahachete/gpdb,zeroae/postgres-xl,rubikloud/gpdb,ashwinstar/gpdb,yuanzhao/gpdb,pavanvd/postgres-xl,lisakowen/gpdb,cjcjameson/gpdb,Chibin/gpdb,cjcjameson/gpdb,zaksoup/gpdb,0x0FFF/gpdb,xuegang/gpdb,lpetrov-pivotal/gpdb,postmind-net/postgres-xl,janebeckman/gpdb,xinzweb/gpdb,yuanzhao/gpdb,Quikling/gpdb,rvs/gpdb,Quikling/gpdb,yuanzhao/gpdb,rubikloud/gpdb,adam8157/gpdb,tangp3/gpdb,yazun/postgres-xl,randomtask1155/gpdb,yuanzhao/gpdb,atris/gpdb,janebeckman/gpdb,postmind-net/postgres-xl,Postgres-XL/Postgres-XL,greenplum-db/gpdb,lpetrov-pivotal/gpdb,Quikling/gpdb,cjcjameson/gpdb,tangp3/gpdb,Chibin/gpdb,royc1/gpdb,zaksoup/gpdb,yazun/postgres-xl,yazun/postgres-xl,0x0FFF/gpdb,oberstet/postgres-xl,CraigHarris/gpdb,xinzweb/gpdb,edespino/gpdb,kaknikhil/gpdb,greenplum-db/gpdb,Postgres-XL/Postgres-XL,yazun/postgres-xl,50wu/gpdb,0x0FFF/gpdb,zaksoup/gpdb,royc1/gpdb,cjcjameson/gpdb,tangp3/gpdb,chrishajas/gpdb,lpetrov-pivotal/gpdb,pavanvd/postgres-xl,Quikling/gpdb,0x0FFF/gpdb,lisakowen/gpdb,greenplum-db/gpdb,adam8157/gpdb,kmjungersen/PostgresXL,Quikling/gpdb,ahachete/gpdb,rubikloud/gpdb,techdragon/Postgres-XL,lintzc/gpdb,ovr/postgres-xl,royc1/gpdb,50wu/gpdb,yuanzhao/gpdb,CraigHarris/gpdb,xinzweb/gpdb,lintzc/gpdb,arcivanov/postgres-xl,randomtask1155/gpdb,randomtask1155/gpdb,foyzur/gpdb,cjcjameson/gpdb,pavanvd/postgres-xl,ashwinstar/gpdb,zaksoup/gpdb,arcivanov/postgres-xl,xuegang/gpdb,lintzc/gpdb,kaknikhil/gpdb,oberstet/postgres-xl,kmjungersen/PostgresXL,lpetrov-pivotal/gpdb,oberstet/postgres-xl,lisakowen/gpdb,rvs/gpdb,postmind-net/postgres-xl,ashwinstar/gpdb,0x0FFF/gpdb,CraigHarris/gpdb,xinzweb/gpdb,rvs/gpdb,kaknikhil/gpdb,arcivanov/postgres-xl,Chibin/gpdb,ovr/postgres-xl,xinzweb/gpdb,rubikloud/gpdb,ashwinstar/gpdb,50wu/gpdb,jmcatamney/gpdb,zaksoup/gpdb,ashwinstar/gpdb,pavanvd/postgres-xl,Quikling/gpdb,snaga/postgres-xl,tpostgres-projects/tPostgres,greenplum-db/gpdb,chrishajas/gpdb,chrishajas/gpdb,ovr/postgres-xl,ashwinstar/gpdb,randomtask1155/gpdb,arcivanov/postgres-xl,zaksoup/gpdb,rubikloud/gpdb,tpostgres-projects/tPostgres,ashwinstar/gpdb,xuegang/gpdb,Quikling/gpdb,pavanvd/postgres-xl,tpostgres-projects/tPostgres,rubikloud/gpdb,lintzc/gpdb,kmjungersen/PostgresXL,yazun/postgres-xl,tpostgres-projects/tPostgres,Quikling/gpdb,royc1/gpdb,randomtask1155/gpdb,lisakowen/gpdb,lisakowen/gpdb,kaknikhil/gpdb,xinzweb/gpdb,foyzur/gpdb,postmind-net/postgres-xl,rubikloud/gpdb,kaknikhil/gpdb,rvs/gpdb,janebeckman/gpdb,lisakowen/gpdb,foyzur/gpdb,kmjungersen/PostgresXL,50wu/gpdb,lintzc/gpdb,ashwinstar/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,janebeckman/gpdb,janebeckman/gpdb,kaknikhil/gpdb,tangp3/gpdb,rvs/gpdb,adam8157/gpdb,techdragon/Postgres-XL,postmind-net/postgres-xl,cjcjameson/gpdb,cjcjameson/gpdb,techdragon/Postgres-XL,ahachete/gpdb,atris/gpdb,adam8157/gpdb,rvs/gpdb,janebeckman/gpdb,edespino/gpdb,kaknikhil/gpdb,xuegang/gpdb,chrishajas/gpdb,edespino/gpdb,Postgres-XL/Postgres-XL,lpetrov-pivotal/gpdb,royc1/gpdb,chrishajas/gpdb,0x0FFF/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,royc1/gpdb,rvs/gpdb,atris/gpdb,50wu/gpdb,randomtask1155/gpdb,techdragon/Postgres-XL