Skip to content

sqlite: clear SQLTagStore bindings - #65041

Open
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:fix-sqlite-tagstore-bindings
Open

sqlite: clear SQLTagStore bindings#65041
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:fix-sqlite-tagstore-bindings

Conversation

@mcollina

@mcollina mcollina commented Aug 5, 2026

Copy link
Copy Markdown
Member

SQLTagStore reused cached statements without clearing values bound by a previous execution. Clear bindings before binding new values and reject parameters that do not correspond to template substitutions.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/sqlite

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. sqlite Issues and PRs related to the SQLite subsystem. labels Aug 5, 2026
SQLTagStore reused cached statements without clearing values bound by a
previous execution. Clear bindings before binding new values and reject
parameters that do not correspond to template substitutions.

Signed-off-by: Matteo Collina <hello@matteocollina.com>
@mcollina
mcollina force-pushed the fix-sqlite-tagstore-bindings branch from 35ab44c to 78f82ca Compare August 5, 2026 09:41
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.18519% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.30%. Comparing base (41afbd3) to head (78f82ca).
⚠️ Report is 20 commits behind head on main.

Files with missing lines Patch % Lines
src/node_sqlite.cc 85.18% 1 Missing and 3 partials ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #65041   +/-   ##
=======================================
  Coverage   90.30%   90.30%           
=======================================
  Files         759      759           
  Lines      247597   247586   -11     
  Branches    46679    46673    -6     
=======================================
+ Hits       223591   223592    +1     
+ Misses      15469    15459   -10     
+ Partials     8537     8535    -2     
Files with missing lines Coverage Δ
src/node_sqlite.h 82.60% <ø> (ø)
src/node_sqlite.cc 80.74% <85.18%> (+0.21%) ⬆️

... and 27 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread src/node_sqlite.cc
Comment on lines +3423 to +3430
uint32_t n_params = args.Length() - 1;
int param_count = sqlite3_bind_parameter_count(stmt->statement_);
if (param_count != static_cast<int>(n_params)) {
THROW_ERR_INVALID_ARG_VALUE(
env,
"SQLite parameters must be bound using template literal placeholders.");
return false;
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice.

@trivikr trivikr added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 6, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 6, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. sqlite Issues and PRs related to the SQLite subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants