English

Error: Invalid st_relate matrix using Oracle error ORA-20012

Error Message

Executing an Oracle SQL statement with the st_relate operator causes an error when there is an invalid matrix as follows:

"SQL> SELECT COUNT(*)
2 FROM parcels a, municipal_bnd b
3 WHERE b.name = 'HYDE PARK'
4 AND sde.st_relate(a.shape,b.shape,'*T******') = 1;
SELECT COUNT(*) FROM parcels a, municipal_bnd b
*
ERROR at line 1:
ORA-20012: Pattern matrix must be 3-by-3 matrix (interior,boundary,exterior)composed of 9 field descriptors.
ORA-06512: at "SDE.ST_RELATION_OPERATORS", line 51
ORA-06512: at "SDE.ST_RELATION_OPERATORS", line 821".

Cause

The st_relate operator requires the matrix string to be 9 characters long and consist of any combination of the following characters: 0, 1, 2, *, t, T, f, F. If the matrix is less or more than 9 characters, the ORA-20012 error is encountered.

Solution or Workaround

Validate that the input matrix string contains 9 valid characters.