Index: include/frm/frmRestore.h
===================================================================
--- include/frm/frmRestore.h (revision 8225)
+++ include/frm/frmRestore.h (working copy)
@@ -39,9 +39,6 @@
void OnChangeList(wxListEvent &ev);
void OnEndProcess(wxProcessEvent& event);
- wxString getCmdPart1();
- wxString getCmdPart2(int step);
-
frmMain *form;
pgObject *object;
pgServer *server;
Index: frm/frmRestore.cpp
===================================================================
--- frm/frmRestore.cpp (revision 8225)
+++ frm/frmRestore.cpp (working copy)
@@ -251,22 +251,6 @@
wxString frmRestore::GetCmd(int step)
{
- wxString cmd = getCmdPart1();
-
- return cmd + getCmdPart2(step);
-}
-
-
-wxString frmRestore::GetDisplayCmd(int step)
-{
- wxString cmd = getCmdPart1();
-
- return cmd + getCmdPart2(step);
-}
-
-
-wxString frmRestore::getCmdPart1()
-{
wxString cmd;
cmd = restoreExecutable;
@@ -277,14 +261,7 @@
cmd += wxT(" --port ") + NumToStr((long)server->GetPort())
+ wxT(" --username ") + qtIdent(server->GetUsername())
+ wxT(" --dbname ") + commandLineCleanOption(object->GetDatabase()->GetQuotedIdentifier());
- return cmd;
-}
-
-wxString frmRestore::getCmdPart2(int step)
-{
- wxString cmd;
-
if (step)
{
cmd.Append(wxT(" --list"));
@@ -334,7 +311,6 @@
wxTreeItemId root, firstLevelObject, secondLevelObject;
wxTreeItemIdValue firstLevelObjectData, secondLevelObjectData;
bool partialDump = false;
-
// Get root object
root = ctvObjects->GetRootItem();
@@ -400,19 +376,38 @@
switch (object->GetMetaType())
{
case PGM_FUNCTION:
- cmd.Append(wxT(" --function ") + object->GetFullName());
+ cmd.Append(wxT(" --function ") + commandLineCleanOption(qtIdent(object->GetFullName())));
break;
case PGM_INDEX:
- cmd.Append(wxT(" --index ") + object->GetQuotedIdentifier());
+ cmd.Append(wxT(" --index ") + commandLineCleanOption(object->GetQuotedIdentifier()));
break;
case PGM_SCHEMA:
- cmd.Append(wxT(" --schema ") + object->GetQuotedIdentifier());
+ cmd.Append(wxT(" --schema ") + commandLineCleanOption(object->GetQuotedIdentifier()));
break;
case PGM_TABLE:
- cmd.Append(wxT(" --table ") + object->GetQuotedIdentifier());
+ {
+ // The syntax changed in 8.2 :-(
+ if (pgAppMinimumVersion(restoreExecutable, 8, 2))
+ {
+ wxString strTable;
+#ifdef WIN32
+ strTable = wxT("\"") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier() +
+ wxT("\".\"") + ((pgTable*)object)->GetQuotedIdentifier() + wxT("\"");
+#else
+ strTable = wxT("'") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier() +
+ wxT(".") + ((pgTable*)object)->GetQuotedIdentifier() + wxT("'");
+#endif
+ cmd.Append(wxT(" --table ") + commandLineCleanOption(strTable));
+ }
+ else
+ {
+ cmd.Append(wxT(" --table ") + commandLineCleanOption(((pgTable*)object)->GetQuotedIdentifier()));
+ cmd.Append(wxT(" --schema ") + commandLineCleanOption(((pgTable*)object)->GetSchema()->GetQuotedIdentifier()));
+ }
break;
+ }
case PGM_TRIGGER:
- cmd.Append(wxT(" --trigger ") + object->GetQuotedIdentifier());
+ cmd.Append(wxT(" --trigger ") + commandLineCleanOption(object->GetQuotedIdentifier()));
break;
default:
break;
@@ -432,6 +427,12 @@
}
+wxString frmRestore::GetDisplayCmd(int step)
+{
+ return GetCmd(step);
+}
+
+
void frmRestore::OnView(wxCommandEvent &ev)
{
btnView->Disable();
Index: pgAdmin3.vcproj
===================================================================
--- pgAdmin3.vcproj (revision 8225)
+++ pgAdmin3.vcproj (working copy)
@@ -444,7 +444,7 @@
>