*** a/src/backend/utils/adt/ruleutils.c
--- b/src/backend/utils/adt/ruleutils.c
*************** get_rule_expr(Node *node, deparse_contex
*** 4582,4592 ****
  							Node	   *rhs;
  
  							Assert(IsA(linitial(((OpExpr *) w)->args),
  									   CaseTestExpr) ||
  								   IsA(linitial(((OpExpr *) w)->args),
! 									   Const));
  							rhs = (Node *) lsecond(((OpExpr *) w)->args);
  							get_rule_expr(rhs, context, false);
  						}
  						else if (IsA(w, CaseTestExpr))
  							appendStringInfo(buf, "TRUE");
--- 4582,4594 ----
  							Node	   *rhs;
  
  							Assert(IsA(linitial(((OpExpr *) w)->args),
  									   CaseTestExpr) ||
  								   IsA(linitial(((OpExpr *) w)->args),
! 									   Const) ||
! 								   IsA(linitial(((OpExpr *) w)->args),
! 									   RelabelType));
  							rhs = (Node *) lsecond(((OpExpr *) w)->args);
  							get_rule_expr(rhs, context, false);
  						}
  						else if (IsA(w, CaseTestExpr))
  							appendStringInfo(buf, "TRUE");
