aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2014-06-20 11:06:42 +0200
committerAndres Freund <andres@anarazel.de>2014-06-20 11:09:17 +0200
commit3bdcf6a5a7555035810e2ba2b8a0fb04dc5c66b8 (patch)
treeca974ea8843cb59f1ea8616f0f742e9faa5e8dbe /doc/src
parent45b0f357235236dd3198f8abcca277adc0d7459a (diff)
downloadpostgresql-3bdcf6a5a7555035810e2ba2b8a0fb04dc5c66b8.tar.gz
postgresql-3bdcf6a5a7555035810e2ba2b8a0fb04dc5c66b8.zip
Don't allow to disable backend assertions via the debug_assertions GUC.
The existance of the assert_enabled variable (backing the debug_assertions GUC) reduced the amount of knowledge some static code checkers (like coverity and various compilers) could infer from the existance of the assertion. That could have been solved by optionally removing the assertion_enabled variable from the Assert() et al macros at compile time when some special macro is defined, but the resulting complication doesn't seem to be worth the gain from having debug_assertions. Recompiling is fast enough. The debug_assertions GUC is still available, but readonly, as it's useful when diagnosing problems. The commandline/client startup option -A, which previously also allowed to enable/disable assertions, has been removed as it doesn't serve a purpose anymore. While at it, reduce code duplication in bufmgr.c and localbuf.c assertions checking for spurious buffer pins. That code had to be reindented anyway to cope with the assert_enabled removal.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml46
-rw-r--r--doc/src/sgml/ref/postgres-ref.sgml12
2 files changed, 20 insertions, 38 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 697cf99de54..8f0ca4c1eb6 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -6722,6 +6722,26 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
+ <varlistentry id="guc-debug-assertions" xreflabel="debug_assertions">
+ <term><varname>debug_assertions</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary><varname>debug_assertions</> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ Reports whether <productname>PostgreSQL</productname> has been built
+ with assertions enabled. That is the case if the
+ macro <symbol>USE_ASSERT_CHECKING</symbol> is defined
+ when <productname>PostgreSQL</productname> is built (accomplished
+ e.g. by the <command>configure</command> option
+ <option>--enable-cassert</option>). By
+ default <productname>PostgreSQL</productname> is built without
+ assertions.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="guc-integer-datetimes" xreflabel="integer_datetimes">
<term><varname>integer_datetimes</varname> (<type>boolean</type>)
<indexterm>
@@ -6973,28 +6993,6 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
- <varlistentry id="guc-debug-assertions" xreflabel="debug_assertions">
- <term><varname>debug_assertions</varname> (<type>boolean</type>)
- <indexterm>
- <primary><varname>debug_assertions</> configuration parameter</primary>
- </indexterm>
- </term>
- <listitem>
- <para>
- Turns on various assertion checks. This is a debugging aid. If
- you are experiencing strange problems or crashes you might want
- to turn this on, as it might expose programming mistakes. To use
- this parameter, the macro <symbol>USE_ASSERT_CHECKING</symbol>
- must be defined when <productname>PostgreSQL</productname> is
- built (accomplished by the <command>configure</command> option
- <option>--enable-cassert</option>). Note that
- <varname>debug_assertions</varname> defaults to <literal>on</>
- if <productname>PostgreSQL</productname> has been built with
- assertions enabled.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry id="guc-ignore-system-indexes" xreflabel="ignore_system_indexes">
<term><varname>ignore_system_indexes</varname> (<type>boolean</type>)
<indexterm>
@@ -7355,10 +7353,6 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
<tbody>
<row>
- <entry><option>-A <replaceable>x</replaceable></option></entry>
- <entry><literal>debug_assertions = <replaceable>x</replaceable></></entry>
- </row>
- <row>
<entry><option>-B <replaceable>x</replaceable></option></entry>
<entry><literal>shared_buffers = <replaceable>x</replaceable></></entry>
</row>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index 8e225e4c5d0..cdfdaa0b397 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -102,18 +102,6 @@ PostgreSQL documentation
<variablelist>
<varlistentry>
- <term><option>-A 0|1</option></term>
- <listitem>
- <para>
- Enables run-time assertion checks, which is a debugging aid to
- detect programming mistakes. This option is only available if
- assertions were enabled when <productname>PostgreSQL</> was
- compiled. If so, the default is on.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><option>-B <replaceable class="parameter">nbuffers</replaceable></option></term>
<listitem>
<para>