[postgis-tickets] r17168 - Use AccessShareLock in spatial_index_read_extent

Paul Ramsey pramsey at cleverelephant.ca
Thu Jan 17 03:22:17 PST 2019


Author: pramsey
Date: 2019-01-17 15:22:17 -0800 (Thu, 17 Jan 2019)
New Revision: 17168

Modified:
   branches/2.5/NEWS
   branches/2.5/postgis/gserialized_estimate.c
Log:
Use AccessShareLock in spatial_index_read_extent 
References #4261


Modified: branches/2.5/NEWS
===================================================================
--- branches/2.5/NEWS	2019-01-17 23:17:19 UTC (rev 17167)
+++ branches/2.5/NEWS	2019-01-17 23:22:17 UTC (rev 17168)
@@ -34,7 +34,9 @@
   - #4301, ST_Subdivide: fix endless loop on coordinates near coincident to bounds
            (Darafei Praliaskouski)
 
+  - #4261, Use AccessShareLock in spatial_index_read_extent (Paul Ramsey)
 
+
 PostGIS 2.5.1
 2018/11/18
 

Modified: branches/2.5/postgis/gserialized_estimate.c
===================================================================
--- branches/2.5/postgis/gserialized_estimate.c	2019-01-17 23:17:19 UTC (rev 17167)
+++ branches/2.5/postgis/gserialized_estimate.c	2019-01-17 23:22:17 UTC (rev 17168)
@@ -2515,7 +2515,7 @@
 	if (!idx_oid)
 		return NULL;
 
-	idx_rel = index_open(idx_oid, AccessExclusiveLock);
+	idx_rel = index_open(idx_oid, AccessShareLock);
 	buffer = ReadBuffer(idx_rel, GIST_ROOT_BLKNO);
 	page = (Page) BufferGetPage(buffer);
 	offset = FirstOffsetNumber;
@@ -2527,7 +2527,7 @@
 		if (!iid)
 		{
 			ReleaseBuffer(buffer);
-			index_close(idx_rel, AccessExclusiveLock);
+			index_close(idx_rel, AccessShareLock);
 			return NULL;
 		}
 		ituple = (IndexTuple) PageGetItem(page, iid);
@@ -2559,7 +2559,7 @@
 	}
 
 	ReleaseBuffer(buffer);
-	index_close(idx_rel, AccessExclusiveLock);
+	index_close(idx_rel, AccessShareLock);
 
 	if (key_type == STATISTIC_SLOT_2D && bounds_2df)
 	{



More information about the postgis-tickets mailing list