Skip to main content

execute query-server2

[Plumbing] 支持从 IDE 运行查询。

谁可以使用此功能?

CodeQL 可用于以下存储库类型:

本文内容

注意

此内容描述了 CodeQL CLI 的最新版本。 有关此版本的详细信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

若要查看早期版本中此命令可用选项的详细信息,请在终端中使用 --help 选项运行命令。

摘要

Shell
codeql execute query-server2 [--threads=<num>] <options>...

说明

[Plumbing] 支持从 IDE 运行查询。

此命令仅与 IDE 的 QL 语言扩展的作者相关。 它由 IDE 插件在后台启动,并通过标准输入和输出流上的特殊协议与其通信。

v2.10.11 起可用。

选项

主要选项

--[no-]tuple-counting

[高级] 显示查询计算器日志中每个评估步骤的元组计数。 如果提供了 --evaluator-log 选项,则元组计数将包含在命令生成的基于文本的 JSON 日志和结构化 JSON 日志中。 (这对复杂 QL 代码的性能优化非常有用)。

--timeout=<seconds>

[高级] 设置查询评估的超时长度(以秒为单位)。

超时功能旨在捕获复杂查询需要“长久时间”来评估的情况。 这不是限制查询评估可花费的总时间的有效方法。 只要计算的每个单独计时部分在超时时间内完成,就允许评估继续进行。 目前,这些单独计时部分是已优化查询的“RA 层”,但将来可能会变化。

如果未指定超时或将其指定为 0,则不会设置超时(codeql test run 除外,默认超时为 5 分钟)。

-j, --threads=<num>

使用如此多的线程来评估查询。

默认值为 1。 可以传递 0 以在计算机上对每个核心都使用一个线程,也可以传递 -N 以将 N 个核心保留为未使用状态(仍至少使用一个线程的情况除外) 。

--[no-]save-cache

[高级] 主动将中间结果写入磁盘缓存。 这需要更多时间并使用更多(多得多)的磁盘空间,但可能会加快类似查询的后续执行。

--[no-]expect-discarded-cache

[高级] 根据执行查询后将丢弃缓存的假设,决定要评估哪些谓词以及要写入磁盘缓存的内容。

--[no-]keep-full-cache

[高级] 评估完成后,不要清理磁盘缓存。 如果以后要执行 codeql dataset cleanupcodeql database cleanup,这样可能会节省时间。

--max-disk-cache=<MB>

设置磁盘缓存可用于中间查询结果的最大空间量。

如果未显式配置此大小,计算器将根据数据集大小和查询复杂性尝试使用“合理的”缓存空间量。 显式设置高于此默认使用量的限制将启用额外的缓存,从而加快以后的查询速度。

--min-disk-free=<MB>

[高级] 设置文件系统上的目标可用空间量。

如果未提供 --max-disk-cache,当文件系统上的可用空间低于此值时,计算器便会努力减少磁盘缓存使用量。

--min-disk-free-pct=<pct>

[高级] 设置文件系统可用空间的目标部分。

如果未提供 --max-disk-cache,当文件系统上的可用空间低于此百分比时,计算器便会努力减少磁盘缓存使用量。

--external=<pred>=<file.csv>

包含外部谓词 <pred> 的行的 CSV 文件。 可以提供多个 --external 选项。

--xterm-progress=<mode>

[高级] 使用 xterm 控制序列控制是否在 QL 评估期间显示进度跟踪。 可能的值包括:

no:从不产生绚丽的进度;假设是一个非智能终端。

auto(默认值):自动检测命令是否在相应的终端中运行。

yes:假设终端可以理解 xterm 控制序列。 该功能仍取决于能否自动检测终端的大小,并将能够禁用(如果给定 -q)。

25x80(或类似):类似于 yes,并显式指定终端的大小。

25x80:/dev/pts/17(或类似):在不同于 stderr 的终端上显示绚丽的进度。 主要对内部测试有用。

--search-path=<dir>[:<dir>...]

这与 codeql query compile (q.v.) 的类似选项相似。

没有 --additional-packs--library-path 选项,因为每个查询都提供相应的值

(注意:在 Windows 上,路径分隔符为 ;)。

用于控制结构化计算器日志输出的选项

--evaluator-log=<file>

[高级] 将有关计算器性能的结构化日志输出到给定文件。 此日志文件的格式可能会更改,恕不通知,但是它将是一连串用两个换行符(默认)或一个换行符(通过传递了 --evaluator-log-minify 选项)分隔的 JSON 对象。 请使用 codeql generate log-summary <file> 生成此文件的更稳定的摘要,并避免直接分析该文件。 如果文件存在,将覆盖该文件。

--evaluator-log-minify

[高级] 如果传递了 --evaluator-log 选项,则另外传递此选项将最大程度地减小生成的 JSON 日志的大小,但代价是降低其用户可读性。

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

[高级] 为运行命令的 JVM 提供选项。

(请注意,无法正确处理包含空格的选项。)

-v, --verbose

以增量方式增加输出的进度消息数。

-q, --quiet

以增量方式减少输出的进度消息数。

--verbosity=<level>

[高级] 将详细级别显式设置为“错误”、“警告”、“进度”、“进度+”、“进度++”、“进度+++”之一。 重写 -v-q

--logdir=<dir>

[高级] 将详细日志写入给定目录中的一个或多个文件,其中生成的名称包括时间戳和正在运行的子命令的名称。

(若要使用可以完全控制的名称编写日志文件,请根据需要提供 --log-to-stderr 并重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的位置,此位置会在多次运行 CLI(例如下载的 QL 包和已编译查询计划)期间暂留。 如果未明确设置,则默认为用户主目录中名为 .codeql 的目录;如果尚不存在,则会创建该目录。

v2.15.2 起可用。

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy