I would like to declare and share some simple, pure python functions between two or more PL/Python functions. I am using Postgres 9.3.
For example, I have:
CREATE OR REPLACE FUNCTION get_mod(modifier varchar)
RETURNS varchar
AS $$
def is_float(val):
try:
if val:
float(val)
return True
else:
return False
except ValueError:
return False
if modifier is None:
return "NOMOD"
if is_float(modifier):
return str(float(modifier)*1)
return modifier
$$ LANGUAGE plpythonu;
I would like to use function is_float
in some other PL/Python function.
I understand I could create it as callable PL/Python function, but I find that much clunkier (to execute SQL-based call to PL/Python) than just making a straight call to a pure Python, custom utility function.
Is it possible to create and expose through PL/Python reusable pure Python functions on Postgres?