Re: get_cast_func syscache utility function
От | Tom Lane |
---|---|
Тема | Re: get_cast_func syscache utility function |
Дата | |
Msg-id | 2425.1415200245@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: get_cast_func syscache utility function (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: get_cast_func syscache utility function
|
Список | pgsql-hackers |
Andrew Dunstan <andrew@dunslane.net> writes: > On 11/04/2014 01:45 PM, Tom Lane wrote: >> In short, I'd rather see this addressed through functions with slightly >> higher-level APIs that are capable of covering more cases. In most cases >> it'd be best if callers were using find_coercion_pathway() rather than >> taking shortcuts. > Well, then, do we really need a wrapper at all? Should we just be doing > something like this? > if (typoid >= FirstNormalObjectId) > { > Oid castfunc; > CoercionPathType ctype; > ctype = find_coercion_pathway(JSONOID, typoid, > COERCION_EXPLICIT, &castfunc); > if (ctype == COERCION_PATH_FUNC && OidIsValid(castfunc)) > { > *tcategory = JSONTYPE_CAST; > *outfuncoid = castfunc; > } > } Well, of course, the question that immediately raises is why isn't this code handling the other possible CoercionPathTypes ;-). But at least it's pretty obvious from the code that you are ignoring such cases, so yes I think this is better than what's there now. regards, tom lane
В списке pgsql-hackers по дате отправления: