Solucionado:
declarar valor devuelto como int8
Hay que usar la funcion como subconsulta
En lugar de:
SELECT * FROM tabla WHERE funcion(loquesea) = condicion;
que es muy lento
Usamos:
SELECT * FROM tabla WHERE (SELECT funcion(loquesea)) = condicion;
que vamucho mejor