drop database mydb; create database mydb; -- create the circle UDT create opaque type circle (internallength = 24, alignment = 8); create function circle_input(lvarchar) returns circle external name '$INFORMIXDIR/extend/krakatoa/examples/circle.dll' language c; create function circle_output(circle) returns lvarchar external name '$INFORMIXDIR/extend/krakatoa/examples/circle.dll' language c; create implicit cast (lvarchar as circle with circle_input); create explicit cast (circle as lvarchar with circle_output); -- create the circle UDT table create table mytable (c circle); insert into mytable values("1 1 1"); insert into mytable values("2 2 2"); insert into mytable values("3 3 3"); select * From mytable; -- install the Java class Circle (customize the URL for your installation) execute procedure install_jar( "file:$INFORMIXDIR/extend/krakatoa/examples/Circle.jar", "circle_jar", 0); -- register the Java class that maps to the circle UDT execute procedure setUDTExtName("circle", "Circle"); -- register the Java UDR create function area(circle) returns float external name 'circle_jar:Circle.area(Circle)' language java; -- test the Java UDR select c, area(c) from mytable;