Hi all,
Not sure who all is left on this forum, but in these days of uncertainty perhaps there are folks with time on their hands to help ponder some questions. I like building reusable tools that are useful to my geospatial work. My github shows many of them and most really do date back to the 10g days with a years of production usage. I was answering a question on GeoRaster availability in 11g and perusing the docs and noticed all the changes with 19c and GeoRaster needing to be enabled for each and every schema using it. That then lead to making more coffee and some old-man-like grumping on the situation.
Back in the day I would have considered two consumer groups for my tools:
- Oracle Spatial - my primary audience
- Oracle Locator - try my best to accommodate but if you need my tools you probably need the full Spatial option
But as we have discussed recently
Spatial, Locator, Bears and other Vocabulary?
the landscape is ever changing. I don't even want to bring up the dozens of ATP versions with ever changing spatial functionality.
DatabaseError: ORA-03001: unimplemented feature when using SDO_UTIL.FROM_GEOJSON
At least the new XE is simple enough.
If I craft a tool I think is universal, how would other folks get it to compile - much less actually work - against this landscape? is it even worth my time to bother trying? The 19c individual schema GeoRaster enabling even seems to knock my original consumer group #1 off the wall into two separate groups. So perhaps the new potential consumer groups might be:
- Georaster enabled Oracle Spatial (db-wide or 19c schema)
- Vanilla Oracle Spatial
- Vanilla Oracle Locator
- Oracle Locator with Spatial removed per Doc 2307454.1
- Oracle Locator with Spatial removed by some DBA tomfoolery
- SDO-spiked meaning DBA has done something like drop SDO_GEOMETRY but leaving the rest of the MDSYS corpse lying about
- MDSYS-less
Now I probably am only going to accommodate #1 and #2 fully in my work, but what to do when people ask questions why things do not work? Has anyone started crafting some diagnostics that would tell a person what group they belong to? Are there any secret tricks with conditional compilation that could help detect the state of Oracle Spatial? Does anyone think this is worth any effort?
Cheers,
Paul