ORACLE SDO_INSIDE 函数改写

迁移特征 harvest_ora2pg.sdo_inside 的规则事实、精确目标横向结论与可执行验证路径。产品家族相似性不作为精确版本结论的依据。

pendingcriticalmediumora.func.harvest_ora2pg_sdo_inside

场景说明

该场景属于“函数与表达式”,适用于 sql、plsql、mybatis。权威状态:待核验,不进入权威统计。

正向识别示例

以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。

SELECT * FROM parcels WHERE SDO_INSIDE(shape, :query_shape) = 'TRUE'
SELECT SDO_INSIDE(a.shape, b.shape) FROM parcel_a a JOIN parcel_b b ON a.id = b.id

21 个精确目标版本 / 模式

目标支持度证据等级公开边界深入核对
PostgreSQL 16 + orafce 4.16noneunverified继承父能力项 harvest_ora2pg 的支持度;当前子特征待单独核验。改造点
PostgreSQL 16noneunverified继承父能力项 harvest_ora2pg 的支持度;当前子特征待单独核验。改造点
展开 19 个 unknown / undeclared 结论
达梦 DM8unknownunverified当前事实源不足,不推断兼容。
GaussDB 505(ORA 模式)unknownunverified当前事实源不足,不推断兼容。
GBase 8sunknownunverified当前事实源不足,不推断兼容。
GoldenDB V6unknownunverified当前事实源不足,不推断兼容。
瀚高 HGDB 4.5unknownunverified当前事实源不足,不推断兼容。
人大金仓 KingbaseES V8unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
openGauss 5.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 B 模式(Dolphin)unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 2.0unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 3.0 A 模式unknownunverified当前事实源不足,不推断兼容。
PolarDB(Oracle 兼容)2.0unknownunverified当前事实源不足,不推断兼容。
神通数据库 7unknownunverified当前事实源不足,不推断兼容。
TDSQL Boundlessunknownunverified当前事实源不足,不推断兼容。
TiDB 8.5unknownunverified当前事实源不足,不推断兼容。

改造与验证路径

推荐方向

case_by_case · SDO_INSIDE(a,b) TRUE/FALSE 谓词 -> ST_Within(a,b) / NOT ST_Within(a,b)

库侧

使用获批扩展或目标原生函数按 rewrite 重构;空间/XML 能力需连同类型、索引和编码一起迁移 · 风险 review

应用侧

在应用层实现参数与结果转换;无法证明数据库等价时保留明确的业务契约变更 · 风险 manual

验收步骤

建议 PoC 复核正常值、NULL、边界值、返回类型与异常行为,并与 Oracle 逐项比对

公开来源