In UpdateStats(), don't bother to update the pg_class row if it already contains the correct statistics.  This is a partial solution for the problem of allowing concurrent CREATE INDEX commands: unless they commit at nearly the same instant, the second one will see the first one's pg_class updates as committed, and won't try to update again, thus avoiding the 'tuple concurrently updated' failure.
In UpdateStats(), don't bother to update the pg_class row if it already
contains the correct statistics.  This is a partial solution for the
problem of allowing concurrent CREATE INDEX commands: unless they commit
at nearly the same instant, the second one will see the first one's
pg_class updates as committed, and won't try to update again, thus
avoiding the 'tuple concurrently updated' failure.

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