github-docs-arabic-enhanced / content /code-security /codeql-cli /codeql-cli-manual /database-interpret-results.md
| title: database interpret-results | |
| versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 | |
| fpt: '*' | |
| ghec: '*' | |
| ghes: '*' | |
| topics: | |
| - Code Security | |
| - Code scanning | |
| - CodeQL | |
| type: reference | |
| product: '{% data reusables.gated-features.codeql %}' | |
| autogenerated: codeql-cli | |
| intro: |- | |
| [Plumbing] Interpret computed query results into meaningful formats | |
| such as SARIF or CSV. | |
| redirect_from: | |
| - /code-security/codeql-cli/manual/database-interpret-results | |
| <!-- markdownlint-disable GHD053 --> | |
| <!-- markdownlint-disable GHD030 --> | |
| <!-- Content after this section is automatically generated --> | |
| {% data reusables.codeql-cli.man-pages-version-note %} | |
| ## Synopsis | |
| ```shell copy | |
| codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>... | |
| ``` | |
| ## Description | |
| \[Plumbing] Interpret computed query results into meaningful formats | |
| such as SARIF or CSV. | |
| The results should have been computed and stored in a CodeQL database | |
| directory using [codeql database run-queries](/code-security/codeql-cli/codeql-cli-manual/database-run-queries). (Usually you'd want to do these steps together, by using [codeql database analyze](/code-security/codeql-cli/codeql-cli-manual/database-analyze)). | |
| ## Options | |
| ### Primary Options | |
| #### `<database>` | |
| \[Mandatory] Path to the CodeQL database that has been queried. | |
| #### `<file|dir|suite>...` | |
| Repeat the specification of which queries were executed here. | |
| If omitted, the CLI will determine a suitable set of queries using the | |
| same logic as [codeql database run-queries](/code-security/codeql-cli/codeql-cli-manual/database-run-queries). | |
| (In a future version it ought to be possible to omit this and instead | |
| interpret all results that are found in the database. That glorious | |
| future is not yet. Sorry.) | |
| #### `--format=<format>` | |
| \[Mandatory] The format in which to write the results. One of: | |
| `csv`: Formatted comma-separated values, including columns with both | |
| rule and alert metadata. | |
| `sarif-latest`: Static Analysis Results Interchange Format (SARIF), a | |
| JSON-based format for describing static analysis results. This format | |
| option uses the most recent supported version (v2.1.0). This option is | |
| not suitable for use in automation as it will produce different versions | |
| of SARIF between different CodeQL versions. | |
| `sarifv2.1.0`: SARIF v2.1.0. | |
| `graphtext`: A textual format representing a graph. Only compatible with | |
| queries with @kind graph. | |
| `dgml`: Directed Graph Markup Language, an XML-based format for | |
| describing graphs. Only compatible with queries with @kind graph. | |
| `dot`: Graphviz DOT language, a text-based format for describing graphs. | |
| Only compatible with queries with @kind graph. | |
| #### `-o, --output=<output>` | |
| \[Mandatory] The output path to write results to. For graph formats | |
| this should be a directory, and the result (or results if this command | |
| supports interpreting more than one query) will be written within that | |
| directory. | |
| #### `--max-paths=<maxPaths>` | |
| The maximum number of paths to produce for each alert with paths. | |
| (Default: 4) | |
| #### `--[no-]sarif-add-file-contents` | |
| \[SARIF formats only] Include the full file contents for all files | |
| referenced in at least one result. | |
| #### `--[no-]sarif-add-snippets` | |
| \[SARIF formats only] Include code snippets for each location mentioned | |
| in the results, with two lines of context before and after the reported | |
| location. | |
| #### `--[no-]sarif-add-query-help` | |
| \[SARIF formats only] \[Deprecated] Include Markdown query help for | |
| all queries. It loads query help for /path/to/query.ql from the | |
| /path/to/query.md file. If this flag is not supplied the default | |
| behavior is to include help only for custom queries i.e. those in query | |
| packs which are not of the form \`codeql/\<lang\&rt;-queries\`. This | |
| option has no effect when passed to [codeql bqrs interpret](/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret). | |
| #### `--sarif-include-query-help=<mode>` | |
| \[SARIF formats only] Specify whether to include query help in the | |
| SARIF output. One of: | |
| `always`: Include query help for all queries. | |
| `custom_queries_only` _(default)_: Include query help only for custom | |
| queries i.e. those in query packs which are not of the form | |
| \`codeql/\<lang\&rt;-queries\`. | |
| `never`: Do not include query help for any queries. | |
| This option has no effect when passed to [codeql bqrs interpret](/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret). | |
| Available since `v2.15.2`. | |
| #### `--no-sarif-include-alert-provenance` | |
| \[Advanced] \[SARIF formats only] Do not include alert provenance | |
| information in the SARIF output. | |
| Available since `v2.18.1`. | |
| #### `--[no-]sarif-group-rules-by-pack` | |
| \[SARIF formats only] Place the rule object for each query under its | |
| corresponding QL pack in the `<run>.tool.extensions` property. This | |
| option has no effect when passed to [codeql bqrs interpret](/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret). | |
| #### `--[no-]sarif-multicause-markdown` | |
| \[SARIF formats only] For alerts that have multiple causes, include | |
| them as a Markdown-formatted itemized list in the output in addition to | |
| as a plain string. | |
| #### `--no-sarif-minify` | |
| \[SARIF formats only] Produce pretty-printed SARIF output. By default, | |
| SARIF output is minified to reduce the size of the output file. | |
| #### `--sarif-run-property=<String=String>` | |
| \[SARIF formats only] A key value pair to add to the generated SARIF | |
| 'run' property bag. Can be repeated. | |
| #### `--no-group-results` | |
| \[SARIF formats only] Produce one result per message, rather than one | |
| result per unique location. | |
| #### `--csv-location-format=<csvLocationFormat>` | |
| The format in which to produce locations in CSV output. One of: uri, | |
| line-column, offset-length. (Default: line-column) | |
| #### `--dot-location-url-format=<dotLocationUrlFormat>` | |
| A format string defining the format in which to produce file location | |
| URLs in DOT output. The following place holders can be used {path} | |
| {start:line} {start:column} {end:line} {end:column}, {offset}, {length} | |
| #### `--[no-]sublanguage-file-coverage` | |
| \[GitHub.com and GitHub Enterprise Server v3.12.0+ only] Use | |
| sub-language file coverage information. This calculates, displays, and | |
| exports separate file coverage information for languages which share a | |
| CodeQL extractor like C and C++, Java and Kotlin, and JavaScript and | |
| TypeScript. | |
| Available since `v2.15.2`. | |
| #### `--sarif-category=<category>` | |
| \[SARIF formats only] \[Recommended] Specify a category for this | |
| analysis to include in the SARIF output. A category can be used to | |
| distinguish multiple analyses performed on the same commit and | |
| repository, but on different languages or different parts of the code. | |
| If you analyze the same version of a code base in several different ways | |
| (e.g., for different languages) and upload the results to GitHub for | |
| presentation in Code Scanning, this value should differ between each of | |
| the analyses, which tells Code Scanning that the analyses _supplement_ | |
| rather than _supersede_ each other. (The values should be consistent | |
| between runs of the same analysis for _different_ versions of the code | |
| base.) | |
| This value will appear (with a trailing slash appended if not already | |
| present) as the `<run>.automationDetails.id` property. | |
| #### `-j, --threads=<num>` | |
| The number of threads used for computing paths. | |
| Defaults to 1. You can pass 0 to use one thread per core on the machine, | |
| or -_N_ to leave _N_ cores unused (except still use at least one | |
| thread). | |
| #### `--no-database-extension-packs` | |
| \[Advanced] Omit extension packs stored in the database during database | |
| creation, either from a Code Scanning configuration file or from | |
| extension files stored in the 'extensions' directory of the analyzed | |
| codebase. | |
| #### `--[no-]print-diagnostics-summary` | |
| Print a summary of the analyzed diagnostics to standard output. | |
| #### `--[no-]print-metrics-summary` | |
| Print a summary of the analyzed metrics to standard output. | |
| #### `--[no-]print-baseline-loc` | |
| Print the baseline lines of code counted to standard output. | |
| ### Options for configuring the CodeQL package manager | |
| #### `--registries-auth-stdin` | |
| Authenticate to GitHub Enterprise Server Container registries by passing | |
| a comma-separated list of \<registry\_url>=\<token> pairs. | |
| For example, you can pass | |
| `https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2` | |
| to authenticate to two GitHub Enterprise Server instances. | |
| This overrides the CODEQL\_REGISTRIES\_AUTH and GITHUB\_TOKEN environment | |
| variables. If you only need to authenticate to the github.com Container | |
| registry, you can instead authenticate using the simpler | |
| `--github-auth-stdin` option. | |
| #### `--github-auth-stdin` | |
| Authenticate to the github.com Container registry by passing a | |
| github.com GitHub Apps token or personal access token via standard | |
| input. | |
| To authenticate to GitHub Enterprise Server Container registries, pass | |
| `--registries-auth-stdin` or use the CODEQL\_REGISTRIES\_AUTH environment | |
| variable. | |
| This overrides the GITHUB\_TOKEN environment variable. | |
| ### Options to specify which extensions to use when interpreting the results | |
| #### `--model-packs=<`<name@range>>... | |
| A list of CodeQL pack names, each with an optional version range, to be | |
| used as model packs to customize the queries that are about to be | |
| evaluated. | |
| ### Options for finding QL packs (which may be necessary to interpret query suites) | |
| #### `--search-path=<dir>[:<dir>...]` | |
| A list of directories under which QL packs may be found. Each directory | |
| can either be a QL pack (or bundle of packs containing a | |
| `.codeqlmanifest.json` file at the root) or the immediate parent of one | |
| or more such directories. | |
| If the path contains more than one directory, their order defines | |
| precedence between them: when a pack name that must be resolved is | |
| matched in more than one of the directory trees, the one given first | |
| wins. | |
| Pointing this at a checkout of the open-source CodeQL repository ought | |
| to work when querying one of the languages that live there. | |
| If you have checked out the CodeQL repository as a sibling of the | |
| unpacked CodeQL toolchain, you don't need to give this option; such | |
| sibling directories will always be searched for QL packs that cannot be | |
| found otherwise. (If this default does not work, it is strongly | |
| recommended to set up `--search-path` once and for all in a per-user | |
| configuration file). | |
| (Note: On Windows the path separator is `;`). | |
| #### `--additional-packs=<dir>[:<dir>...]` | |
| If this list of directories is given, they will be searched for packs | |
| before the ones in `--search-path`. The order between these doesn't | |
| matter; it is an error if a pack name is found in two different places | |
| through this list. | |
| This is useful if you're temporarily developing a new version of a pack | |
| that also appears in the default path. On the other hand, it is _not | |
| recommended_ to override this option in a config file; some internal | |
| actions will add this option on the fly, overriding any configured | |
| value. | |
| (Note: On Windows the path separator is `;`). | |
| ### Common options | |
| #### `-h, --help` | |
| Show this help text. | |
| #### `-J=<opt>` | |
| \[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. | |
| #### `--verbosity=<level>` | |
| \[Advanced] Explicitly set the verbosity level to one of errors, | |
| warnings, progress, progress+, progress++, progress+++. Overrides `-v` | |
| and `-q`. | |
| #### `--logdir=<dir>` | |
| \[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.) | |
| #### `--common-caches=<dir>` | |
| \[Advanced] Controls the location of cached data on disk that will | |
| persist between several runs of the CLI, such as downloaded QL packs and | |
| compiled query plans. If not set explicitly, this defaults to a | |
| directory named `.codeql` in the user's home directory; it will be | |
| created if it doesn't already exist. | |
| Available since `v2.15.2`. | |