Martijn van Oosterhout <kleptog@svana.org> writes:
> In this particular case the syntax makes it unclear that the substring
> is the problem. Perhaps here the solution would be to put a cast in the
> grammer, like so:
> substr_for: FOR a_expr { $$ =3D makeTypeCast($2,"int4"); }
> ;
Not there, because it would break the variants where FOR introduces a
character expression, eg
<regular expression substring function> ::= SUBSTRING <left paren> <character value expression>
FROM <character value expression> FOR <escape character> <right paren>
But I think we could do this in substr_list in the case where we have
just "a_expr substr_for", because there are no variants of that where
the FOR expression is supposed to be string. See my other message
just now.
regards, tom lane