Why did you lose the parser_errposition in parse_utilcmd.c line 3854?
> - /* Fail if we don't have a constant (i.e., non-immutable coercion) */
> - if (!IsA(value, Const))
> + /* Make sure the expression does not refer to any vars. */
> + if (contain_var_clause(value))
> ereport(ERROR,
> - (errcode(ERRCODE_DATATYPE_MISMATCH),
> - errmsg("specified value cannot be cast to type %s for column \"%s\"",
> - format_type_be(colType), colName),
> - errdetail("The cast requires a non-immutable conversion."),
> - errhint("Try putting the literal value in single quotes."),
> - parser_errposition(pstate, con->location)));
> + (errcode(ERRCODE_INVALID_COLUMN_REFERENCE),
> + errmsg("cannot use column references in partition bound expression")));
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services