Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE - Mailing list pgsql-hackers

From marllius ribeiro
Subject Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Date
Msg-id 20161006182845.1296.43465.pgcf@coridan.postgresql.org
Whole thread Raw
In response to Complete LOCK TABLE ... IN ACCESS|ROW|SHARE  (Thomas Munro <thomas.munro@enterprisedb.com>)
Responses Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
This was my first test which had help Gerdan.

I did some tests and found nothing special. The stated resource is implemented correctly.
He passes all regression tests and enables the use of the new features specified.


The test was initially performed to verify that the features exist, however not effected, it follows the evidence:


postgres=# lock teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE
postgres=# lock teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE
postgres=# lock teste IN ACCESS

postgres=# lock teste IN ACCESS

postgres=# lock t
TABLE  teste
postgres=# lock teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE
postgres=# lock teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE
postgres=# lock TABLE
information_schema.  pg_temp_1.           pg_toast_temp_1.     teste
pg_catalog.          pg_toast.            public.
postgres=# lock TABLE teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE
postgres=# lock TABLE teste IN ACCESS

postgres=# lock TABLE teste IN ACCESS

postgres=# lock TABLE teste IN ACCESS

postgres=# lock TABLE teste IN SHARE

postgres=# lock TABLE teste IN ROW

postgres=# lock TABLE teste IN ROW

postgres=# lock TABLE teste IN ROW


---------------------------------

After applied patch come the new features.


postgres=# lock table teste IN ACCESS
EXCLUSIVE MODE  SHARE MODE
postgres=# lock table teste IN
ACCESS EXCLUSIVE MODE        EXCLUSIVE MODE               ROW SHARE MODE               SHARE ROW EXCLUSIVE MODE
ACCESS SHARE MODE            ROW EXCLUSIVE MODE           SHARE MODE                   SHARE UPDATE EXCLUSIVE MODE
postgres=# lock table teste IN ACCESS
EXCLUSIVE MODE  SHARE MODE
postgres=# lock table teste IN ACCESS
EXCLUSIVE MODE  SHARE MODE
postgres=# lock table teste IN ROW
EXCLUSIVE MODE  SHARE MODE
postgres=# lock table teste IN SHARE
MODE                   ROW EXCLUSIVE MODE     UPDATE EXCLUSIVE MODE
postgres=# lock table teste IN SHARE

pgsql-hackers by date:

Previous
From: marllius ribeiro
Date:
Subject: Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Next
From: Alfred Perlstein
Date:
Subject: Re: pgbench vs. wait events