Thread: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE

Complete LOCK TABLE ... IN ACCESS|ROW|SHARE

From
Thomas Munro
Date:
Hi

After LOCK TABLE ... IN ACCESS|ROW|SHARE we run out of completions.
Here's a patch to improve that, for November.

--
Thomas Munro
http://www.enterprisedb.com

Attachment

Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE

From
marllius ribeiro
Date:
The following review has been posted through the commitfest application:
make installcheck-world:  tested, passed
Implements feature:       tested, passed
Spec compliant:           tested, passed
Documentation:            not tested

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


The new status of this patch is: Ready for Committer

Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE

From
marllius ribeiro
Date:
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

Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE

From
Robert Haas
Date:
On Thu, Oct 6, 2016 at 2:28 PM, marllius ribeiro
<marllius.ribeiro@tecnisys.com.br> wrote:
> 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.

Committed.  I tweaked the comments just slightly.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company