From f0d9dbf5c5608beb99b879e7317b68a285bbeab8 Mon Sep 17 00:00:00 2001
From: kommih <haribabuk@fast.au.fujitsu.com>
Date: Tue, 23 Oct 2018 17:15:18 +1100
Subject: [PATCH 2/2] Materialize the slot before they are processed using
 intorel_receive

---
 src/backend/commands/createas.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/commands/createas.c b/src/backend/commands/createas.c
index 84de804175..d3ffe417ff 100644
--- a/src/backend/commands/createas.c
+++ b/src/backend/commands/createas.c
@@ -593,6 +593,10 @@ intorel_receive(TupleTableSlot *slot, DestReceiver *self)
 	if (myState->rel->rd_rel->relhasoids)
 		slot->tts_tupleOid = InvalidOid;
 
+	/* Materialize the slot */
+	if (!TTS_IS_VIRTUAL(slot))
+		ExecMaterializeSlot(slot);
+
 	table_insert(myState->rel,
 				 slot,
 				 myState->output_cid,
-- 
2.18.0.windows.1

