Refactor that fixes a compilation issue in Release mode

Some template specialization were not found, because they were not declared
at the point they were used.

We moved things around, things are less inter-dependant, and also now it
works.
This commit is contained in:
louiz’
2018-04-13 23:35:06 +02:00
parent de8267fa3f
commit 4bd7b6981b
13 changed files with 162 additions and 148 deletions
+14
View File
@@ -2,6 +2,8 @@
#include <database/engine.hpp>
#include <database/table.hpp>
#include <database/database.hpp>
#include <database/statement.hpp>
#include <utils/datetime.hpp>
#include <database/query.hpp>
@@ -78,6 +80,12 @@ std::string after_column()
return {};
}
template <>
std::string before_column<Database::Date>();
template <>
std::string after_column<Database::Date>();
template <typename... T>
struct SelectQuery: public Query
{
@@ -153,3 +161,9 @@ struct SelectQuery: public Query
const std::string table_name;
};
template <typename... T>
auto select(const Table<T...> table)
{
SelectQuery<T...> query(table.name);
return query;
}