1with AdaBase; 2with Connect; 3with CommonText; 4with Ada.Text_IO; 5with AdaBase.Results.Sets; 6 7procedure Spatial2 is 8 9 package CON renames Connect; 10 package TIO renames Ada.Text_IO; 11 package ARS renames AdaBase.Results.Sets; 12 package CT renames CommonText; 13 14begin 15 16 CON.connect_database; 17 18 declare 19 sql : constant String := 20 "SELECT" & 21 " sp_point" & 22 ", ST_AsText (sp_point) as tx_point" & 23 ", sp_linestring" & 24 ", ST_AsText (sp_linestring) as tx_linestring" & 25 ", sp_multi_point" & 26 ", ST_AsText (sp_multi_point) as tx_multi_point" & 27 ", sp_multi_line_string" & 28 ", ST_AsText (sp_multi_line_string) as tx_multi_line_string" & 29 ", sp_polygon" & 30 ", ST_AsText (sp_polygon) as tx_polygon" & 31 ", sp_outer_ring" & 32 ", ST_AsText (sp_outer_ring) as tx_outer_ring" & 33 ", sp_multi_polygon" & 34 ", ST_AsText (sp_multi_polygon) as tx_multi_polygon" & 35 ", sp_geo_collection" & 36 ", ST_AsText (sp_geo_collection) as tx_geo_collection" & 37 ", sp_geometry" & 38 ", ST_AsText (sp_geometry) as tx_geometry" & 39 ", sp_coll2" & 40 ", ST_AsText (sp_coll2) as tx_coll2" & 41 ", sp_geometry2" & 42 ", ST_AsText (sp_geometry2) as tx_geometry2" & 43 " FROM spatial_plus"; 44 stmt : CON.Stmt_Type := CON.DR.query (sql); 45 row : ARS.Datarow; 46 begin 47 if not stmt.successful then 48 TIO.Put_Line (stmt.last_driver_message); 49 return; 50 end if; 51 loop 52 row := stmt.fetch_next; 53 exit when row.data_exhausted; 54 for x in Natural range 1 .. row.count loop 55 TIO.Put (" column : "); 56 TIO.Put (stmt.column_name (x)); 57 TIO.Put_Line (" : " & row.column (x).native_type'Img); 58 TIO.Put_Line (row.column (x).as_string); 59 end loop; 60 end loop; 61 end; 62 63 CON.DR.disconnect; 64 65end Spatial2; 66