English

Bug: Unable to create local partitioned st_geometry_indexes in Oracle

Description

Attempting to create a local partitioned st_geometry_index on a partitioned table in Oracle fails with underlying DBMS errors.

Code:
SQL> CREATE INDEX st_shape_index ON flight_path (shape)
2 INDEXTYPE IS sde.st_spatial_index
3 LOCAL (PARTITION day1 parameters('st_srid=1 st_grids=280'),
4 PARTITION day2 parameters('st_srid=1 st_grids=250'),
5 PARTITION day3 parameters('st_srid=1 st_grids=250'),
6 PARTITION day4 parameters('st_srid=1 st_grids=150'),
7 PARTITION day5 parameters('st_srid=1 st_grids=250'),
8 PARTITION dayunknown parameters('st_srid=1 st_grids=350'));

create index st_shape_index on flight_path (shape)
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20084: No ST_GRIDS supplied in PARAMETERS clause.
ORA-06512: at "SDE.SPX_UTIL", line 694
ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 913

Cause

An internal error in the st_domain_methods.stb package function ODCIINDEXCREATE prevents local st_geometry_indexes from being created for each partition.

Workaround

Create a global st_geometry_index verses a local st_geometry_index on the partitioned table.

See the related knowledge base article link in the Related Information section below.