Allow numeric_fac() to be interrupted, since it can take quite a while for large inputs.  Also cause it to error out immediately if the result will overflow, instead of grinding through a lot of calculation first. Per gripe from Jim Nasby.
Allow numeric_fac() to be interrupted, since it can take quite a while for
large inputs.  Also cause it to error out immediately if the result will
overflow, instead of grinding through a lot of calculation first.
Per gripe from Jim Nasby.

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