Skip to main content

importation de base de données

[Avancé] [Plomberie] Importe la ou les bases de données non finalisées dans une autre base de données non finalisée.

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 import [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] <options>... -- <database> <additionalDbs>...

Description

[Avancé] [Plomberie] Importe la ou les bases de données non finalisées dans une autre base de données non finalisée.

Le résultat de cette commande est que la base de données cible (celle du premier argument) grossit avec les données de toutes les autres bases de données passées. En particulier, les fichiers TRAP des autres bases de données sont importés et leurs sources sont copiées.

Notez que cette commande n’aura probablement pas l’effet souhaité dans la plupart des cas. En particulier, la base de données résultante peut ne pas suivre correctement le flux de données entre les bases de données partielles qui ont été combinées. Elle est uniquement destinée à être utilisée dans certains scénarios avancés impliquant des systèmes de build distribués où une attention particulière est portée dans la façon dont la build a été séparée afin de s’assurer que la base de données finale résultante est significative.

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.

<additionalDbs>...

[Obligatoire] Chemins des bases de données non terminées qui doivent être importées dans la première base de données.

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.

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

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