to sch USING ( key =f_sel_1(key));
As Tom said it doesn’t matter what you classify the function as (stable, etc) if your function call accepts a column reference as an input and compares its output to another column reference. With a column reference you need a row to find a value and if you already have a row the index serves no purpose.
David J.