Rework of catalog objects. Several of them are now inheriting from common
base classes that implement common functionality.
This commit is contained in:
parent
840af1e0a9
commit
73c4cf4790
45 changed files with 340 additions and 265 deletions
|
|
@ -38,7 +38,7 @@ void CrudModel::setConfig(std::shared_ptr<OpenDatabase> db, const PgClass &table
|
|||
{
|
||||
m_database = db;
|
||||
m_table = table;
|
||||
m_primaryKey = db->catalog()->constraints()->getPrimaryForRelation(table.oid);
|
||||
m_primaryKey = db->catalog()->constraints()->getPrimaryForRelation(table.oid());
|
||||
//cat->attributes()->getColumnsForRelation()
|
||||
callLoadData = true;
|
||||
auto dbconfig = m_database->config();
|
||||
|
|
@ -163,7 +163,7 @@ QVariant CrudModel::data(const QModelIndex &index, int role) const
|
|||
|
||||
void CrudModel::loadData()
|
||||
{
|
||||
QString table_name = genFQTableName(*m_database->catalog(), m_table);
|
||||
QString table_name = m_table->fullyQualifiedQuotedObjectName(); // genFQTableName(*m_database->catalog(), *m_table);
|
||||
std::string q = "SELECT * FROM ";
|
||||
q += std::string(table_name.toUtf8().data());
|
||||
m_dbConn.send(q, [this] (Expected<std::shared_ptr<Pgsql::Result>> res, qint64) {
|
||||
|
|
@ -295,7 +295,7 @@ std::tuple<QString, Pgsql::Params> CrudModel::createUpdateQuery(const PKeyValues
|
|||
{
|
||||
Pgsql::Params params;
|
||||
auto data = pending_row.data();
|
||||
QString table_name = genFQTableName(*m_database->catalog(), m_table);
|
||||
QString table_name = m_table->fullyQualifiedQuotedObjectName(); //genFQTableName(*m_database->catalog(), *m_table);
|
||||
QString buffer;
|
||||
QTextStream q(&buffer);
|
||||
q << "UPDATE " << table_name << " AS d\n SET ";
|
||||
|
|
@ -329,12 +329,12 @@ std::tuple<QString, Pgsql::Params> CrudModel::createInsertQuery(const PendingRow
|
|||
{
|
||||
Pgsql::Params params;
|
||||
auto data = pending_row.data();
|
||||
QString table_name = genFQTableName(*m_database->catalog(), m_table);
|
||||
QString table_name = m_table->fullyQualifiedQuotedObjectName(); // genFQTableName(*m_database->catalog(), *m_table);
|
||||
QString buffer;
|
||||
QTextStream q(&buffer);
|
||||
q << "INSERT INTO " << table_name << "(";
|
||||
|
||||
auto columns = m_database->catalog()->attributes()->getColumnsForRelation(m_table.oid);
|
||||
auto columns = m_database->catalog()->attributes()->getColumnsForRelation(m_table->oid());
|
||||
bool first = true;
|
||||
for (auto e : data) {
|
||||
int num = e.first + 1;
|
||||
|
|
@ -362,7 +362,7 @@ std::tuple<QString, Pgsql::Params> CrudModel::createInsertQuery(const PendingRow
|
|||
std::tuple<QString, Pgsql::Params> CrudModel::createDeleteStatement(const PKeyValues &pkey_values)
|
||||
{
|
||||
Pgsql::Params params;
|
||||
QString table_name = genFQTableName(*m_database->catalog(), m_table);
|
||||
QString table_name = m_table->fullyQualifiedQuotedObjectName(); // genFQTableName(*m_database->catalog(), *m_table);
|
||||
QString buffer;
|
||||
QTextStream q(&buffer);
|
||||
q << "DELETE FROM " << table_name;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue