Bug: C API function SE_stream_execute sometimes returns a different status when using SDO_GEOMETRY storage


ArcSDE C-API function SE_stream_execute returns different status when performing an update if no rows match both the WHERE clause or the spatial filter. In this case, no rows are updated in the database, which is the expected result.

Under these circumstances, when storage type is Oracle’s SDO_GEOMETRY, SE_stream_execute returns SE_NO_ROWS_UPDATED, otherwise, SE_SUCCESS is returned.


Both values are correct, but they are inconsistent. This is a known issue with ArcSDE 9.0.


This issue only affects developers using the ArcSDE C API. These developers should accept SE_NO_ROWS_UPDATED as a successful return code and not an error.

ESRI expects to modify the functions so that under the given circumstances, SE_SUCCESS will be returned regardless of spatial storage type.