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

Lists: pgsql-hackers
From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Date: 2016-09-24 03:50:06
Message-ID: CAEepm=0mo53uh4FdxMiehDo=eizjOmu38dGmMoKEhonKURq-Cw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-hackers

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 Content-Type Size
complete-lock-table.patch application/octet-stream 1.1 KB

From: marllius ribeiro <marllius(dot)ribeiro(at)tecnisys(dot)com(dot)br>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Thomas Munro <munro(at)ip9(dot)org>
Subject: Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Date: 2016-10-06 14:49:12
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-hackers

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


From: marllius ribeiro <marllius(dot)ribeiro(at)tecnisys(dot)com(dot)br>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Thomas Munro <munro(at)ip9(dot)org>
Subject: Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Date: 2016-10-06 18:28:45
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: 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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: marllius ribeiro <marllius(dot)ribeiro(at)tecnisys(dot)com(dot)br>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <munro(at)ip9(dot)org>
Subject: Re: Complete LOCK TABLE ... IN ACCESS|ROW|SHARE
Date: 2016-11-03 15:45:23
Message-ID: CA+Tgmoayn0uxtPgZ=pbpP3xMfxi3ML3gAghyhn3WxPMpUvcHfw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Oct 6, 2016 at 2:28 PM, marllius ribeiro
<marllius(dot)ribeiro(at)tecnisys(dot)com(dot)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