This patch will allow arbitrary levels of analyze / rewriting by making the static variables extra_before and extra_after automatic so we can use recursion.
This patch will allow arbitrary levels of analyze / rewriting
by making the static variables extra_before and extra_after
automatic so we can use recursion.

It gets much easier to generate extra commands now, and one can rest
assured that the extra commands will be properly analyzed/rewritten.


Without this patch, if a command produced by transformation tries to
use these static lists their first contents would be lost with
unpredictable results.  I know I could fix this by just using nconc()
instead of assignments, but the resulting order of the commands would
not be exactly what one could expect.

--
Fernando Nasser

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