Make equalTupleDescs() compare attlen/attbyval/attalign rather than assuming comparison of atttypid is sufficient.  In a dropped column atttypid will be 0, and we'd better check the physical-storage data to make sure the tupdescs are physically compatible. I do not believe there is a real risk before 8.0, since before that we only used this routine to compare successive states of the tupdesc for a particular relation.  But 8.0's typcache.c might be comparing arbitrary tupdescs so we'd better play it safer.
Make equalTupleDescs() compare attlen/attbyval/attalign rather than
assuming comparison of atttypid is sufficient.  In a dropped column
atttypid will be 0, and we'd better check the physical-storage data
to make sure the tupdescs are physically compatible.
I do not believe there is a real risk before 8.0, since before that
we only used this routine to compare successive states of the tupdesc
for a particular relation.  But 8.0's typcache.c might be comparing
arbitrary tupdescs so we'd better play it safer.

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