Support for spatial column-types
--------------------------------

                 Key: IBATIS-400
                 URL: https://issues.apache.org/jira/browse/IBATIS-400
             Project: iBatis for Java
          Issue Type: New Feature
          Components: SQL Maps
    Affects Versions: 2.3.0
            Reporter: Achim Seufert


Hi,

I'm trying to insert a spacial-value (POINT) using a mapped insert-statement.

My sql-mapping looks like this:

  <insert id="insertGeoCoordinate" parameterClass="GeoCoordinateBean">
          
    insert into address_geocode
        (
          street,
          housenumber,
          housenumberextension,
          zip,
          city,
          country,
          coordinate,
          source,
          quality,
          metadata
        )  
    values
    (
          #street#,
          #housenumber#,
          #housenumberextension#,
          #zip#,
          #city#,
          #country#,
          GeomFromText('POINT(#xcoordinate# #ycoordinate#)'),
          #source#,
          #quality#,
          #metadata#
    )
                  
  </insert>

The "GeoCoordinateBean" contains both the "xcoordinate" and the "ycoordinate" 
as double (and they're reachable via getters and setters... as usual).

Since iBatis is creating prepared statements, the above insert fails:
"Cause: java.sql.SQLException: Parameter index out of bounds. 10 is not between 
valid values of 1 and 9"

That's because the number of colums addressed (10) is less than parameters 
given (11)... I assume. :-)

The main "problem" should be this line:
          GeomFromText('POINT(#xcoordinate# #ycoordinate#)'),

The "GeomFromText"-function (provided by MySQL) simply needs the two 
parameters/values to create a POINT-object prior to the actual insert.

I already tried to replace these two parameters (xcoordinate and ycoordinate) 
with ONE single string-parameter (coming from the bean and already having 
concatenated the two coordinates)... with no success.

I don't see any way how this problem can be solved using any currently 
implemented features of iBatis. (I've studied the manual... but found no 
applicable methods.)

Maybe a good solution would be if you could turn off prepared statements for 
certain inserts ... just like this user suggested:
     https://issues.apache.org/jira/browse/IBATIS-240 

Any help/improvement would be much appreciated.

Thanks,

Achim

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to