Re: Assert failure when CREATE TEMP TABLE

Alexander Law <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Richard Guo <guofenglinux@gmail.com>
Cc: pgsql-bugs@postgresql.org
Date: 2023-10-17T09:00:00Z
Lists: pgsql-bugs
16.10.2023 18:46, Tom Lane wrote:
> Richard Guo <guofenglinux@gmail.com> writes:
>> I came across an Assert failure while running sqlancer.  The repro query
>> is
> Hmm.  AFAICT, the critical thing about this CHECK condition is simply
> that it's bulky enough to create an out-of-line toasted "conbin" field
> in pg_constraint.  When we come to ON COMMIT DROP, we have to delete
> the pg_constraint entry and thereby the toast item, and we evidently
> lack a snapshot at that point.

That's very similar to bug #18127, and looks like one more case to the
collection [1], with RemoveConstraintById() -> CatalogTupleDelete() ->
simple_heap_delete() ...

https://www.postgresql.org/message-id/9541c507-a325-7768-38b0-90f6532c01e3%40gmail.com

Best regards,
Alexander



Commits

  1. Ensure we have a snapshot while dropping ON COMMIT DROP temp tables.