Rework handling of OOM when allocating record buffer in XLOG reader.
Rework handling of OOM when allocating record buffer in XLOG reader.

Commit 2c03216 changed allocate_recordbuf() so that it uses a palloc to
allocate the read buffer and fails immediately when an out-of-memory error
shows up, even though its callers still expect that NULL is returned in that
case. This bug is fixed making allocate_recordbuf() use a palloc_extended
with MCXT_ALLOC_NO_OOM flag and return NULL in OOM case.

Michael Paquier

xinzweb/gpdb,ashwinstar/gpdb,lisakowen/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,yazun/postgres-xl,techdragon/Postgres-XL,yazun/postgres-xl,jmcatamney/gpdb,greenplum-db/gpdb,xinzweb/gpdb,yazun/postgres-xl,adam8157/gpdb,lisakowen/gpdb,oberstet/postgres-xl,pavanvd/postgres-xl,pavanvd/postgres-xl,techdragon/Postgres-XL,lisakowen/gpdb,techdragon/Postgres-XL,ovr/postgres-xl,adam8157/gpdb,lisakowen/gpdb,50wu/gpdb,jmcatamney/gpdb,Postgres-XL/Postgres-XL,lisakowen/gpdb,jmcatamney/gpdb,ashwinstar/gpdb,Postgres-XL/Postgres-XL,50wu/gpdb,Postgres-XL/Postgres-XL,xinzweb/gpdb,greenplum-db/gpdb,ashwinstar/gpdb,greenplum-db/gpdb,pavanvd/postgres-xl,50wu/gpdb,adam8157/gpdb,techdragon/Postgres-XL,zeroae/postgres-xl,jmcatamney/gpdb,adam8157/gpdb,lisakowen/gpdb,zeroae/postgres-xl,oberstet/postgres-xl,xinzweb/gpdb,techdragon/Postgres-XL,50wu/gpdb,xinzweb/gpdb,oberstet/postgres-xl,ovr/postgres-xl,pavanvd/postgres-xl,ashwinstar/gpdb,ashwinstar/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,oberstet/postgres-xl,greenplum-db/gpdb,xinzweb/gpdb,50wu/gpdb,ashwinstar/gpdb,yazun/postgres-xl,xinzweb/gpdb,zeroae/postgres-xl,xinzweb/gpdb,ovr/postgres-xl,ovr/postgres-xl,yazun/postgres-xl,greenplum-db/gpdb,adam8157/gpdb,oberstet/postgres-xl,Postgres-XL/Postgres-XL,ashwinstar/gpdb,zeroae/postgres-xl,50wu/gpdb,jmcatamney/gpdb,lisakowen/gpdb,Postgres-XL/Postgres-XL,ovr/postgres-xl,adam8157/gpdb,50wu/gpdb,50wu/gpdb,greenplum-db/gpdb,lisakowen/gpdb,ashwinstar/gpdb,pavanvd/postgres-xl,adam8157/gpdb,jmcatamney/gpdb,zeroae/postgres-xl,adam8157/gpdb