You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When executing codeql database analyze <db> --format=sarif-latest --output=out.sarif -- <querysuite> on a large project it may happen that certain queries evaluation takes a very long time.
In such a case it would be very useful to be able to interrupt the analyze process (e.g., via CTRL+C) and save the output file with results from the queries that have already been evaluated.
This along with #17929 and #17928 would substantially improve the user experience of CodeQL.
PS: Sorry if those issues should belong to the CodeQL CLI binaries repo. I started creating them here and realized it later on. Let me know if I should move them there.
The text was updated successfully, but these errors were encountered:
This is not as straightforward as it would appear as first. The database analyze command works in two phases: First all of the queries are "evaluated" into tabular results (stored in an internal binary format as .bqrs files within the results subdirectory of the database), and then those tables are "interpreted" into alerts in SARIF format.
The reason for splitting into two phases is this: The evaluator really wants to evaluate all the queries together so it can share intermediate results between them. Could we temporarily pause it to do "interpretation" after each .bqrs has been produced? Not really. For alerts that show taint paths through the code, the interpretation phase is responsible for selecting some representative paths through a larger graph of dataflow that was produced during the evaluation phase. This is a potentially RAM-intensive computation, and if the evaluator is still active (even it it were to be paused), it is still using all of the configured --ram for its own intermediate results.
If you stop database analyze (or database run-queries) partway through the evaluation phase, you can still get alerts from the .bqrs files that have been completed by then, by using codeql database interpret-results manually afterwards. It will ignore the still-missing .bqrs files with a modicum of grace, save for printing whiny complaints to the console.
When executing
codeql database analyze <db> --format=sarif-latest --output=out.sarif -- <querysuite>
on a large project it may happen that certain queries evaluation takes a very long time.In such a case it would be very useful to be able to interrupt the analyze process (e.g., via CTRL+C) and save the output file with results from the queries that have already been evaluated.
This along with #17929 and #17928 would substantially improve the user experience of CodeQL.
PS: Sorry if those issues should belong to the CodeQL CLI binaries repo. I started creating them here and realized it later on. Let me know if I should move them there.
The text was updated successfully, but these errors were encountered: