Expand description
SQL 路由工具:从查询 SQL 中识别命名 provider 前缀并剥离。
OML 查询如 select country_name from geo.public.ip_geo_city where ip_num = :ip_num
中,首个表引用第一段 geo 指向已安装的命名 provider,geo. 前缀会被剥离后
再交给 PostgreSQL(否则 PG 会把三段名当作 catalog.schema.table 并报跨库错误)。
Functions§
- first_
table_ name - 返回 SQL 中首个 FROM 表引用(跳过字符串与注释,递归处理子查询)。
- route_
provider_ sql - 从 SQL 中提取路由信息:若首个表引用第一段命中已安装的命名 provider,
返回
(provider_name, 剥离前缀后的 SQL);否则返回None(走默认 provider)。 - strip_
provider_ prefix - 引号感知地剥离 SQL 中所有
<name>.前缀(仅当处于标识符起始位置, 即前一个字符不是标识符或.,且<name>.后紧跟标识符)。