Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

execute query-server2

[Conexão] Suporte para execução de consultas em IDEs.

O CodeQL do GitHub é licenciado por usuário após a instalação. Você pode usar o CodeQL somente para determinadas tarefas sob as restrições de licença. Para obter mais informações, confira "Sobre a CLI do CodeQL".

Se você tiver uma conta do GitHub Enterprise e uma licença do GitHub Advanced Security, poderá usar o CodeQL para análise automatizada, integração contínua e entrega contínua. Você pode criar uma conta corporativa entrando em contato com a equipe de vendas. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

This content describes the most recent release of the CodeQL CLI. For more information about this release, see https://github.com/github/codeql-cli-binaries/releases.

To see details of the options available for this command in an earlier release, run the command with the --help option in your terminal.

Sinopse

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

Descrição

[Conexão] Suporte para execução de consultas em IDEs.

Esse comando só é relevante para autores de extensões de linguagem QL para IDEs. Ele é iniciado pelo plug-in do IDE em segundo plano e se comunica com ele por meio de um protocolo especial nos fluxos de entrada e de saída padrão.

Disponível desde v2.10.11.

Opções principais

--[no-]tuple-counting

[Avançado] Veja as contagens de tupla de cada etapa de avaliação nos logs do avaliador de consulta. Se a opção --evaluator-log for fornecida, as contagens de tupla serão incluídas nos logs JSON baseados em texto e estruturados produzidos pelo comando. (Isso pode ser útil para a otimização de desempenho de um código QL complexo).

--timeout=<seconds>

[Avançado] Defina o tempo limite para a avaliação da consulta, em segundos.

O recurso de tempo limite se destina a capturar casos em que uma consulta complexa levará um tempo prologado indeterminado para ser avaliada. Não é uma forma eficaz de limitar o tempo total que a avaliação de consulta pode levar. A avaliação terá permissão para continuar, desde que cada parte cronometrada separadamente da computação seja concluída dentro do tempo limite. Atualmente, essas partes cronometradas separadamente são "camadas de RA" da consulta otimizada, mas isso poderá mudar no futuro.

Se nenhum tempo limite for especificado ou for fornecido como 0, nenhum tempo limite será definido (exceto codeql test run, sendo que o tempo limite padrão é de cinco minutos).

-j, --threads=<num>

Use esse número de threads para avaliar as consultas.

O valor padrão é 1. Você pode transmitir 0 para usar um thread por núcleo no computador ou -N para manter N núcleos não utilizados (com a exceção de que ainda será usado, pelo menos, um thread).

--[no-]save-cache

[Avançado] Grava agressivamente os resultados intermediários no cache de disco. Isso leva mais tempo e usa (muito) mais espaço em disco, mas pode acelerar a execução seguinte de consultas semelhantes.

--[no-]expect-discarded-cache

[Avançado] Tome decisões sobre os predicados que serão avaliados e o que será gravado no cache de disco, com base na suposição de que o cache será descartado após a execução das consultas.

--[no-]keep-full-cache

[Avançado] Não limpe o cache de disco após a conclusão da avaliação. Isso poderá economizar tempo se você executar codeql dataset cleanup ou codeql database cleanup posteriormente de qualquer maneira.

--max-disk-cache=<MB>

Defina a quantidade máxima de espaço que pode ser usada pelo cache de disco para os resultados intermediários da consulta.

Se esse tamanho não for configurado explicitamente, o avaliador tentará usar uma quantidade "razoável" de espaço em cache, com base no tamanho do conjunto de dados e na complexidade das consultas. Se você definir explicitamente um limite mais alto do que esse uso padrão, isso habilitará o cache adicional, que pode acelerar as consultas posteriores.

--min-disk-free=<MB>

[Avançado] Defina a quantidade de destino de espaço livre no sistema de arquivos.

Se --max-disk-cache não for fornecido, o avaliador tentará reduzir o uso do cache de disco se o espaço livre no sistema de arquivos ficar abaixo desse valor.

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

[Avançado] Defina a fração de destino de espaço livre no sistema de arquivos.

Se --max-disk-cache não for fornecido, o avaliador tentará reduzir o uso do cache de disco se o espaço livre no sistema de arquivos ficar abaixo desse percentual.

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

Um arquivo CSV que contém linhas para o predicado externo \ . É possível fornecer várias opções --external.

--xterm-progress=<mode>

[Avançado] Controla se o acompanhamento de progresso deve ser mostrado durante a avaliação de QL usando sequências do controle xterm. Os valores possíveis são:

no: nunca produza um progresso sofisticado; pressuponha um terminal burro.

auto (padrão) : detecte automaticamente se o comando está sendo executado em um terminal apropriado.

yes: suponha que o terminal possa entender as sequências do controle xterm. O recurso ainda depende da capacidade de fazer a detecção automática do tamanho do terminal, sendo também desabilitado se -q for fornecido.

25x80 (ou semelhante): como yes, além de fornecer explicitamente o tamanho do terminal.

25x80:/dev/pts/17 (ou semelhante): mostre um progresso sofisticado em um terminal diferente do stderr. Principalmente útil para testes internos.

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

Isso funciona como a opção semelhante à codeql query compile (q.v.).

Não há nenhuma opção --additional-packs ou --library-path, pois os valores correspondentes são fornecidos por consulta

(Observação: no Windows, o separador de caminho é ;).

Opções para controlar a saída de logs estruturados do avaliador

--evaluator-log=<file>

[Avançado] Saída de logs estruturados sobre o desempenho do avaliador para o arquivo especificado. O formato desse arquivo de log está sujeito a alterações sem aviso prévio, mas será um fluxo de objetos JSON separados por dois caracteres de nova linha (por padrão) ou um se a opção --evaluator-log-minify for transmitida. Use codeql generate log-summary <file> para produzir um resumo mais estável desse arquivo e evitar a análise direta dele. O arquivo será substituído se ele já existir.

--evaluator-log-minify

[Avançado] Se a opção --evaluator-log for transmitida, também transmitir essa opção minimizará o tamanho do log JSON produzido, em detrimento de torná-lo muito menos legível por humanos.

Opções comuns

-h, --help

Mostre este texto de ajuda.

-J=<opt>

[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

-v, --verbose

Aumente incrementalmente o número de mensagens de progresso impressas.

-q, --quiet

Diminua incrementalmente o número de mensagens de progresso impressas.

--verbosity=<level>

[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v e -q.

--logdir=<dir>

[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr e redirecione stderr conforme desejado.)