From 1f900804b629020bf6cbcb336ecbcbbacaacb3aa Mon Sep 17 00:00:00 2001 From: Evert Lammerts Date: Thu, 30 Jul 2026 11:11:49 +0200 Subject: [PATCH] Use QueryLocation and GetParameterCount --- src/pyconnection.cpp | 8 ++++---- src/pystatement.cpp | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pyconnection.cpp b/src/pyconnection.cpp index fd95aa4c..ebdf25fa 100644 --- a/src/pyconnection.cpp +++ b/src/pyconnection.cpp @@ -618,13 +618,13 @@ identifier_map_t TransformPreparedParameters(ClientContext & optional_ptr prep = {}) { identifier_map_t named_values; if (duckdb::PyUtil::IsListLike(params)) { - if (prep && prep->named_param_map.size() != nb::len(params)) { + if (prep && prep->GetParameterCount() != nb::len(params)) { if (nb::len(params) == 0) { throw InvalidInputException("Expected %d parameters, but none were supplied", - prep->named_param_map.size()); + prep->GetParameterCount()); } - throw InvalidInputException("Prepared statement needs %d parameters, %d given", - prep->named_param_map.size(), nb::len(params)); + throw InvalidInputException("Prepared statement needs %d parameters, %d given", prep->GetParameterCount(), + nb::len(params)); } auto unnamed_values = DuckDBPyConnection::TransformPythonParamList(context, params); for (idx_t i = 0; i < unnamed_values.size(); i++) { diff --git a/src/pystatement.cpp b/src/pystatement.cpp index 18a37b37..71d85def 100644 --- a/src/pystatement.cpp +++ b/src/pystatement.cpp @@ -29,8 +29,7 @@ unique_ptr DuckDBPyStatement::GetStatement() { string DuckDBPyStatement::Query() const { auto &loc = statement->stmt_location; - auto &length = statement->stmt_length; - return statement->query.substr(loc, length); + return statement->query.substr(loc.offset, loc.length); } nb::set DuckDBPyStatement::NamedParameters() const {