database compatibility assessment

MYSQL JSON 列 -> / ->> 操作符 迁移 oceanbase 4.3 mysql 模式 怎么改

迁衡基于规则 my.syntax.json_arrow 分析 MYSQL JSON 列 -> / ->> 操作符 到 oceanbase 4.3 mysql 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:oceanbase 4.2.5.7 · JSON 操作符/函数子集(4.x 持续补齐);-> / ->> 支持情况待真库验证 |实测2026-07-09(v4.2.5.7,172.16.0.146): -> 操作符 EXPLAIN 通过
支持度partial
严重度minor
置信度high
依据规则my.syntax.json_arrow

怎么改

需按命中位置逐条评估改写

判定说明

JSON 操作符/函数子集(4.x 持续补齐);-> / ->> 支持情况待真库验证 |实测2026-07-09(v4.2.5.7,172.16.0.146): -> 操作符 EXPLAIN 通过

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:MySQL 的 -> 取 JSON、->> 取反引号文本,路径是 '$.a.b' 形式;PG 的同名操作符按"键/下标"逐级取值,路径语义完全不同——同形不同义,必须逐处改写并回归(正则匹配的是字面量剥离后的 ->'' 残迹)

规则样例

SELECT payload->'$.user.id' FROM msg
SELECT doc->>'$.name' FROM t WHERE id = 1
SELECT JSON_EXTRACT(payload, '$.user.id') FROM msg