提交 0a8510e0 编写于 作者: T Tom Lane

Fix failure to apply domain constraints to a NULL constant that's added to

an INSERT target list during rule rewriting.  Per report from John Supplee.
上级 38e75d92
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/rewrite/rewriteManip.c,v 1.94 2005/11/23 17:21:03 tgl Exp $
* $PostgreSQL: pgsql/src/backend/rewrite/rewriteManip.c,v 1.95 2006/01/06 20:11:12 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -18,6 +18,7 @@
#include "optimizer/clauses.h"
#include "optimizer/tlist.h"
#include "parser/parsetree.h"
#include "parser/parse_coerce.h"
#include "parser/parse_relation.h"
#include "rewrite/rewriteManip.h"
#include "utils/lsyscache.h"
......@@ -838,7 +839,13 @@ resolve_one_var(Var *var, ResolveNew_context *context)
else
{
/* Otherwise replace unmatched var with a null */
return (Node *) makeNullConst(var->vartype);
/* need coerce_to_domain in case of NOT NULL domain constraint */
return coerce_to_domain((Node *) makeNullConst(var->vartype),
InvalidOid,
var->vartype,
COERCE_IMPLICIT_CAST,
false,
false);
}
}
else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册