ssi-heap-insert-fix-1.patch

text/plain

Filename: ssi-heap-insert-fix-1.patch
Type: text/plain
Part: 0
Message: Re: SSI heap_insert and page-level predicate locks

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
File+
src/backend/access/heap/heapam.c 7 0
*** a/src/backend/access/heap/heapam.c
--- b/src/backend/access/heap/heapam.c
***************
*** 1916,1926 **** heap_insert(Relation relation, HeapTuple tup, CommandId cid,
  									   InvalidBuffer, options, bistate);
  
  	/*
! 	 * We're about to do the actual insert -- check for conflict at the
! 	 * relation or buffer level first, to avoid possibly having to roll back
! 	 * work we've just done.
  	 */
! 	CheckForSerializableConflictIn(relation, NULL, buffer);
  
  	/* NO EREPORT(ERROR) from here till changes are logged */
  	START_CRIT_SECTION();
--- 1916,1929 ----
  									   InvalidBuffer, options, bistate);
  
  	/*
! 	 * We're about to do the actual insert -- check for conflict first, to
! 	 * avoid possibly having to roll back work we've just done.
! 	 *
! 	 * NOTE: For a tuple insert, we only need to check for table locks, since
! 	 * predicate locking at the index level will cover ranges for anything
! 	 * except a table scan.  Therefore, only provide the relation.
  	 */
! 	CheckForSerializableConflictIn(relation, NULL, InvalidBuffer);
  
  	/* NO EREPORT(ERROR) from here till changes are logged */
  	START_CRIT_SECTION();