File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
docs/codeql/ql-language-reference Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -295,15 +295,16 @@ at the places where it is called.
295
295
**Available for **: |non-member predicates |
296
296
297
297
The ``pragma[inline_late] `` annotation must be used in conjunction with a
298
- ``bindingset[...] `` pragma. Together, they tell the QL optimiser to inline
299
- the annotated predicate after join ordering and to join order callers and callee
300
- based on the given binding set. This can be useful to prevent the optimiser
301
- from choosing a sub-optimal join order.
298
+ ``bindingset[...] `` pragma. Together, they tell the QL optimiser to use the
299
+ specified binding set for assessing join orders both in the body of the
300
+ annotated predicate and at call sites and to inline the body into call sites
301
+ after join ordering. This can be useful to prevent the optimiser from choosing
302
+ a sub-optimal join order.
302
303
303
304
For instance, in the example below, the ``pragma[inline_late] `` and
304
305
``bindingset[x] `` annotations specifiy that calls to ``p `` should be join ordered
305
306
in a context where ``x `` is already bound. This forces the join orderer to
306
- order the ``q(x) `` call before ``p(x) ``, which is more computationally efficient
307
+ order ``q(x) `` before ``p(x) ``, which is more computationally efficient
307
308
than ordering ``p(x) `` before ``q(x) ``.
308
309
309
310
.. code-block :: ql
You can’t perform that action at this time.
0 commit comments