On 15/06/10 15:19, Florian Pflug wrote:
> On Jun 15, 2010, at 9:31 , Heikki Linnakangas wrote:
>> You could avoid changing the meaning of fn_expr by putting the check in the parse analysis phase, into
transformFuncCall().That would feel safer at least for back-branches.
>
> For 9.0, wouldn't a cleaner way to accomplish this be a seperate type for expressions, say pg_expr, instead of
storingthem as text? With an input function that unconditionally raises and error and no cast to pg_expr, creating new
instancesof that type would be impossible for normal users. The output function and casts to text would call
pg_get_expr()with zero as the second argument.
>
> The internal representation wouldn't change, it's just the type's OID in the catalog that'd be different.
Yeah, that would be quite elegant. I think it's too late for 9.0, but
something to consider in the future.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com