Skip to content

src: return `undefined` if no rows are returned in SQLite

For now, { key: null, value: null} is returned even though no rows are returned from database when statement.get() is called. So return empty value if return value of sqlite3_step is SQLITE_DONE.

With below example, undefined is expected as return value of statement.get(). But { key: null, value: null } is returned actually without this PR.

'use strict';
const { DatabaseSync } = require('node:sqlite');
const database = new DatabaseSync(':memory:');

let stmt = database.prepare('CREATE TABLE storage(key TEXT, val TEXT)');
console.log(stmt.get()); // undefined
stmt = database.prepare('SELECT * FROM storage');
console.log(stmt.get()); // { key: null, value: null } -> undefined

Merge request reports

Loading