sqlite: handle stmt invalidation · nodejs/node@851228c · GitHub
Skip to content

Commit 851228c

Browse files
araujoguiaduh95
authored andcommitted
sqlite: handle stmt invalidation
PR-URL: #61877 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
1 parent f90fa9c commit 851228c

3 files changed

Lines changed: 73 additions & 4 deletions

File tree

src/node_sqlite.cc

Lines changed: 15 additions & 4 deletions

src/node_sqlite.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,9 @@ class StatementSync : public BaseObject {
291291
bool use_big_ints_;
292292
bool allow_bare_named_params_;
293293
bool allow_unknown_named_params_;
294+
uint64_t reset_generation_ = 0;
294295
std::optional<std::map<std::string, std::string>> bare_named_params_;
296+
inline int ResetStatement();
295297
bool BindParams(const v8::FunctionCallbackInfo<v8::Value>& args);
296298
bool BindValue(const v8::Local<v8::Value>& value, const int index);
297299

@@ -321,6 +323,7 @@ class StatementSyncIterator : public BaseObject {
321323
~StatementSyncIterator() override;
322324
BaseObjectPtr<StatementSync> stmt_;
323325
bool done_;
326+
uint64_t statement_reset_generation_;
324327
};
325328

326329
using Sqlite3ChangesetGenFunc = int (*)(sqlite3_session*, int*, void**);

test/parallel/test-sqlite-statement-sync.js

Lines changed: 55 additions & 0 deletions

0 commit comments

Comments
 (0)