## Summary
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**

## Minimized query

```sql
((SAVEPOINT)) sp1405;
PRAGMA full_column_names = YES;
PRAGMA soft_heap_limit = (10000000 + 0);
PRAGMA checkpoint_fullsync = OFF;
.auth ON
CREATE TABLE t3(x,y);
INSERT INTO t3 VALUES(1,NULL);
INSERT INTO t3 VALUES(2,NULL);
INSERT INTO t3 VALUES(3,4);
SELECT count(x), y FROM t3 GROUP BY y ORDER BY 1;

PRAGMA recursive_triggers;
UPDATE t3 SET x = 'x' WHERE x IS NOT NULL RETURNING *;
WITH cte AS (SELECT * FROM t3 WHERE x IS NOT NULL) SELECT * FROM cte;
ANALYZE;
REINDEX;
INSERT INTO t3 VALUES (NULL, NULL);
CREATE TRIGGER IF NOT EXISTS trg_t3_8438 AFTER INSERT ON t3 FOR EACH ROW BEGIN INSERT INTO t3(y) VALUES (NULL); END;
UPDATE t3 SET y = CURRENT_TIMESTAMP WHERE 1;
CREATE TEMPORARY  VIEW IF NOT EXISTS v_t3_4714 AS SELECT x FROM t3;
RELEASE sp1405;
SELECT * FROM t3 AS a LEFT OUTER JOIN t3 AS b ON a.rowid = b.rowid;
ANALYZE t3;
CREATE TABLE T (
  a TEXT,
  b TEXT,
  c REAL
);
INSERT INTO T VALUES ('a','b',5.0), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
UPDATE T SET a = -97 WHERE a BETWEEN 0 AND 100;
ALTER TABLE t3 RENAME COLUMN x TO x_r4409;
```

## Actual output

```sql
3.39.0 2022-05-10 23:28:12 764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342ealt1
```

## Expectation

```sql
3.51.1 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88 (64-bit)
```

## Flag

```
-version
```

