You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Be more careful about printing constants in ruleutils.c.
The previous coding in get_const_expr() tried to avoid quoting integer,float, and numeric literals if at all possible. While that looks nice,it means that dumped expressions might re-parse to something that'ssemantically equivalent but not the exact same parsetree; for examplea FLOAT8 constant would re-parse as a NUMERIC constant with a cast toFLOAT8. Though the result would be the same after constant-folding,this is problematic in certain contexts. In particular, Jeff Davispointed out that this could cause unexpected failures in ALTER INHERIToperations because of child tables having not-exactly-equivalent CHECKexpressions. Therefore, favor correctness over legibility and dumpsuch constants in quotes except in the limited cases where they'llbe interpreted as the same type even without any casting.This results in assorted small changes in the regression test outputs,and will affect display of user-defined views and rules similarly.The odds of that causing problems in the field seem non-negligible;given the lack of previous complaints, it seems best not to changethis in the back branches.