Skip to main content

database finalize

[Plomberie] Étapes finales de la création de bases de données.

Qui peut utiliser cette fonctionnalité ?

GitHub CodeQL est concédé sous licence par utilisateur lors de l’installation. Vous pouvez utiliser CodeQL uniquement pour certaines tâches soumises aux restrictions de licence. Pour plus d’informations, consultez « À propos de CodeQL CLI ».

Si vous disposez d’une licence GitHub Advanced Security, vous pouvez utiliser CodeQL pour l’analyse automatisée, l’intégration continue et la livraison continue. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

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

Shell
codeql database finalize [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] <options>... -- <database>

Description

[Plomberie] Étapes finales de la création de bases de données.

Finalise une base de données qui a été créée avec codeql database init et qui a ensuite été alimentée avec des données d’analyse avec codeql database trace-command. Cela doit se produire avant que la nouvelle base de données puisse être interrogée.

Options

Options principales

<database>

[Obligatoire] Chemin de la base de données CodeQL en cours de construction. Doit avoir été préparé pour l’extraction avec codeql database init.

Si l’option --db-cluster est donnée, il ne s’agit pas de la base de données elle-même, mais d’un répertoire qui contient des bases de données, et toutes ces bases de données sont traitées ensemble.

--[no-]db-cluster

Indique que le répertoire donné sur la ligne de commande n’est pas la base de données elle-même, mais un répertoire qui contient une ou plusieurs bases de données en cours de construction. Ces bases de données sont traitées ensemble.

--additional-dbs=<database>[:<database>...]

[Avancé] Chemin des autres bases de données CodeQL en cours de construction. Celles-ci ne seront pas elles-mêmes finalisées, mais leurs données seront incluses dans la base de données finalisée en cours de création. Il s’agit d’une option avancée qui peut ne pas avoir l’effet souhaité dans tous les cas. Pour plus d’informations, reportez-vous à la documentation de codeql database import.

Si l’option --db-cluster est donnée, il doit normalement s’agir de clusters de base de données plutôt que de bases de données CodeQL individuelles.

(Remarque : Sur Windows, le séparateur de chemin est ;.)

--no-cleanup

[Avancé] Supprime tout le nettoyage de la base de données après la finalisation. Utile à des fins de débogage.

--no-pre-finalize

[Avancé] Ignore tout script de pré-finalisation spécifié par l’extracteur CodeQL actif.

--[no-]skip-empty

[Avancé] Génère un avertissement au lieu d’échouer si une base de données est vide parce qu’aucun code source n’a été vu pendant la génération. La base de données vide reste non finalisée.

Options pour contrôler l’opération d’importation de fichiers TRAP

-S, --dbscheme=<file>

[Avancé] Remplace la définition du schéma de base de données détectée automatiquement que les fichiers TRAP sont supposés respecter. Normalement, elle est prise dans l’extracteur de la base de données.

-j, --threads=<num>

Utilise le nombre de threads spécifié pour l’opération d’importation.

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é).

-M, --ram=<MB>

Utilise la quantité de mémoire spécifiée pour l’opération d’importation.

Options de nettoyage de jeu de données de bas niveau

--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.

--cache-cleanup=<mode>

Sélectionnez le degré de réduction du cache. Les options sont les suivantes :

clear:  Supprime l’intégralité du cache, en le réduisant à l’état d’un jeu de données qui vient d’être extrait

trim (par défaut)  : Supprime tout, sauf les prédicats explicitement « mis en cache ».

fit : S’assure simplement que les limites de taille définies pour le cache de disque sont respectées, en supprimant autant d’intermédiaires que nécessaire.

--cleanup-upgrade-backups

Supprime tous les répertoires de sauvegarde résultant des mises à niveau des bases de données.

Options pour vérifier les fichiers TRAP importés

--[no-]check-undefined-labels

[Avancé] Signale les erreurs pour les étiquettes non définies.

--[no-]check-unused-labels

[Avancé] Signale les erreurs pour les étiquettes non utilisées.

--[no-]check-repeated-labels

[Avancé] Signale les erreurs pour les étiquettes répétées.

--[no-]check-redefined-labels

[Avancé] Signale les erreurs pour les étiquettes redéfinies.

--[no-]check-use-before-definition

[Avancé] Signale les erreurs pour les étiquettes utilisées avant leur définition.

--[no-]fail-on-trap-errors

[Avancé] Sort une valeur non nulle si une erreur se produit lors de l’importation d’un fichier TRAP.

--[no-]include-location-in-star

[Avancé] Construit des ID d’entité qui encodent l’emplacement dans le fichier TRAP dont ils proviennent. Peut être utile pour le débogage des générateurs TRAP, mais prend beaucoup d’espace dans le jeu de données.

--[no-]linkage-aware-import

[Avancé] Contrôle si l’importation de jeu de données codeql prend en compte les liaisons (par défaut) ou non. Sur les projets dans lesquels cette partie de la création de base de données consomme trop de mémoire, la désactivation de cette option peut les aider à progresser au détriment de la complétion de la base de données.

Disponible depuis v2.15.3.

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.