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