CodeQL documentation

query decompile


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


[Plumbing] Read an intermediate representation of a compiled query from a .qlo file.

The code will be written to standard output, unless the --output option is specified.



[Mandatory] QLO file to read from.

-o, --output=<file>

The file to write the desired output to.


The kind of the intermediate representation to read. The options are:

dil: A Datalog intermediate representation.

ra: A relational algebra intermediate representation. This is used by the query evaluation phase.

bytecode: Show the raw (uncompressed) bytecode from the .qlo file. Mostly useful for debugging the compiler/evaluator.

The default isdil if the query was compiled with --include-dil-in-qlo and ra otherwise

Common options

-h, --help

Show this help text.


[Advanced] Give option to the JVM running the command.

(Beware that options containing spaces will not be handled correctly.)

-v, --verbose

Incrementally increase the number of progress messages printed.

-q, --quiet

Incrementally decrease the number of progress messages printed.


[Advanced] Explicitly set the verbosity level to one of errors, warnings, progress, progress+, progress++, progress+++. Overrides -v and -q.


[Advanced] Write detailed logs to one or more files in the given directory, with generated names that include timestamps and the name of the running subcommand.

(To write a log file with a name you have full control over, instead give --log-to-stderr and redirect stderr as desired.)