Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

sqlite: re-filtering a virtual-table cursor skips generator cleanup

Aperta
#66,193 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@trivikr ci sta già lavorando.

Dal 22/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

sqlite
Version

main

Platform
N/A
Subsystem

sqlite

What steps will reproduce the bug?
import { DatabaseSync } from 'node:sqlite';

const db = new DatabaseSync(':memory:');

let cleaned = 0;
db.createModule('m', {
  columns: [{ name: 'input', type: 'INTEGER', hidden: true }],
  *rows(input) {
    try { yield [input]; } finally { cleaned++; }
  },
});

db.exec('CREATE TABLE t(a); INSERT INTO t VALUES (1), (2)');
db.prepare('SELECT a FROM t WHERE EXISTS(SELECT 1 FROM m(t.a))').all();
console.log(cleaned);  // 1, expected 2
How often does it reproduce? Is there a required condition?

Always

What is the expected behavior? Why is that the expected behavior?

Both rows() calls (for t.a = 1 and t.a = 2) run their finally, so cleaned is 2.

What do you see instead?

cleaned is 1; the first generator is suspended and discarded by the re-filter and its finally never runs.

Additional information

No response

Lingua principale
JavaScript
Stelle
122k
Fork
37.4k
Merge medio
4g 4h
PR unite (30g)
276

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nodejs/node

Tutte le issue di nodejs/node

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.