Skip to content

Commit

Permalink
dbcopy: update size of restore object
Browse files Browse the repository at this point in the history
  • Loading branch information
franku authored and pstorz committed Jan 31, 2020
1 parent 13e22a3 commit 46dcd49
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion core/src/dird/dbcopy/database_export.h
Expand Up @@ -41,7 +41,7 @@ class DatabaseExport {
bool clear_tables = false);

virtual bool StartTable(const std::string& table_name) = 0;
virtual void EndTable() = 0;
virtual void EndTable(const std::string& table_name) = 0;

virtual void CopyStart() = 0;
virtual void CopyRow(RowData& origin_data) = 0;
Expand Down
12 changes: 11 additions & 1 deletion core/src/dird/dbcopy/database_export_postgresql.cc
Expand Up @@ -215,8 +215,18 @@ bool DatabaseExportPostgresql::StartTable(const std::string& table_name)
return true;
}

void DatabaseExportPostgresql::EndTable()
void DatabaseExportPostgresql::EndTable(const std::string& table_name)
{
if (table_name == "RestoreObject") {
std::string query{
"UPDATE restoreobject SET objectlength=length(restoreobject)"};
if (!db_->SqlQuery(query.c_str())) {
std::string err{"Could not update RestoreObjects: "};
err += db_->get_errmsg();
throw std::runtime_error(err);
}
}

if (transaction_) {
db_->SqlQuery("COMMIT");
transaction_ = false;
Expand Down
2 changes: 1 addition & 1 deletion core/src/dird/dbcopy/database_export_postgresql.h
Expand Up @@ -32,7 +32,7 @@ class DatabaseExportPostgresql : public DatabaseExport {
~DatabaseExportPostgresql();

bool StartTable(const std::string& table_name) override;
void EndTable() override;
void EndTable(const std::string& table_name) override;

void CopyStart() override;
void CopyRow(RowData& origin_data) override;
Expand Down
2 changes: 1 addition & 1 deletion core/src/dird/dbcopy/database_import_mysql.cc
Expand Up @@ -133,7 +133,7 @@ void DatabaseImportMysql::RunQuerySelectAllRows(
std::cout << query << std::endl;
}

exporter.EndTable();
exporter.EndTable(t.table_name);
std::cout << "Finished copy data from: " << t.table_name << std::endl;
// std::cout << query << std::endl << std::endl;
}
Expand Down

0 comments on commit 46dcd49

Please sign in to comment.