Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

execute query-server2

[Сантехника] Поддержка выполнения запросов из URI.

GitHub CodeQL лицензируется для каждого пользователя после установки. CodeQL можно использовать только для определенных задач с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о CodeQL CLI.

Если у вас есть лицензия на GitHub Advanced Security, вы можете использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной поставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .

Краткий обзор

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

Описание

[Сантехника] Поддержка выполнения запросов из URI.

Эта команда относится только к авторам расширений языка QL для URI. Он запускается подключаемым модулем интегрированной среды разработки в фоновом режиме и взаимодействует с ним по специальному протоколу в стандартных потоках входных и выходных данных.

Доступно начиная с v2.10.11.

Основные параметры

--[no-]tuple-counting

[Дополнительно] Отображение счетчиков кортежей для каждого этапа оценки в журналах средства оценки запросов. --evaluator-log Если этот параметр указан, счетчики кортежей будут включены в текстовые и структурированные журналы JSON, созданные командой . (Это может быть полезно для оптимизации производительности сложного кода QL.)

--timeout=<seconds>

[Дополнительно] Установите время ожидания для оценки запроса в секундах.

Функция времени ожидания предназначена для перехвата случаев, когда для оценки сложного запроса потребуется "навсегда". Это не эффективный способ ограничить общее время, которое может занять вычисление запроса. Оценка будет продолжаться до тех пор, пока каждая отдельная часть вычисления по времени завершается в течение времени ожидания. В настоящее время эти отдельные временные части являются уровнями RA оптимизированного запроса, но в будущем они могут измениться.

Если время ожидания не указано или равно 0, время ожидания не устанавливается (за исключением тестового запуска codeql, где время ожидания по умолчанию составляет 5 минут).

-j, --threads=<num>

Используйте это количество потоков для оценки запросов.

По умолчанию равен 1. Можно передать 0, чтобы использовать один поток на каждом ядре на компьютере, или -N , чтобы оставить N ядер неиспользуемых (за исключением использования хотя бы одного потока).

--[no-]save-cache

[Дополнительно] Агрессивно записывайте промежуточные результаты в кэш диска. Это занимает больше времени и использует (гораздо) больше места на диске, но может ускорить последующее выполнение аналогичных запросов.

--[no-]expect-discarded-cache

[Дополнительные возможности. Принимать решения о том, какие предикаты следует оценивать и что записывать в кэш диска, исходя из предположения, что кэш будет удален после выполнения запросов.

--[no-]keep-full-cache

[Дополнительно. Не очищайте кэш диска после завершения оценки. Это может сэкономить время, если вы собираетесь выполнить очистку набора данных codeql или очистку базы данных codeql .

--max-disk-cache=<MB>

Задайте максимальный объем пространства, который может использовать кэш диска для промежуточных результатов запроса.

Если этот размер не настроен явным образом, средство оценки попытается использовать "разумный" объем кэша в зависимости от размера набора данных и сложности запросов. Явное задание более высокого предела, чем это использование по умолчанию, включит дополнительное кэширование, что может ускорить последующие запросы.

--min-disk-free=<MB>

[Дополнительно] Задайте целевой объем свободного места в файловой системе.

Если --max-disk-cache значение не задано, средство оценки попытается ограничить использование кэша диска, если свободное пространство в файловой системе окажется ниже этого значения.

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

[Дополнительно] Задайте целевую долю свободного места в файловой системе.

Если --max-disk-cache значение не задано, средство оценки попытается ограничить использование кэша диска, если свободное пространство в файловой системе будет меньше этого процента.

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

CSV-файл, содержащий строки для внешнего предиката \. Можно указать несколько --external вариантов.

--xterm-progress=<mode>

[Дополнительно] Определяет, следует ли отображать отслеживание хода выполнения во время оценки QL с помощью последовательностей элементов управления xterm. Возможны следующие значения:

no: никогда не производить фантазии прогресса; Предположим, глупый терминал.

auto(по умолчанию): автоматически определяет, выполняется ли команда в соответствующем терминале.

yes: предположим, что терминал может понимать последовательности элементов управления xterm. Функция по-прежнему зависит от возможности автоматического определение размера терминала и также будет отключена, если -q она задана.

25x80 (или аналогично): например yes, а также явно укажите размер терминала.

25x80:/dev/pts/17 (или аналогичный): отображение хода выполнения на терминале, отличном от stderr. В основном используется для внутреннего тестирования.

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

Это работает аналогично параметру компиляции запроса codeql (q.v.).

Параметры или --library-path отсутствуют--additional-packs, так как соответствующие значения предоставляются для каждого запроса.

(Примечание. В Windows разделитель пути — ).;

Параметры управления выходными данными структурированных журналов средства оценки

--evaluator-log=<file>

[Дополнительно] Вывод структурированных журналов о производительности средства оценки в указанный файл. Формат этого файла журнала может быть изменен без уведомления, но будет потоком объектов JSON, разделенных двумя символами новой строки (по умолчанию) или одним, если --evaluator-log-minify параметр передан. Используйте для codeql generate log-summary <file> создания более стабильной сводки по этому файлу и избегайте непосредственного анализа файла. Файл будет перезаписан, если он уже существует.

--evaluator-log-minify

[Дополнительно] Если --evaluator-log параметр передан, передача этого параметра позволит свести к минимуму размер создаваемого журнала JSON за счет того, что он будет гораздо менее удобочитаемым.

Общие параметры

-h, --help

Показать этот текст справки.

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине Java, запустив команду .

(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)

-v, --verbose

Добавочное увеличение числа выводемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в заданном каталоге с созданными именами, включая метки времени и имя выполняющейся подкоманды.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr и перенаправьте stderr.)