handle_flatmap_contains()
function handle_flatmap_contains(
entityMetadata,
originalField,
rule
): string | null;
Defined in: packages/rxdb-adapter-sqlite-core/src/query/query_sql.utils.ts:433
处理 keyValue 字段的 contains/notContains 查询
Parameters
| Parameter | Type |
|---|---|
entityMetadata | EntityMetadata |
originalField | string |
rule | QueryRuleValue |
Returns
string | null
Remarks
已知限制:当前实现假定点号仅用于嵌套路径分隔。
如果 keyValue 对象内部的键本身包含点号,此方法将无法正确工作。
详见 query_sql.ts 中 _try_process_top_level_flatmap 的文档说明。
返回 null 表示「这条规则不归本函数管」(交回通用子串路径),与「匹配空集」是两回事 ——
后者必须返回恒真/恒假常量。曾经在条目全为空时返回 '':build_substring_rule 只把 null
当作「不归我管」,于是空串被原样带出,再被 buildRuleGroup 的 .filter(Boolean) 删掉,
一条本该收窄结果的 contains 过滤器换到了整张表。