Commit 28568e58 authored by Neil Conway's avatar Neil Conway

Spelling and related minor fixes for the GIN docs.

parent ce3d1a4f
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.4 2006/09/18 12:11:36 teodor Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.5 2006/11/23 05:58:01 neilc Exp $ -->
<chapter id="GIN"> <chapter id="GIN">
<title>GIN Indexes</title> <title>GIN Indexes</title>
...@@ -31,14 +31,13 @@ ...@@ -31,14 +31,13 @@
This is much the same advantage as using <acronym>GiST</acronym>. This is much the same advantage as using <acronym>GiST</acronym>.
</para> </para>
<para> <para>
The <acronym>GIN</acronym> The <acronym>GIN</acronym>
implementation in <productname>PostgreSQL</productname> is primarily implementation in <productname>PostgreSQL</productname> is primarily
maintained by Teodor Sigaev and Oleg Bartunov, and there is more maintained by Teodor Sigaev and Oleg Bartunov. There is more
information on their information about <acronym>GIN</acronym> on their
<ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin">website</ulink>. <ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin">website</ulink>.
</para> </para>
</sect1> </sect1>
<sect1 id="gin-extensibility"> <sect1 id="gin-extensibility">
...@@ -78,7 +77,7 @@ ...@@ -78,7 +77,7 @@
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>int compare( Datum a, Datum b )</term> <term>int compare(Datum a, Datum b)</term>
<listitem> <listitem>
<para> <para>
Compares keys (not indexed values!) and returns an integer less than Compares keys (not indexed values!) and returns an integer less than
...@@ -103,22 +102,22 @@ ...@@ -103,22 +102,22 @@
StrategyNumber n)</term> StrategyNumber n)</term>
<listitem> <listitem>
<para> <para>
Returns an array of keys of the query to be executed. n contains Returns an array of keys of the query to be executed. n contains the
the strategy number of the operation strategy number of the operation (see <xref
(see <xref linkend="xindex-strategies">). linkend="xindex-strategies">). Depending on n, query may be
Depending on n, query may be different type. different type.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>bool consistent( bool check[], StrategyNumber n, Datum query)</term> <term>bool consistent(bool check[], StrategyNumber n, Datum query)</term>
<listitem> <listitem>
<para> <para>
Returns TRUE if the indexed value satisfies the query qualifier with Returns TRUE if the indexed value satisfies the query qualifier with
strategy n (or may satisfy in case of RECHECK mark in operator class). strategy n (or may satisfy in case of RECHECK mark in operator class).
Each element of the check array is TRUE if the indexed value has a Each element of the check array is TRUE if the indexed value has a
corresponding key in the query: if (check[i] == TRUE ) the i-th key of corresponding key in the query: if (check[i] == TRUE) the i-th key of
the query is present in the indexed value. the query is present in the indexed value.
</para> </para>
</listitem> </listitem>
...@@ -129,14 +128,14 @@ ...@@ -129,14 +128,14 @@
</sect1> </sect1>
<sect1 id="gin-tips"> <sect1 id="gin-tips">
<title>GIN tips and trics</title> <title>GIN tips and tricks</title>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>Create vs insert</term> <term>Create vs insert</term>
<listitem> <listitem>
<para> <para>
In most cases, insertion into <acronym>GIN</acronym> index is slow In most cases, insertion into a <acronym>GIN</acronym> index is slow
due to the likelihood of many keys being inserted for each value. due to the likelihood of many keys being inserted for each value.
So, for bulk insertions into a table it is advisable to to drop the GIN So, for bulk insertions into a table it is advisable to to drop the GIN
index and recreate it after finishing bulk insertion. index and recreate it after finishing bulk insertion.
...@@ -169,9 +168,9 @@ ...@@ -169,9 +168,9 @@
the whole result set, chosen at random. the whole result set, chosen at random.
</para> </para>
<para> <para>
"Soft" means that the actual number of returned results could slightly <quote>Soft</quote> means that the actual number of returned results
differ from the specified limit, depending on the query and the quality could slightly differ from the specified limit, depending on the query
of the system's random number generator. and the quality of the system's random number generator.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -184,16 +183,16 @@ ...@@ -184,16 +183,16 @@
<para> <para>
<acronym>GIN</acronym> doesn't support full index scans due to their <acronym>GIN</acronym> doesn't support full index scans due to their
extremely inefficiency: because there are often many keys per value, extreme inefficiency: because there are often many keys per value,
each heap pointer will returned several times. each heap pointer will returned several times.
</para> </para>
<para> <para>
When extractQuery returns zero keys, <acronym>GIN</acronym> will emit a When <function>extractQuery</function> returns zero keys,
error: for different opclasses and strategies the semantic meaning of a void <acronym>GIN</acronym> will emit an error: for different opclasses and
query may be different (for example, any array contains the void array, strategies the semantic meaning of a void query may be different (for
but they don't overlap the void array), and <acronym>GIN</acronym> can't example, any array contains the void array, but they don't overlap the
suggest reasonable answer. void array), and <acronym>GIN</acronym> can't suggest a reasonable answer.
</para> </para>
<para> <para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment