From 24628d4632011e9c8332ecff4f081fbd457c20bb Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 5 Dec 2019 18:15:00 +0000 Subject: [PATCH] PGSQL: Escaping ? as ?? git-svn-id: svn://ultimatepp.org/upp/trunk@13737 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/PostgreSQL/PostgreSQL.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/uppsrc/PostgreSQL/PostgreSQL.cpp b/uppsrc/PostgreSQL/PostgreSQL.cpp index f0955759f..73d544756 100644 --- a/uppsrc/PostgreSQL/PostgreSQL.cpp +++ b/uppsrc/PostgreSQL/PostgreSQL.cpp @@ -513,11 +513,17 @@ bool PostgreSQLConnection::Execute() s = PostgreSQLReadString(s, query); else { if(*s == '?' && !noquestionparams) { - if(pi >= param.GetCount()) { - session.SetError("Invalid number of parameters", statement); - return false; + if(s[1] == '?') { + query.Cat('?'); + s++; + } + else { + if(pi >= param.GetCount()) { + session.SetError("Invalid number of parameters", statement); + return false; + } + query.Cat(param[pi++]); } - query.Cat(param[pi++]); } else query.Cat(*s);