31 lines
798 B
C++
31 lines
798 B
C++
#include "matador/sql/column_generator.hpp"
|
|
#include "matador/sql/table_repository.hpp"
|
|
|
|
namespace matador::sql {
|
|
|
|
column_generator::column_generator(std::vector<column> &columns, const table_repository &repo)
|
|
: columns_(columns)
|
|
, repo_(repo)
|
|
{}
|
|
|
|
void column_generator::on_primary_key(const char *id, std::string &pk, size_t size)
|
|
{
|
|
on_attribute(id, pk, { size, utils::constraints::PRIMARY_KEY });
|
|
}
|
|
|
|
void column_generator::on_revision(const char *id, unsigned long long int &x)
|
|
{
|
|
on_attribute(id, x);
|
|
}
|
|
|
|
std::pair<std::string, std::string> column_generator::determine_foreign_ref(const std::type_index &ti)
|
|
{
|
|
return repo_.reference(ti);
|
|
}
|
|
|
|
void fk_column_generator::on_primary_key(const char *, std::string &, size_t size)
|
|
{
|
|
type_ = data_type_traits<std::string>::builtin_type(size);
|
|
}
|
|
|
|
} |