Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    d64713df
    Pass collations to functions in FunctionCallInfoData, not FmgrInfo. · d64713df
    Tom Lane authored
    Since collation is effectively an argument, not a property of the function,
    FmgrInfo is really the wrong place for it; and this becomes critical in
    cases where a cached FmgrInfo is used for varying purposes that might need
    different collation settings.  Fix by passing it in FunctionCallInfoData
    instead.  In particular this allows a clean fix for bug #5970 (record_cmp
    not working).  This requires touching a bit more code than the original
    method, but nobody ever thought that collations would not be an invasive
    patch...
    d64713df
    History
    Pass collations to functions in FunctionCallInfoData, not FmgrInfo.
    Tom Lane authored
    Since collation is effectively an argument, not a property of the function,
    FmgrInfo is really the wrong place for it; and this becomes critical in
    cases where a cached FmgrInfo is used for varying purposes that might need
    different collation settings.  Fix by passing it in FunctionCallInfoData
    instead.  In particular this allows a clean fix for bug #5970 (record_cmp
    not working).  This requires touching a bit more code than the original
    method, but nobody ever thought that collations would not be an invasive
    patch...