Witam

mam zdefiniowaną funkcje w postgreSQL:

CREATE OR REPLACE FUNCTION ratio_var.test2(OUT result ratio_var.cust) AS $$
BEGIN
SELECT fname, lname INTO result.first_name, result.last_name FROM ratio_var.customer;
END; $$ LANGUAGE 'plpgsql'

gdzie ratio_var.custcust to typ zdefiniowany przeze mnie

CREATE TYPE ratio_var.cust AS
(
first_name VARCHAR(20),
last_name VARCHAR(20)
)

Nastepnie w javie mam następujący kod

CallableStatement cs = con.prepareCall("{call ratio_var.test2(?)}");
cs.registerOutParameter(1, Types.OTHER);
cs.execute();

ResultSet rs = cs.getResultSet();

while (rs.next())
{
System.out.println(rs.getBigDecimal(1) + ", " + rs.getDate(2) + ", " + rs.getString(3) + ", " + getDecimal(4));
}

Jak odpalam ten kod z poziomu javy wywala mi następujący błąd:

Exception in thread "main" java.lang.NullPointerException
at com.lst.data.Data.findTransaction(Data.java:69)
at Program.main(Program.java:9)

Nie mam pojęcia dlaczego to nie działa w dokumentacji postgresa opisano to w taki sposób jak wyżej.
Jesli ktoś ma jakieś pomysły proszę o pomoc. Z góry dzięki.

Pozdrawiam