Fix mistakes in the just added JIT docs.
authorAndres Freund <andres@anarazel.de>
Wed, 28 Mar 2018 22:07:08 +0000 (15:07 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 28 Mar 2018 22:07:08 +0000 (15:07 -0700)
Reported-By: Lukas Fittl
Author: Andres Freund

doc/src/sgml/config.sgml
doc/src/sgml/jit.sgml
src/backend/jit/README

index dc9ed22eb41166d2516f86ce6c31e6aaef1c8280..e7d408824e2a9adcb57b15e1b9bbab389d1cc66c 100644 (file)
@@ -7498,7 +7498,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
         used. The built-in default is <literal>llvmjit</literal>.
        </para>
        <para>
-        If set to a non-existent library <acronym>JIT</acronym> will not
+        If set to a non-existent library <acronym>JIT</acronym> will not be
         available, but no error will be raised. This allows JIT support to be
         installed separately from the main
         <productname>PostgreSQL</productname> package.
index f59e4923e14ee5e04b296cdce51db8429d3fa07a..ece259b5b4b2f00180a38665faf7ee3adf7007fa 100644 (file)
@@ -32,9 +32,9 @@
   </para>
 
   <para>
-   <productname>PostgreSQL</productname> has builtin support perform
+   <productname>PostgreSQL</productname> has builtin support to perform
    <acronym>JIT</acronym> using <ulink
-   url="https://llvm.org/"><productname>LLVM</productname></ulink> when built
+   url="https://llvm.org/"><productname>LLVM</productname></ulink> when
    <productname>PostgreSQL</productname> was built with
    <literal>--with-llvm</literal> (see <xref linkend="configure-with-llvm"/>).
   </para>
index b37dcbe0c16f8fe291083e1de6534b9cbd0f7398..bfed319189cd272a9d79a1142ef4ded811fae8bf 100644 (file)
@@ -74,7 +74,7 @@ the shared library providing JIT support can be loaded (i.e. postgres
 was compiled with LLVM support and the shared library is installed),
 the task of JIT compiling an expression gets handed of to shared
 library. This obviously requires that the function in jit.c is allowed
-to fail in case not JIT provider can be loaded.
+to fail in case no JIT provider can be loaded.
 
 Which shared library is loaded is determined by the jit_provider GUC,
 defaulting to "llvmjit".
@@ -174,7 +174,7 @@ least a few postgres types.  While it is possible to inform LLVM about
 type definitions by recreating them manually in C code, that is failure
 prone and labor intensive.
 
-Instead the is one small file (llvmjit_types.c) which references each of
+Instead there is one small file (llvmjit_types.c) which references each of
 the types required for JITing. That file is translated to bitcode at
 compile time, and loaded when LLVM is initialized in a backend.
 
@@ -232,10 +232,16 @@ an ExprState, rather than absolute pointers into memory.
 
 Once that is addressed, adding an LRU cache that's keyed by the
 generated LLVM IR will allow to use optimized functions even for
-shorter functions.
+faster queries.
 
 A longer term project is to move expression compilation to the planner
-stage, allowing to tie
+stage, allowing e.g. to tie compiled expressions to prepared
+statements.
+
+An even more advanced approach would be to use JIT with few
+optimizations initially, and build an optimized version in the
+background. But that's even further off.
+
 
 What to JIT
 ===========