From ab3d6c1bb151abaabd5ac1cafe1dfc0a2c89b8bf Mon Sep 17 00:00:00 2001 From: "dongxu.wei" Date: Tue, 13 Sep 2022 09:40:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddrop=20netst=20table=20of=20t?= =?UTF-8?q?ype=E5=90=8E=E5=86=8D=E5=88=9B=E5=BB=BA=E5=90=8C=E5=90=8Ddomain?= =?UTF-8?q?,=E5=88=9B=E5=BB=BApacakge=E4=BD=BF=E7=94=A8=E8=AF=A5=E5=AD=97?= =?UTF-8?q?=E6=AE=B5coredump=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/pl/plpgsql/src/gram.y | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/pl/plpgsql/src/gram.y b/src/common/pl/plpgsql/src/gram.y index 6d8ba8a88..19f96bad6 100755 --- a/src/common/pl/plpgsql/src/gram.y +++ b/src/common/pl/plpgsql/src/gram.y @@ -9520,6 +9520,12 @@ static void check_record_nest_tableof_index(PLpgSQL_datum* datum) PLpgSQL_row* row = (PLpgSQL_row*)datum; for (int i = 0; i < row->nfields; i++) { PLpgSQL_datum* row_element = NULL; + + /* check wether attisdropped */ + if (row->varnos[i] == -1 && row->fieldnames[i] == NULL) { + continue; + } + if (row->ispkg) { row_element = (PLpgSQL_datum*)(row->pkg->datums[row->varnos[i]]); } else {