From 396d2de6e7da4533969ebbc5a295f9fe649309c8 Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Mon, 30 Jan 2023 11:42:57 -0800 Subject: [PATCH] Document pragma[assume_small_delta] --- docs/codeql/ql-language-reference/annotations.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/codeql/ql-language-reference/annotations.rst b/docs/codeql/ql-language-reference/annotations.rst index b78ef5bdd34..500c897c5ce 100644 --- a/docs/codeql/ql-language-reference/annotations.rst +++ b/docs/codeql/ql-language-reference/annotations.rst @@ -397,6 +397,15 @@ For example, ``x = pragma[only_bind_into](y)`` is semantically equivalent to ``x For more information, see ":ref:`Binding `." +``pragma[assume_small_delta]`` +------------------------------ + +**Available for**: |characteristic predicates|, |member predicates|, |non-member predicates| + +The ``pragma[assume_small_delta]`` annotation changes the compilation of the annotated recursive predicate. +If the compiler normally generates the join orders ``order_<1>``, ``order_<2>``, ``order_<3>``, and ``standard_order``, +applying this annotation makes ``standard_order`` the same as ``order_<3>`` and removes the (now redundant) ``order_<3>`` join order. + .. _language: Language pragmas