Remarque
Ce contenu dĂ©crit la version la plus rĂ©cente de CodeQL CLI. Pour plus dâinformations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.
Pour voir les dĂ©tails des options disponibles pour cette commande dans une version antĂ©rieure, exĂ©cutez la commande avec lâoption --help
dans votre terminal.
Synopsis
codeql dataset upgrade [--threads=<num>] [--ram=<MB>] <options>... -- <dataset>
codeql dataset upgrade [--threads=<num>] [--ram=<MB>] <options>... -- <dataset>
Description
[Plombage] Met Ă niveau un jeu de donnĂ©es pour que les outils actuels puissent lâutiliser.
Fait la mĂȘme chose que codeql database upgrade, mais fonctionne sur un jeu de donnĂ©es brut plutĂŽt que sur une base de donnĂ©es entiĂšre.
Options
Options principales
<dataset>
[Obligatoire] Chemin du jeu de données QL brut à mettre à niveau.
--search-path=<dir>[:<dir>...]
Liste des rĂ©pertoires dans lesquels des packs QL contenant des recettes de mise Ă niveau peuvent ĂȘtre trouvĂ©s. Chaque rĂ©pertoire peut ĂȘtre un pack QL (ou un bundle de packs contenant un fichier .codeqlmanifest.json
Ă la racine) ou le parent immĂ©diat dâun ou plusieurs de ces rĂ©pertoires.
Si le chemin contient des arborescences de rĂ©pertoires, leur ordre dĂ©finit la prioritĂ© entre elles : si un nom de pack qui doit ĂȘtre rĂ©solu est mis en correspondance dans plusieurs arborescences de rĂ©pertoires, celle donnĂ©e en premier gagne.
Le pointage de ce chemin vers une extraction du dĂ©pĂŽt CodeQL open source devrait fonctionner lors de lâinterrogation dâun des langages qui y rĂ©sident.
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--additional-packs=<dir>[:<dir>...]
[AvancĂ©] Si cette liste de rĂ©pertoires est donnĂ©e, ils font lâobjet dâune recherche de mises Ă niveau avant ceux indiquĂ©s dans --search-path
. Lâordre entre eux nâa pas dâimportance ; il sâagit dâune erreur si un nom de pack est trouvĂ© dans deux rĂ©pertoires diffĂ©rents de cette liste.
Cette option est utile si vous dĂ©veloppez temporairement une nouvelle version dâun pack qui apparaĂźt aussi dans le chemin par dĂ©faut. En revanche, il nâest pas recommandĂ© de remplacer cette option dans un fichier de configuration ; certaines actions internes ajoutent cette option Ă la volĂ©e, remplaçant toute valeur configurĂ©e.
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--target-dbscheme=<file>
SchĂ©ma de base de donnĂ©es cible vers lequel nous voulons effectuer la mise Ă niveau. Sâil nâest pas fourni, un chemin de mise Ă niveau maximal est construit
--target-sha=<sha>
[Avancé] Alternative à --target-dbscheme
qui donne le hachage interne du schéma de base de données cible au lieu du fichier du schéma de base de données.
--[no-]allow-downgrades
Inclut tous les passages Ă une version antĂ©rieure pertinents sâil nây a aucune mise Ă niveau
Options pour contrĂŽler lâĂ©valuation des requĂȘtes de mise Ă niveau
--[no-]tuple-counting
[AvancĂ©] Affiche le nombre de tuples pour chaque Ă©tape dâĂ©valuation dans les journaux de lâĂ©valuateur de requĂȘte. Si lâoption --evaluator-log
est fournie, les nombres de tuples sont inclus dans les journaux JSON textuels et structurĂ©s gĂ©nĂ©rĂ©s par la commande. (Cela peut ĂȘtre utile pour lâoptimisation des performances du code QL complexe.)
--timeout=<seconds>
[AvancĂ©] DĂ©finit la durĂ©e du dĂ©lai dâexpiration pour lâĂ©valuation de la requĂȘte, en secondes.
La fonctionnalitĂ© de dĂ©lai dâexpiration est destinĂ©e Ă intercepter les cas oĂč lâĂ©valuation dâune requĂȘte complexe durerait « indĂ©finiment ». Il ne sâagit pas dâun moyen efficace de limiter la durĂ©e totale de lâĂ©valuation de la requĂȘte. LâĂ©valuation est autorisĂ©e Ă se poursuivre tant que chaque partie du calcul se termine dans le dĂ©lai dâexpiration qui lui a Ă©tĂ© imparti sĂ©parĂ©ment. Pour lâinstant, ces parties sont des « couches RA » de la requĂȘte optimisĂ©e, mais cela peut changer.
Si aucun dĂ©lai dâexpiration nâest spĂ©cifiĂ© ou que 0 est fourni, aucun dĂ©lai nâest dĂ©fini (sauf pour codeql test run, oĂč le dĂ©lai dâexpiration par dĂ©faut est de 5 minutes).
-j, --threads=<num>
Utilise le nombre de threads spĂ©cifiĂ© pour Ă©valuer les requĂȘtes.
La valeur par dĂ©faut est de 1. Vous pouvez passer 0 pour utiliser un thread par cĆur sur la machine ou -N pour laisser N cĆurs inutilisĂ©s (sauf si au moins un thread est toujours utilisĂ©).
--[no-]save-cache
[AvancĂ©] Ăcrit de maniĂšre agressive des rĂ©sultats intermĂ©diaires dans le cache de disque. Cela prend plus de temps et utilise (beaucoup) plus dâespace disque, mais peut accĂ©lĂ©rer lâexĂ©cution ultĂ©rieure de requĂȘtes similaires.
--[no-]expect-discarded-cache
[AvancĂ©] Prend des dĂ©cisions sur les prĂ©dicats Ă Ă©valuer et sur ce quâil faut Ă©crire dans le cache de disque, en supposant que le cache soit ignorĂ© une fois les requĂȘtes exĂ©cutĂ©es.
--[no-]keep-full-cache
[AvancĂ©] Ne nettoie pas le cache de disque une fois lâĂ©valuation terminĂ©e. Cela peut faire gagner du temps si vous ĂȘtes amenĂ© Ă exĂ©cuter codeql dataset cleanup ou codeql database cleanup par la suite.
--max-disk-cache=<MB>
DĂ©finit la quantitĂ© maximale dâespace que le cache de disque peut utiliser pour les rĂ©sultats de requĂȘte intermĂ©diaires.
Si cette taille nâest pas configurĂ©e explicitement, lâĂ©valuateur essaie dâutiliser une quantitĂ© « raisonnable » dâespace de cache en fonction de la taille du jeu de donnĂ©es et de la complexitĂ© des requĂȘtes. La dĂ©finition explicite dâune limite supĂ©rieure Ă cette utilisation par dĂ©faut permet une mise en cache supplĂ©mentaire qui peut accĂ©lĂ©rer les requĂȘtes ultĂ©rieures.
--min-disk-free=<MB>
[AvancĂ©] DĂ©finit la quantitĂ© cible dâespace disponible sur le systĂšme de fichiers.
Si --max-disk-cache
nâest pas donnĂ©, lâĂ©valuateur sâefforce de limiter lâutilisation du cache de disque si lâespace disponible sur le systĂšme de fichiers passe en dessous de cette valeur.
--min-disk-free-pct=<pct>
[AvancĂ©] DĂ©finit la fraction cible dâespace disponible sur le systĂšme de fichiers.
Si --max-disk-cache
nâest pas donnĂ©, lâĂ©valuateur sâefforce de limiter lâutilisation du cache de disque si lâespace disponible sur le systĂšme de fichiers passe en dessous de ce pourcentage.
--external=<pred>=<file.csv>
Fichier CSV qui contient des lignes pour le prédicat <pred> externe.
Vous pouvez fournir plusieurs options --external
.
--xterm-progress=<mode>
[AvancĂ©] ContrĂŽle sâil faut afficher le suivi de la progression pendant lâĂ©valuation du code QL avec des sĂ©quences de contrĂŽle xterm. Les valeurs possibles sont les suivantes :
no
: ne produit jamais de progression fantaisiste ; suppose quâil sâagit dâun terminal idiot.
auto
(par dĂ©faut) : dĂ©termine automatiquement si la commande sâexĂ©cute dans un terminal appropriĂ©.
yes
: suppose que le terminal peut comprendre les sĂ©quences de contrĂŽle xterm. La fonctionnalitĂ© dĂ©pend toujours de la capacitĂ© Ă dĂ©tecter automatiquement la taille du terminal (ce qui nâest pas implĂ©mentĂ© sous Windows, dĂ©solĂ©), et sera Ă©galement dĂ©sactivĂ©e si -q
est spécifié.
25x80
(ou similaire) : comme yes
, et donne aussi explicitement la taille du terminal. (Contrairement Ă yes
, cela devrait fonctionner sous Windows.)
25x80:/dev/pts/17
(ou similaire) : affiche une progression fantaisiste sur un terminal différent de stderr. Principalement utile pour les tests internes.
Options pour contrĂŽler la sortie des journaux structurĂ©s de lâĂ©valuateur
--evaluator-log=<file>
[AvancĂ©] GĂ©nĂšre des journaux structurĂ©s sur les performances de lâĂ©valuateur dans le fichier donnĂ©. Le format de ce fichier journal est susceptible dâĂȘtre modifiĂ© sans prĂ©avis, mais il sâagit dâun flux dâobjets JSON sĂ©parĂ©s par deux caractĂšres de nouvelle ligne (par dĂ©faut) ou un seul si lâoption --evaluator-log-minify
est transmise. Utilisez codeql generate log-summary <file>
pour produire un rĂ©sumĂ© plus stable de ce fichier et Ă©vitez dâanalyser le fichier directement. Le fichier est remplacĂ©, sâil existe dĂ©jĂ .
--evaluator-log-minify
[AvancĂ©] Si lâoption --evaluator-log
est transmise, le passage de cette option rĂ©duit Ă©galement la taille du journal JSON produit, mais celui-ci devient beaucoup moins lisible par les ĂȘtres humains en contrepartie.
Options pour contrĂŽler lâutilisation de la RAM du processus de mise Ă niveau
-M, --ram=<MB>
L'Ă©valuateur de requĂȘtes s'efforcera de maintenir son empreinte mĂ©moire totale en dessous de cette valeur. (Toutefois, pour les grandes bases de donnĂ©es, il est possible que le seuil soit dĂ©passĂ© par les cartes mĂ©moire sauvegardĂ©es sur fichier, qui peuvent ĂȘtre basculĂ©es sur disque en cas de sollicitation de la mĂ©moire).
La valeur doit ĂȘtre d'au moins 2048 Mo ; les valeurs infĂ©rieures seront arrondies de maniĂšre transparente.
Options courantes
-h, --help
Affiche ce texte dâaide.
-J=<opt>
[AvancĂ©] Donne une option Ă lâenvironnement JVM exĂ©cutant la commande.
(Attention, les options contenant des espaces ne sont pas gérées correctement.)
-v, --verbose
Augmente de façon incrémentielle le nombre de messages de progression affichés.
-q, --quiet
Diminue de façon incrémentielle le nombre de messages de progression affichés.
--verbosity=<level>
[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v
et -q
.
--logdir=<dir>
[AvancĂ©] Ăcrit des journaux dĂ©taillĂ©s dans un ou plusieurs fichiers du rĂ©pertoire donnĂ©, avec des noms gĂ©nĂ©rĂ©s qui incluent des horodatages et le nom de la sous-commande en cours dâexĂ©cution.
(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrÎle total, donnez plutÎt --log-to-stderr
et redirigez stderr comme vous le souhaitez.)
--common-caches=<dir>
[AvancĂ©] ContrĂŽle lâemplacement des donnĂ©es en cache sur le disque qui persisteront entre plusieurs exĂ©cutions de lâinterface CLI, telles que les packs QL tĂ©lĂ©chargĂ©s et les plans de requĂȘte compilĂ©s. Sâil nâest pas dĂ©fini explicitement, il sâagit par dĂ©faut dâun rĂ©pertoire nommĂ© .codeql
dans le rĂ©pertoire de base de lâutilisateur. Sâil nâexiste pas dĂ©jĂ , il est créé.
Disponible depuis v2.15.2
.