From 8d5eb407ad6fd312fdbaf759664f175ed8ccf876 Mon Sep 17 00:00:00 2001 From: Philip Ginsbach Date: Tue, 20 Jan 2026 11:08:39 +0000 Subject: [PATCH] incorporate additional suggestions from PR review --- docs/codeql/ql-language-reference/annotations.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/codeql/ql-language-reference/annotations.rst b/docs/codeql/ql-language-reference/annotations.rst index 17a4c2cc76e..4f5c2fdaa7d 100644 --- a/docs/codeql/ql-language-reference/annotations.rst +++ b/docs/codeql/ql-language-reference/annotations.rst @@ -517,11 +517,13 @@ were a fully extracted database at the newer commit, while reusing as much cache from the base database as possible. Ideally, analysis time is proportional to the size of the diff rather than the full codebase. -To achieve this, predicates are divided into *local* and *global* categories. Local -predicates are evaluated separately on base and overlay data, with results combined at -the frontier between local and global code. Global predicates operate on the combined -data. Local predicates typically take time proportional to the diff size, while global -predicates take time proportional to the full codebase. +To achieve this, predicates are divided into *local* and *global* categories, with global +being the default. Local predicates are evaluated independently on base and overlay data, +and thus typically take time proportional to the diff size; global predicates operate on +the combined data, and thus take time proportional to the full codebase. When a global +predicate calls a local predicate, results from both the base and overlay evaluations of +the local predicate are combined, with stale base results filtered out through a process +called "discarding". Overlay evaluation is primarily used internally by GitHub Code Scanning to speed up pull request analysis. Most QL developers do not need to use these annotations directly,