From 992ae4650dcad4152058756bb3c26db4faf3f613 Mon Sep 17 00:00:00 2001 From: Tomasz Konojacki Date: Fri, 21 Dec 2018 18:39:19 +0100 Subject: [PATCH] use SQLITE_STATIC instead of SQLITE_TRANSIENT in execute() This makes execute() a little bit faster, because SQLite no longer has to copy binded params. --- dbdimp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbdimp.c b/dbdimp.c index b6669ac..62e95dd 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -954,7 +954,7 @@ sqlite_st_execute(SV *sth, imp_sth_t *imp_sth) else if (sql_type == SQLITE_BLOB) { STRLEN len; char * data = SvPVbyte(value, len); - rc = sqlite3_bind_blob(imp_sth->stmt, i+1, data, len, SQLITE_TRANSIENT); + rc = sqlite3_bind_blob(imp_sth->stmt, i+1, data, len, SQLITE_STATIC); } else { STRLEN len; @@ -1003,7 +1003,7 @@ sqlite_st_execute(SV *sth, imp_sth_t *imp_sth) (sql_type == SQLITE_INTEGER ? "integer" : "float") ); } - rc = sqlite3_bind_text(imp_sth->stmt, i+1, data, len, SQLITE_TRANSIENT); + rc = sqlite3_bind_text(imp_sth->stmt, i+1, data, len, SQLITE_STATIC); } }