# query decompile

[Plomberie] Lit une représentation intermédiaire d’une requête compilée à partir d’un fichier .qlo.

> [!NOTE]
> 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 <span style="white-space: nowrap;">`--help`</span> dans votre terminal.

## Synopsis

```shell copy
codeql query decompile [--output=<file>] <options>... -- <file>
```

## Descriptif

              \[Plomberie] Lit une représentation intermédiaire d’une requête compilée à partir d’un fichier .qlo.

Le code est écrit dans la sortie standard, sauf si l’option `--output` est spécifiée.

## Options

### Options principales

#### `<file>`

              \[Obligatoire] Fichier QLO à partir duquel lire.

#### `-o, --output=<file>`

Fichier sur lequel écrire la sortie souhaitée.

#### `--kind=<kind>`

Type de représentation intermédiaire à lire. Les options sont les suivantes :

              `dil` : représentation intermédiaire de datalog

              `ra` : représentation intermédiaire d’algèbre relationnelle. Utilisé par la phase d’évaluation de la requête.

              `bytecode` : affiche le bytecode brut (non compressé) du fichier .qlo.
Principalement utile pour le débogage du compilateur/de l’évaluateur.

L’option par défaut est `dil` si la requête a été compilée avec `--include-dil-in-qlo`, sinon `ra`

### 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 sera créé.

Disponible depuis `v2.15.2`.