SQL: rename enablePositionalBinding() to setPositionalBindingEnabled()
... and the getter to isPositionalBindingEnabled() for QSqlQuery and QSqlResult. This amends e532933a2a9ff0219f0179880e05c95e0ec5e19d [ChangeLog][QtSql][QSqlQuery] Add setPositionalBindingEnabled() to be able to disable positional binding. Task-number: QTBUG-119952 Fixes: QTBUG-120548 Change-Id: I0a0afb652d0fc9421f5692b0927a66b2a9b7b854 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit b1e5d9275d4cf6152e4e9456b1bc2d585a5512e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
656576d3b4
commit
4bc230ad05
@ -1270,31 +1270,33 @@ QSql::NumericalPrecisionPolicy QSqlQuery::numericalPrecisionPolicy() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Enables or disables the positional binding for this query, depending
|
Enables or disables the positional \l {Approaches to Binding Values}{binding}
|
||||||
on \a enable.
|
for this query, depending on \a enable (default is \c true).
|
||||||
This is useful when the query contains a '?' which must not be handled
|
Disabling positional bindings is useful if the query itself contains a '?'
|
||||||
as a positional binding parameter but, for example, as a JSON operator
|
which must not be handled as a positional binding parameter but, for example,
|
||||||
for a Postgres database.
|
as a JSON operator for a PostgreSQL database.
|
||||||
|
|
||||||
This function will have no effect when the database has native
|
This function will have no effect when the database has native
|
||||||
support for positional bindings with question marks.
|
support for positional bindings with question marks (see also
|
||||||
|
\l{QSqlDriver::PositionalPlaceholders}).
|
||||||
|
|
||||||
\since 6.7
|
\since 6.7
|
||||||
\sa positionalBindingEnabled()
|
\sa isPositionalBindingEnabled()
|
||||||
*/
|
*/
|
||||||
void QSqlQuery::enablePositionalBinding(bool enable)
|
void QSqlQuery::setPositionalBindingEnabled(bool enable)
|
||||||
{
|
{
|
||||||
d->sqlResult->enablePositionalBinding(enable);
|
d->sqlResult->setPositionalBindingEnabled(enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns true when the positional binding is currently enabled.
|
Returns \c true if the positional binding is currently enabled.
|
||||||
|
|
||||||
\since 6.7
|
\since 6.7
|
||||||
\sa enablePositionalBinding()
|
\sa setPositionalBindingEnabled()
|
||||||
*/
|
*/
|
||||||
bool QSqlQuery::positionalBindingEnabled() const
|
bool QSqlQuery::isPositionalBindingEnabled() const
|
||||||
{
|
{
|
||||||
return d->sqlResult->positionalBindingEnabled();
|
return d->sqlResult->isPositionalBindingEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,8 +69,8 @@ public:
|
|||||||
void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy);
|
void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy);
|
||||||
QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const;
|
QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const;
|
||||||
|
|
||||||
void enablePositionalBinding(bool enable);
|
void setPositionalBindingEnabled(bool enable);
|
||||||
bool positionalBindingEnabled() const;
|
bool isPositionalBindingEnabled() const;
|
||||||
|
|
||||||
bool seek(int i, bool relative = false);
|
bool seek(int i, bool relative = false);
|
||||||
bool next();
|
bool next();
|
||||||
|
@ -1016,7 +1016,7 @@ QSql::NumericalPrecisionPolicy QSqlResult::numericalPrecisionPolicy() const
|
|||||||
|
|
||||||
/*! \internal
|
/*! \internal
|
||||||
*/
|
*/
|
||||||
void QSqlResult::enablePositionalBinding(bool enable)
|
void QSqlResult::setPositionalBindingEnabled(bool enable)
|
||||||
{
|
{
|
||||||
Q_D(QSqlResult);
|
Q_D(QSqlResult);
|
||||||
d->positionalBindingEnabled = enable;
|
d->positionalBindingEnabled = enable;
|
||||||
@ -1024,7 +1024,7 @@ void QSqlResult::enablePositionalBinding(bool enable)
|
|||||||
|
|
||||||
/*! \internal
|
/*! \internal
|
||||||
*/
|
*/
|
||||||
bool QSqlResult::positionalBindingEnabled() const
|
bool QSqlResult::isPositionalBindingEnabled() const
|
||||||
{
|
{
|
||||||
Q_D(const QSqlResult);
|
Q_D(const QSqlResult);
|
||||||
return d->positionalBindingEnabled;
|
return d->positionalBindingEnabled;
|
||||||
|
@ -102,8 +102,8 @@ protected:
|
|||||||
virtual void detachFromResultSet();
|
virtual void detachFromResultSet();
|
||||||
virtual void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy policy);
|
virtual void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy policy);
|
||||||
QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const;
|
QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const;
|
||||||
void enablePositionalBinding(bool enable);
|
void setPositionalBindingEnabled(bool enable);
|
||||||
bool positionalBindingEnabled() const;
|
bool isPositionalBindingEnabled() const;
|
||||||
virtual bool nextResult();
|
virtual bool nextResult();
|
||||||
void resetBindCount(); // HACK
|
void resetBindCount(); // HACK
|
||||||
|
|
||||||
|
@ -5067,7 +5067,8 @@ void tst_QSqlQuery::positionalBindingEnabled()
|
|||||||
QVERIFY_SQL(qry, exec("CREATE TABLE " + tableName + " (integer_col integer)"));
|
QVERIFY_SQL(qry, exec("CREATE TABLE " + tableName + " (integer_col integer)"));
|
||||||
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col) VALUES(42)"));
|
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col) VALUES(42)"));
|
||||||
|
|
||||||
qry.enablePositionalBinding(true);
|
qry.setPositionalBindingEnabled(true);
|
||||||
|
QCOMPARE(qry.isPositionalBindingEnabled(), true);
|
||||||
QVERIFY_SQL(qry, prepare("SELECT integer_col FROM " + tableName + " WHERE integer_col = :integer_val"));
|
QVERIFY_SQL(qry, prepare("SELECT integer_col FROM " + tableName + " WHERE integer_col = :integer_val"));
|
||||||
qry.bindValue(":integer_val", 42);
|
qry.bindValue(":integer_val", 42);
|
||||||
QVERIFY_SQL(qry, exec());
|
QVERIFY_SQL(qry, exec());
|
||||||
@ -5079,7 +5080,8 @@ void tst_QSqlQuery::positionalBindingEnabled()
|
|||||||
QVERIFY_SQL(qry, next());
|
QVERIFY_SQL(qry, next());
|
||||||
QCOMPARE(qry.value(0).toInt(), 42);
|
QCOMPARE(qry.value(0).toInt(), 42);
|
||||||
|
|
||||||
qry.enablePositionalBinding(false);
|
qry.setPositionalBindingEnabled(false);
|
||||||
|
QCOMPARE(qry.isPositionalBindingEnabled(), false);
|
||||||
QVERIFY_SQL(qry, prepare("SELECT integer_col FROM " + tableName + " WHERE integer_col = :integer_val"));
|
QVERIFY_SQL(qry, prepare("SELECT integer_col FROM " + tableName + " WHERE integer_col = :integer_val"));
|
||||||
qry.bindValue(":integer_val", 42);
|
qry.bindValue(":integer_val", 42);
|
||||||
QVERIFY_SQL(qry, exec());
|
QVERIFY_SQL(qry, exec());
|
||||||
@ -5109,7 +5111,7 @@ void tst_QSqlQuery::psqlJsonOperator()
|
|||||||
const QString &tableName = ts.tableName();
|
const QString &tableName = ts.tableName();
|
||||||
|
|
||||||
QSqlQuery qry(db);
|
QSqlQuery qry(db);
|
||||||
qry.enablePositionalBinding(false); // don't allow / handle '?' as placeholder
|
qry.setPositionalBindingEnabled(false); // don't allow / handle '?' as placeholder
|
||||||
QVERIFY_SQL(qry, exec("CREATE TABLE " + tableName + " (integer_col integer, json_col jsonb)"));
|
QVERIFY_SQL(qry, exec("CREATE TABLE " + tableName + " (integer_col integer, json_col jsonb)"));
|
||||||
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col, json_col) VALUES(42, '{\"a\": [1, 2]}')"));
|
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col, json_col) VALUES(42, '{\"a\": [1, 2]}')"));
|
||||||
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col, json_col) VALUES(43, '{\"b\": [3, 4]}')"));
|
QVERIFY_SQL(qry, exec("INSERT INTO " + tableName + "(integer_col, json_col) VALUES(43, '{\"b\": [3, 4]}')"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user