forked from qt-creator/qt-creator
Revert "Sqlite: Flatten calls inside functions"
This reverts commit 2a301d41c4
.
Reason for revert: msvc uses a different syntax
Change-Id: Iec4ae2a65e6957c6e1368cc481a63fab0e55ce9e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -27,12 +27,6 @@
|
|||||||
|
|
||||||
using std::int64_t;
|
using std::int64_t;
|
||||||
|
|
||||||
#ifdef Q_CC_MSVC
|
|
||||||
#define FLATTEN [[msvc::flatten]]
|
|
||||||
#else
|
|
||||||
#define FLATTEN [[gnu::flatten]]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace Sqlite {
|
namespace Sqlite {
|
||||||
|
|
||||||
class Database;
|
class Database;
|
||||||
@@ -156,7 +150,7 @@ public:
|
|||||||
using BaseStatement::BaseStatement;
|
using BaseStatement::BaseStatement;
|
||||||
StatementImplementation(StatementImplementation &&) = default;
|
StatementImplementation(StatementImplementation &&) = default;
|
||||||
|
|
||||||
FLATTEN void execute()
|
void execute()
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
BaseStatement::next();
|
BaseStatement::next();
|
||||||
@@ -172,7 +166,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename... ValueType>
|
template<typename... ValueType>
|
||||||
FLATTEN void write(const ValueType &...values)
|
void write(const ValueType&... values)
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
bindValues(values...);
|
bindValues(values...);
|
||||||
@@ -196,7 +190,7 @@ public:
|
|||||||
std::size_t capacity = 32,
|
std::size_t capacity = 32,
|
||||||
typename = std::enable_if_t<is_container<Container>::value>,
|
typename = std::enable_if_t<is_container<Container>::value>,
|
||||||
typename... QueryTypes>
|
typename... QueryTypes>
|
||||||
FLATTEN auto values(const QueryTypes &...queryValues)
|
auto values(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
Container resultValues;
|
Container resultValues;
|
||||||
@@ -217,7 +211,7 @@ public:
|
|||||||
template<typename...> typename Container = std::vector,
|
template<typename...> typename Container = std::vector,
|
||||||
typename = std::enable_if_t<!is_container<ResultType>::value>,
|
typename = std::enable_if_t<!is_container<ResultType>::value>,
|
||||||
typename... QueryTypes>
|
typename... QueryTypes>
|
||||||
FLATTEN auto values(const QueryTypes &...queryValues)
|
auto values(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return values<Container<ResultType>, capacity>(queryValues...);
|
return values<Container<ResultType>, capacity>(queryValues...);
|
||||||
}
|
}
|
||||||
@@ -237,7 +231,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto optionalValue(const QueryTypes &...queryValues)
|
auto optionalValue(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
std::optional<ResultType> resultValue;
|
std::optional<ResultType> resultValue;
|
||||||
@@ -251,7 +245,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Type>
|
template<typename Type>
|
||||||
FLATTEN static auto toValue(Utils::SmallStringView sqlStatement, Database &database)
|
static auto toValue(Utils::SmallStringView sqlStatement, Database &database)
|
||||||
{
|
{
|
||||||
StatementImplementation statement(sqlStatement, database);
|
StatementImplementation statement(sqlStatement, database);
|
||||||
|
|
||||||
@@ -263,7 +257,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Callable, typename... QueryTypes>
|
template<typename Callable, typename... QueryTypes>
|
||||||
FLATTEN void readCallback(Callable &&callable, const QueryTypes &...queryValues)
|
void readCallback(Callable &&callable, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
|
|
||||||
@@ -278,7 +272,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Container, typename... QueryTypes>
|
template<typename Container, typename... QueryTypes>
|
||||||
FLATTEN void readTo(Container &container, const QueryTypes &...queryValues)
|
void readTo(Container &container, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
Resetter resetter{this};
|
Resetter resetter{this};
|
||||||
|
|
||||||
@@ -289,13 +283,13 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto range(const QueryTypes &...queryValues)
|
auto range(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return SqliteResultRange<ResultType>{*this, queryValues...};
|
return SqliteResultRange<ResultType>{*this, queryValues...};
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto rangeWithTransaction(const QueryTypes &...queryValues)
|
auto rangeWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return SqliteResultRangeWithTransaction<ResultType>{*this, queryValues...};
|
return SqliteResultRangeWithTransaction<ResultType>{*this, queryValues...};
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ public:
|
|||||||
using Base::values;
|
using Base::values;
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto valueWithTransaction(const QueryTypes &...queryValues)
|
auto valueWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withDeferredTransaction(Base::database(), [&] {
|
return withDeferredTransaction(Base::database(), [&] {
|
||||||
return Base::template value<ResultType>(queryValues...);
|
return Base::template value<ResultType>(queryValues...);
|
||||||
@@ -40,7 +40,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto optionalValueWithTransaction(const QueryTypes &...queryValues)
|
auto optionalValueWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withDeferredTransaction(Base::database(), [&] {
|
return withDeferredTransaction(Base::database(), [&] {
|
||||||
return Base::template optionalValue<ResultType>(queryValues...);
|
return Base::template optionalValue<ResultType>(queryValues...);
|
||||||
@@ -48,7 +48,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, std::size_t capacity = 32, typename... QueryTypes>
|
template<typename ResultType, std::size_t capacity = 32, typename... QueryTypes>
|
||||||
FLATTEN auto valuesWithTransaction(const QueryTypes &...queryValues)
|
auto valuesWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withDeferredTransaction(Base::database(), [&] {
|
return withDeferredTransaction(Base::database(), [&] {
|
||||||
return Base::template values<ResultType, capacity>(queryValues...);
|
return Base::template values<ResultType, capacity>(queryValues...);
|
||||||
@@ -56,7 +56,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Callable, typename... QueryTypes>
|
template<typename Callable, typename... QueryTypes>
|
||||||
FLATTEN void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
|
void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
withDeferredTransaction(Base::database(), [&] {
|
withDeferredTransaction(Base::database(), [&] {
|
||||||
Base::readCallback(std::forward<Callable>(callable), queryValues...);
|
Base::readCallback(std::forward<Callable>(callable), queryValues...);
|
||||||
@@ -64,7 +64,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Container, typename... QueryTypes>
|
template<typename Container, typename... QueryTypes>
|
||||||
FLATTEN void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
|
void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
withDeferredTransaction(Base::database(), [&] { Base::readTo(container, queryValues...); });
|
withDeferredTransaction(Base::database(), [&] { Base::readTo(container, queryValues...); });
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ public:
|
|||||||
using Base::write;
|
using Base::write;
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto valueWithTransaction(const QueryTypes &...queryValues)
|
auto valueWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withImmediateTransaction(Base::database(), [&] {
|
return withImmediateTransaction(Base::database(), [&] {
|
||||||
return Base::template value<ResultType>(queryValues...);
|
return Base::template value<ResultType>(queryValues...);
|
||||||
@@ -40,15 +40,17 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, typename... QueryTypes>
|
template<typename ResultType, typename... QueryTypes>
|
||||||
FLATTEN auto optionalValueWithTransaction(const QueryTypes &...queryValues)
|
auto optionalValueWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withImmediateTransaction(Base::database(), [&] {
|
return withImmediateTransaction(Base::database(), [&] {
|
||||||
return Base::template optionalValue<ResultType>(queryValues...);
|
return Base::template optionalValue<ResultType>(queryValues...);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ResultType, std::size_t capacity = 32, typename... QueryTypes>
|
template<typename ResultType,
|
||||||
FLATTEN auto valuesWithTransaction(const QueryTypes &...queryValues)
|
std::size_t capacity = 32,
|
||||||
|
typename... QueryTypes>
|
||||||
|
auto valuesWithTransaction(const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
return withImmediateTransaction(Base::database(), [&] {
|
return withImmediateTransaction(Base::database(), [&] {
|
||||||
return Base::template values<ResultType, capacity>(queryValues...);
|
return Base::template values<ResultType, capacity>(queryValues...);
|
||||||
@@ -56,7 +58,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Callable, typename... QueryTypes>
|
template<typename Callable, typename... QueryTypes>
|
||||||
FLATTEN void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
|
void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
withImmediateTransaction(Base::database(), [&] {
|
withImmediateTransaction(Base::database(), [&] {
|
||||||
Base::readCallback(std::forward<Callable>(callable), queryValues...);
|
Base::readCallback(std::forward<Callable>(callable), queryValues...);
|
||||||
@@ -64,14 +66,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Container, typename... QueryTypes>
|
template<typename Container, typename... QueryTypes>
|
||||||
FLATTEN void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
|
void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
|
||||||
{
|
{
|
||||||
withImmediateTransaction(Base::database(), [&] {
|
withImmediateTransaction(Base::database(), [&] {
|
||||||
Base::readTo(container, queryValues...);
|
Base::readTo(container, queryValues...);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
FLATTEN void executeWithTransaction()
|
void executeWithTransaction()
|
||||||
{
|
{
|
||||||
withImmediateTransaction(Base::database(), [&] {
|
withImmediateTransaction(Base::database(), [&] {
|
||||||
Base::execute();
|
Base::execute();
|
||||||
|
Reference in New Issue
Block a user