Can use the parameter list in the query window now.

Still requires extensive testing for all possible types.
This commit is contained in:
eelke 2017-02-19 11:12:43 +01:00
parent aefc9eb7ba
commit 3af26d915e
14 changed files with 461 additions and 242 deletions

View file

@ -25,12 +25,26 @@ Params& Params::operator=(const Params& rhs)
return *this;
}
Params::Params(const Params&& rhs)
Params::Params(Params&& rhs)
: m_paramTypes(std::move(rhs.m_paramTypes))
, m_paramValues(std::move(rhs.m_paramValues))
, m_paramLengths(std::move(rhs.m_paramLengths))
, m_paramFormats(std::move(rhs.m_paramFormats))
{}
{
//rhs.m_paramValues.clear(); // make sure origin is empty, to prevent double deletion
}
Params& Params::operator=(Params&& rhs)
{
if (&rhs != this) {
m_paramTypes = std::move(rhs.m_paramTypes);
m_paramValues = std::move(rhs.m_paramValues);
//rhs.m_paramValues.clear(); // make sure origin is empty, to prevent double deletion
m_paramLengths = std::move(rhs.m_paramLengths);
m_paramFormats = std::move(rhs.m_paramFormats);
}
return *this;
}
Params::~Params()
{
@ -49,8 +63,9 @@ void Params::add(const QString &s, Oid oid)
{
auto ba = s.toUtf8();
const int len = ba.size();
char * p = new char[len];
char * p = new char[len+1];
std::memcpy(p, ba.data(), len);
p[len] = 0;
addText(p, oid);
}