proposal: type info support functions for functions that use "any" type - Mailing list pgsql-hackers

From Pavel Stehule
Subject proposal: type info support functions for functions that use "any" type
Date
Msg-id CAFj8pRARh+r4=HNwQ+hws-D6msus01Dw_6zjNYur6tPk1+W0rA@mail.gmail.com
Whole thread Raw
Responses Re: proposal: type info support functions for functions that use"any" type
List pgsql-hackers
Hi,

Tom introduced supported functions for calculation function's selectivity. Still I have similar idea to use supported function for calculation function's parameter's types and function return type.

Motivation:

Reduce a necessity of overloading of functions. My motivation is related primary to Orafce, but this feature should be helpful for anybody with similar goals. The function's overloading is great functionality but it is hard for maintenance.

My idea to enhance a CREATE FUNCTION command to be able do

CREATE FUCNTION foo("any")
RETURNS "any" AS ...
TYPEINFO foo_typeinfo

CREATE FUNCTION decode(VARIADIC "any")
RETURNS "any" AS ...
TYPEINFO decode_typeinfo.

The typeinfo functions returns a pointer tu structure with param types and result type. Only function with "any" parameters or "any" result can use TYPEINFO supported function. This functionality should not be allowed for common functions.

This functionality is limited just for C coders. But I expect so typical application coder doesn't need it. It doesn't replace my proposal of introduction other polymorphic type - now named "commontype" (can be named differently). The commontype is good enough solution for application coders, developers.

Comments, notes?

Regards

Pavel


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: \describe*
Next
From: David Rowley
Date:
Subject: Re: Ordered Partitioned Table Scans