Oracle: size() of a text longer than 4,000 characters is null
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 drivine/cypher/sql/oracle_cypher_compiler.py:392 开始,追踪 size() 如何编译其 JSON 文本查找;issue 指出 JSON_VALUE 的默认限制为 4,000 个字符。为存储的 5,000 字符文本添加一个 spec 用例,并运行相关的编译器 spec。查询返回 5000(与 Neo4j 一致)即为完成。
由索引模型根据 Issue 内容生成。
描述
Port of liberation-data/drivine4j#298.
MATCH (n:Doc) WITH n.a AS x RETURN size(x) // n.a = "x" * 5_000
Neo4j returns 5000. The compiled SQL measures the text as LENGTH(JSON_VALUE(w3.c1, '$')), and JSON_VALUE returns VARCHAR2(4000) unless told otherwise, so a longer text is null (NULL ON ERROR). Found while benchmarking #255; it's the same on main and with #255's fix.
Expected: 5000, as Neo4j gives. Reading the text with RETURNING CLOB (and LENGTH of that) would do it; other places that read a text with JSON_VALUE with no RETURNING clause may have the same 4,000 limit.
A spec case: size() of a stored text of 5,000 characters.
Where: drivine/cypher/sql/oracle_cypher_compiler.py:392.
- 主要语言
- Python
- 星标
- 1
- 派生
- 0
- 平均合并
- 1 小时 10 分钟
- 30 天内合并 PR
- 88
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
liberation-data/drivine-python 的其他 Issue
-
CI: three Oracle-only tests in test_cypher_compiled.py never run, as -k oracle doesn't select them未关闭
难度 1/5 1 小时以内 新手友好度 88/100
liberation-data/drivine-python#178 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
liberation-data/drivine-python#138 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
liberation-data/drivine-python#189 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
liberation-data/drivine-python#188 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 56/100
liberation-data/drivine-python#187 · 1 条评论 ·
维护者通常 1 天内回复
查看 liberation-data/drivine-python 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
letsencrypt/cp-cps#361 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
-
CI: startup_failure because callers grant fewer permissions than ledger-app-workflows@v1 declares可能已有人在做 @maykonmichel 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
LedgerHQ/app-boilerplate-rust#227 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
linuxmint/mintupdate#1107 ·