Re: Remove support for 'userlocks'?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Remove support for 'userlocks'?
Дата
Msg-id 201110140000.p9E00D411506@momjian.us
обсуждение исходный текст
Ответ на Re: Remove support for 'userlocks'?  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-hackers
Josh Berkus wrote:
> On 6/3/11 11:01 AM, Bruce Momjian wrote:
> > According to our documentation, 'userlocks' were removed in PG 8.2:
> >
> >     http://developer.postgresql.org/pgdocs/postgres/runtime-config-developer.html
>
> I take it this doesn't trace advisory locks, and trace_locks does?
>
> If so, then by all means remove the code.  I highly doubt anyone is
> using that option anyway ...

The attached, applied patch removes all "traces" of trace_userlocks.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
new file mode 100644
index d3a8b26..fa2dcf3
*** a/doc/src/sgml/config.sgml
--- b/doc/src/sgml/config.sgml
*************** LOG:  CleanUpLock: deleting: lock(0xb7ac
*** 6193,6220 ****
       </varlistentry>

       <varlistentry>
-       <term><varname>trace_userlocks</varname> (<type>boolean</type>)</term>
-       <indexterm>
-        <primary><varname>trace_userlocks</> configuration parameter</primary>
-       </indexterm>
-       <listitem>
-        <para>
-         If on, emit information about user lock usage.  Output is the same
-         as for <symbol>trace_locks</symbol>, only for user locks.
-        </para>
-        <para>
-         User locks were removed as of PostgreSQL version 8.2.  This option
-         currently has no effect.
-        </para>
-        <para>
-         This parameter is only available if the <symbol>LOCK_DEBUG</symbol>
-         macro was defined when <productname>PostgreSQL</productname> was
-         compiled.
-        </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
        <term><varname>trace_lock_oidmin</varname> (<type>integer</type>)</term>
        <indexterm>
         <primary><varname>trace_lock_oidmin</> configuration parameter</primary>
--- 6193,6198 ----
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
new file mode 100644
index 905502f..ed8344f
*** a/src/backend/storage/lmgr/lock.c
--- b/src/backend/storage/lmgr/lock.c
*************** static const LockMethodData user_lockmet
*** 213,224 ****
      AccessExclusiveLock,        /* highest valid lock mode number */
      true,
      LockConflicts,
!     lock_mode_names,
! #ifdef LOCK_DEBUG
!     &Trace_userlocks
! #else
!     &Dummy_trace
! #endif
  };

  /*
--- 213,219 ----
      AccessExclusiveLock,        /* highest valid lock mode number */
      true,
      LockConflicts,
!     lock_mode_names
  };

  /*
*************** static ResourceOwner awaitedOwner;
*** 276,282 ****

  int            Trace_lock_oidmin = FirstNormalObjectId;
  bool        Trace_locks = false;
- bool        Trace_userlocks = false;
  int            Trace_lock_table = 0;
  bool        Debug_deadlocks = false;

--- 271,276 ----
diff --git a/src/backend/utils/misc/check_guc b/src/backend/utils/misc/check_guc
new file mode 100755
index 293fb03..91c1c58
*** a/src/backend/utils/misc/check_guc
--- b/src/backend/utils/misc/check_guc
*************** INTENTIONALLY_NOT_INCLUDED="autocommit d
*** 20,26 ****
  is_superuser lc_collate lc_ctype lc_messages lc_monetary lc_numeric lc_time \
  pre_auth_delay role seed server_encoding server_version server_version_int \
  session_authorization trace_lock_oidmin trace_lock_table trace_locks trace_lwlocks \
! trace_notify trace_userlocks transaction_isolation transaction_read_only \
  zero_damaged_pages"

  ### What options are listed in postgresql.conf.sample, but don't appear
--- 20,26 ----
  is_superuser lc_collate lc_ctype lc_messages lc_monetary lc_numeric lc_time \
  pre_auth_delay role seed server_encoding server_version server_version_int \
  session_authorization trace_lock_oidmin trace_lock_table trace_locks trace_lwlocks \
! trace_notify transaction_isolation transaction_read_only \
  zero_damaged_pages"

  ### What options are listed in postgresql.conf.sample, but don't appear
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
new file mode 100644
index 106096f..f1d35a9
*** a/src/backend/utils/misc/guc.c
--- b/src/backend/utils/misc/guc.c
*************** static struct config_bool ConfigureNames
*** 1059,1074 ****
          NULL, NULL, NULL
      },
      {
-         {"trace_userlocks", PGC_SUSET, DEVELOPER_OPTIONS,
-             gettext_noop("No description available."),
-             NULL,
-             GUC_NOT_IN_SAMPLE
-         },
-         &Trace_userlocks,
-         false,
-         NULL, NULL, NULL
-     },
-     {
          {"trace_lwlocks", PGC_SUSET, DEVELOPER_OPTIONS,
              gettext_noop("No description available."),
              NULL,
--- 1059,1064 ----
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
new file mode 100644
index e106ad5..bc746a3
*** a/src/include/storage/lock.h
--- b/src/include/storage/lock.h
*************** extern int    max_locks_per_xact;
*** 34,40 ****
  #ifdef LOCK_DEBUG
  extern int    Trace_lock_oidmin;
  extern bool Trace_locks;
- extern bool Trace_userlocks;
  extern int    Trace_lock_table;
  extern bool Debug_deadlocks;
  #endif   /* LOCK_DEBUG */
--- 34,39 ----

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Additional supplied modules
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: patch for new feature: Buffer Cache Hibernation