Removing and re-adding database with same folder path does not work properly
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 42/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript, vscode
- 领域
- devtools
调研方向
从 VS Code 扩展的数据库删除和重新添加流程开始,使用编号的复现步骤来观察陈旧状态。重新创建数据库后复现 codeql-zip-archive 错误,然后验证重新打开源文件和查询结果时不会保留之前数据库的状态。
由索引模型根据 Issue 内容生成。
描述
Version
Extension 1.4.5
CodeQL CLI 2.5.1
Describe the bug
Removing a database after having run queries on it and viewed ASTs and then re-adding a different database at the same file system location (e.g. because you made changes to the source code and then created the database again) prevents browsing the source code of that database.
To Reproduce
- Create a folder
test-db - In that folder create a
Test.javafile with this content:class Test { } - Run
codeql database create --language=java --source-root=. "--command=javac *.java" db - In VSCode add the
test-db/dbfolder as database - Run any query, e.g.:
import java from Class c where c.fromSource() select c - Click on the result to open the
.javasource - Run "View AST"
- Optional: Close the
.javafile and remove the AST view and the query result from the list - Use "Remove Database"
- Make a change to the
Test.javafile:class Test { void someMethod() { } } - Delete the
test-db/dbfolder and create the database again:codeql database create --language=java --source-root=. "--command=javac *.java" db - In VSCode add the database again
- Run any query again, and click on the result
❌ Nothing happens; the CodeQL Query Server output contains:
Similarly, clicking on theUnable to handleMsgFromView: cannot open codeql-zip-archive://1-51/#REDACTED#%5Ctest-db%5Cdb%5Csrc.zip/#REDACTED#/test-db/Test.java. Detail: Unable to read file 'codeql-zip-archive://1-51/#REDACTED#\test-db\db\src.zip/#REDACTED#/test-db/Test.java' (Error: unexpected end of file)Test.javasource file in the files explorer of VSCode causes a similar error.
Note: Steps 5 - 8 (inclusive) might not be needed to reproduce this.
Expected behavior
When re-adding a database for which a database with the same folder path existed previously, all state of that previous database should be removed.
Removal of previous database state could happen either when the database is removed, or when a database with the same folder path is re-added. Maybe it would be better to only perform this when re-adding the database (instead of on removal) to allow the user to still view some information after the database has been removed (might be useful when importing test databases).
- 主要语言
- TypeScript
- 星标
- 539
- 派生
- 240
- 平均合并
- 2 天 18 小时
- 30 天内合并 PR
- 37
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/vscode-codeql 的其他 Issue
-
bug VSCode
难度 2/5 1-3 小时 新手友好度 68/100
github/vscode-codeql#4471 · 1 条评论 ·
-
bug enhancement VSCode
难度 2/5 1-3 小时 新手友好度 68/100
github/vscode-codeql#592 · 2 条评论 ·
-
enhancement VSCode
难度 3/5 1-2 天 新手友好度 55/100
github/vscode-codeql#4432 · 1 条评论 ·
-
bug VSCode
难度 3/5 1-2 天 新手友好度 52/100
github/vscode-codeql#4356 ·
-
bug VSCode
难度 3/5 1-2 天 新手友好度 64/100
github/vscode-codeql#4339 · 1 条评论 ·
查看 github/vscode-codeql 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
bug v2
难度 2/5 1-3 小时 新手友好度 75/100
modelcontextprotocol/inspector#2458 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
难度 2/5 1-3 小时 新手友好度 70/100
carbon-design-system/ibm-products#9907 ·