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

Reply via email to