-- Create a table with an rciPoint column

 create table tst_Point
 (
        id      integer,
        value   rciPoint
 );

-- Add a row that uses the rciPntIn() function to convert the string 
-- "Row(0,0)" to the rciPnt type

 insert into tst_Point( id, value )
     values ( 0,  "ROW(0,0)");

-- Add another row that explicitly casts ROW(0,1) to the rciPnt type

 insert into tst_Point( id, value )
     values ( 1,  ROW(0,1)::rciPoint );

-- Add a row with a negative element

 insert into tst_Point( id, value )
     values ( 2,  "ROW(0,-1)" );

-- Add a row with a very small element

 insert into tst_Point( id, value )
     values ( 3, "ROW(+5.678E-100,0)" );

-- Add a row with a very precise element

 insert into tst_Point( id, value )
     values (4, "ROW(0,1234567890.12345678)");

-- Make sure the table contains the data you inserted

 select * from tst_Point;
 
-- Find the distance of each point to the origin

 select id, rciDistance("ROW(0,0)", value) from tst_Point;


-- Create a table with an rciCircle column

 create table tst_RCirc
 (
        id      integer,
        value   rciCircle
 );

-- Add some rows

 insert into tst_RCirc(id,value)
     values (0,  "ROW( ROW(0,0),  1.0)");

 insert into tst_RCirc(id,value)
     values (1,  "ROW( ROW(1,0), 0.9)");

 insert into tst_RCirc(id,value)
     values (2,  "ROW( ROW(-1,0), 1.5)");

-- Make sure the table contains the data you inserted

 select * from tst_RCirc;

-- Find which circles contain the origin 

 select id, rciContains(value,"ROW(0,0)") from tst_RCirc order by id;

