Repository: incubator-hawq Updated Branches: refs/heads/master 90bd061ba -> 8928e88ea
HAWQ-1068. Fixed crash at calling get_ao_compression_ratio(null) Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/88379348 Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/88379348 Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/88379348 Branch: refs/heads/master Commit: 883793482347c502a703481e26564a5666aa3a59 Parents: 90bd061 Author: Ming LI <[email protected]> Authored: Thu Sep 22 15:17:11 2016 +0800 Committer: Ming LI <[email protected]> Committed: Sat Oct 8 10:18:41 2016 +0800 ---------------------------------------------------------------------- src/backend/access/appendonly/aosegfiles.c | 5 +++++ src/backend/utils/fmgr/fmgr.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/88379348/src/backend/access/appendonly/aosegfiles.c ---------------------------------------------------------------------- diff --git a/src/backend/access/appendonly/aosegfiles.c b/src/backend/access/appendonly/aosegfiles.c index 993e489..7a57d96 100644 --- a/src/backend/access/appendonly/aosegfiles.c +++ b/src/backend/access/appendonly/aosegfiles.c @@ -1549,6 +1549,8 @@ get_ao_compression_ratio_name(PG_FUNCTION_ARGS) Oid relid; /* Assert(Gp_role != GP_ROLE_EXECUTE); */ + if (NULL == relname) + elog(ERROR, "failed to get relname for this function."); parentrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); relid = RangeVarGetRelid(parentrv, false, true /*allowHcatalog*/); @@ -1569,6 +1571,9 @@ get_ao_compression_ratio_oid(PG_FUNCTION_ARGS) /* Assert(Gp_role != GP_ROLE_EXECUTE); */ + if (!OidIsValid(relid)) + elog(ERROR, "failed to get valid relation id for this function."); + return ao_compression_ratio_internal(relid); } http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/88379348/src/backend/utils/fmgr/fmgr.c ---------------------------------------------------------------------- diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c index fe4da74..c1480dc 100644 --- a/src/backend/utils/fmgr/fmgr.c +++ b/src/backend/utils/fmgr/fmgr.c @@ -2025,7 +2025,7 @@ OidSendFunctionCall(Oid functionId, Datum val) struct varlena * pg_detoast_datum(struct varlena * datum) { - if (VARATT_IS_EXTENDED(datum)) + if (NULL!=datum && VARATT_IS_EXTENDED(datum)) return heap_tuple_untoast_attr(datum); else return datum;
