diff --git a/backuprestore.cpp b/backuprestore.cpp new file mode 100644 index 0000000..801d582 --- /dev/null +++ b/backuprestore.cpp @@ -0,0 +1,66 @@ +#include +#include +#include "connectionconfig.h" + +void setupEnvironment(const ConnectionConfig &cc) +{ + + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("PGHOST", cc.host().c_str()); + env.insert("PGPORT", QString::number(cc.port())); + env.insert("PGDATABASE", cc.dbname().c_str()); + env.insert("PGUSER", cc.user().c_str()); + env.insert("PGPASSWORD", cc.password().c_str()); + +// QProcess process; +// process.setProcessEnvironment(env); +// process.start("myapp"); + +} + +// QString toolpath; +// Executable = toolpath + "\\pg_restore.exe"; +// ExecutableDump = toolpath + "\\pg_dump.exe"; + + +//--------------------------------------------------------------------------- +void Backup(QString dest_file_name) +{ + +// QString command_line = "\"" + ExecutableDump + "\" "; +// // Add commandline options +// command_line += "--verbose "; +// command_line += "--format=c "; // user option +// command_line += " --file=\"" + dest_file_name + "\""; + + QStringList args; + args << "--verbose"; + args << "--format=c"; + args << "--file=\"" + dest_file_name + "\""; + + QProcess process; + process.setProgram("pg_dump.exe"); + process.setArguments(args); + process.start(); + + // process.setProcessEnvironment(env); + // process.start("myapp"); + + +} + + +//--------------------------------------------------------------------------- +void Restore(QString bron_file_name) +{ + QProcess process; + process.setProgram("pg_restore.exe"); + +// QString command_line = "\"" + ExecutableRestore + "\" "; +// command_line += "--verbose --no-password --no-privileges --no-owner --dbname=\"" + DbConfig.DbNaam + "\" \"" + bron_file_name + "\""; + +// ExecProg = new ExecuteProgram; +// ExecProg->Startup(command_line, Env.GetRawData(), Handle, WM_USER); +} + + diff --git a/main.cpp b/main.cpp index 84b3800..3b68dad 100644 --- a/main.cpp +++ b/main.cpp @@ -33,3 +33,4 @@ int main(int argc, char *argv[]) return result; } + diff --git a/pglab.pro b/pglab.pro index ce9c624..1bf2282 100644 --- a/pglab.pro +++ b/pglab.pro @@ -33,7 +33,8 @@ SOURCES += main.cpp\ databasewindow.cpp \ connectionmanagerwindow.cpp \ connectionlistmodel.cpp \ - connectionconfig.cpp + connectionconfig.cpp \ + backuprestore.cpp HEADERS += mainwindow.h \ serverproperties.h \ diff --git a/sqlhighlighter.cpp b/sqlhighlighter.cpp index 2e87f03..565c07d 100644 --- a/sqlhighlighter.cpp +++ b/sqlhighlighter.cpp @@ -27,6 +27,9 @@ SqlHighlighter::SqlHighlighter(QTextDocument *parent) R"-(|\foreign\b|\bfrom\b|\bgroup\b|\bhaving\b|\bin\b|\bindex\b|\bis\b|\bkey\b|\blimit\b|\bnatural\b|\bnot\b|\bnull\b|\boffset\b|\bon\b)-" R"-(|\bor\b|\border\b|\bover\b|\bparition\b|\bprimary\b|\breferences\b|\brestrict\b|\bselect\b|\btable\b|\btruncate\b|\bunique\b|\bupdate\b|\busing\b)-" R"-(|\bwhere\b|\bwith\b|(?:(?:inner|(?:left|right|full)(\s+outer)?)\s+)?join)-"; + + // into temp DISTINCT true false + static auto types = R"-(\bbigint\b|\bboolean\b|\bchar\b|\bcharacter varying\b|\bdate\b|\bint[248]\b|\binteger\b|\bnumeric\b|\bsmallint\b)-" R"-(|\btime\b|\btimestamp(?:tz)?\b|\btimestamp(?:\s+with\s+time\s+zone)?\b|\bvarchar\b)-";