[Geoserver-devel] [jira] Created: (GEOS-4623) OPTIMIZER_FEATURES_ENABLE('8.1.7') in Geotools jdbc datastore

OPTIMIZER_FEATURES_ENABLE('8.1.7') in Geotools jdbc datastore
-------------------------------------------------------------

                 Key: GEOS-4623
                 URL: http://jira.codehaus.org/browse/GEOS-4623
             Project: GeoServer
          Issue Type: Bug
          Components: Oracle
    Affects Versions: 2.1.0
         Environment: windows 2008 server R2, geoserver 2.1.0 under apache geronimo 2.2.1
            Reporter: Luca Giallombardo
            Assignee: Andrea Aime
         Attachments: JDBCDataStore.java

We use Geoserver and Oracle 11.2.0.1 64 bit, with spatial extension. We have a view on a table on another schema (access with a synonymous).
The layer associated to the view works, but the layer preview catchs an error when the user clicks on a feature. The error is ORA-13226:"interface not supported without a spatial index", but this error occurs only when the user clicks on a feature in the layer preview.
We have debug the oracle calls and we notice that the query that generates the error is
{code:title=SQL query generated by geoserver|borderStyle=solid}
SELECT COUNT ( * ) AS gt_result_
  FROM (SELECT *
            FROM (SELECT /*+ ALL_ROWS OPTIMIZER_FEATURES_ENABLE('8.1.7') */
                          *
                      FROM XNOTAM.V_AIRSPACE
                     WHERE SDO_RELATE (GEOM,
                                         sdo_geometry(2003,4326,null,sdo_elem_info_array(1,1003,1),sdo_ordinate_array(10,40,15,45)),
                                         'mask=anyinteract querytype=WINDOW') =
                                'TRUE')
           WHERE ROWNUM <= 50) gt_limited_;
{code}
Note that the same query generates the same error if it's made into sqlplus.
The problem is that in this version (geoserver 2.1.0 with gt-jdbc.jar, ver. 2.7.1) the query has done with the optimizer hint /*+ ALL_ROWS OPTIMIZER_FEATURES_ENABLE('8.1.7') */ and it seems not working on 11g version. We have found this statement into org.geotools.jdbc.JDBCDataStore.java ver. 2.7.1. The previos version doesn't contain this hint (and works).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

     [ http://jira.codehaus.org/browse/GEOS-4623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Aime reopened GEOS-4623:
-------------------------------

OPTIMIZER_FEATURES_ENABLE('8.1.7') in Geotools jdbc datastore
-------------------------------------------------------------

                Key: GEOS-4623
                URL: http://jira.codehaus.org/browse/GEOS-4623
            Project: GeoServer
         Issue Type: Bug
         Components: Oracle
   Affects Versions: 2.1.0
        Environment: windows 2008 server R2, geoserver 2.1.0 under apache geronimo 2.2.1
           Reporter: Luca Giallombardo
           Assignee: Andrea Aime
             Labels: Geotools, OPTIMIZER_FEATURES_ENABLE, datastore, jdbc, oracle
        Attachments: JDBCDataStore.java

We use Geoserver and Oracle 11.2.0.1 64 bit, with spatial extension. We have a view on a table on another schema (access with a synonymous).
The layer associated to the view works, but the layer preview catchs an error when the user clicks on a feature. The error is ORA-13226:"interface not supported without a spatial index", but this error occurs only when the user clicks on a feature in the layer preview.
We have debug the oracle calls and we notice that the query that generates the error is
{code:title=SQL query generated by geoserver|borderStyle=solid}
SELECT COUNT ( * ) AS gt_result_
  FROM (SELECT *
            FROM (SELECT /*+ ALL_ROWS OPTIMIZER_FEATURES_ENABLE('8.1.7') */
                          *
                      FROM XNOTAM.V_AIRSPACE
                     WHERE SDO_RELATE (GEOM,
                                         sdo_geometry(2003,4326,null,sdo_elem_info_array(1,1003,1),sdo_ordinate_array(10,40,15,45)),
                                         'mask=anyinteract querytype=WINDOW') =
                                'TRUE')
           WHERE ROWNUM <= 50) gt_limited_;
{code}
Note that the same query generates the same error if it's made into sqlplus.
The problem is that in this version (geoserver 2.1.0 with gt-jdbc.jar, ver. 2.7.1) the query has done with the optimizer hint /*+ ALL_ROWS OPTIMIZER_FEATURES_ENABLE('8.1.7') */ and it seems not working on 11g version. We have found this statement into org.geotools.jdbc.JDBCDataStore.java ver. 2.7.1. The previos version doesn't contain this hint (and works).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira