Thanks for the report!
On Mon, Dec 16, 2024 at 09:50:39AM -0800, Paul Ramsey wrote:
> Apologies if this is already reported, but there´s a crasher in recursive
> queries at the head of the current development that happened to be
> exercised by our regression suite. Here is a core-only reproduction.
>
> CREATE TABLE foo (id integer, x integer, y integer);
> INSERT INTO foo VALUES (1, 0, 1);
> INSERT INTO foo VALUES (2, 1, 2);
> INSERT INTO foo VALUES (3, 2, 3);
>
> WITH RECURSIVE path (id, x, y) AS (
> SELECT id, x, y FROM foo WHERE id = 1
> UNION
> SELECT foo.id, foo.x, foo.y
> FROM path, foo
> WHERE path.y = foo.x
> )
> SELECT 'crash', id, x, y FROM path;
git-bisect is pointing me to https://postgr.es/c/0f57382. Here is the
trace I'm seeing:
TRAP: failed Assert("op->d.fetch.kind == slot->tts_ops"), File:
"../postgresql/src/backend/executor/execExprInterp.c",Line: 2244, PID: 5031
0 postgres 0x000000010112d068 ExceptionalCondition + 108
1 postgres 0x0000000100e54f04 ExecInterpExpr + 604
2 postgres 0x0000000100e5bd50 LookupTupleHashEntry + 116
3 postgres 0x0000000100e8e580 ExecRecursiveUnion + 140
4 postgres 0x0000000100e770c0 CteScanNext + 248
5 postgres 0x0000000100e66e9c ExecScan + 124
6 postgres 0x0000000100e5dc9c standard_ExecutorRun + 304
7 postgres 0x0000000100ffe6dc PortalRunSelect + 236
8 postgres 0x0000000100ffe2f8 PortalRun + 492
9 postgres 0x0000000100ffd298 exec_simple_query + 1276
10 postgres 0x0000000100ffaf24 PostgresMain + 3632
11 postgres 0x0000000100ff631c BackendInitialize + 0
12 postgres 0x0000000100f5d638 PgArchShmemSize + 0
13 postgres 0x0000000100f61518 ServerLoop + 4300
14 postgres 0x0000000100f5fc60 InitProcessGlobals + 0
15 postgres 0x0000000100eb1e7c help + 0
16 dyld 0x000000019ed3b154 start + 2476
--
nathan