\r
Date Dev Ver Change details\r
---------- --- ----- --------------\r
+2008-11-14 GL 1.9.0 Add ALTER DATABASE SET TABLESPACE support (8.4)\r
+ and re-adds ALTER DATABASE RENAME TO support.\r
2008-11-07 DP 1.9.0 Fix the index UI to handle columns with commas in the\r
name [Quan Zongliang]\r
2008-11-04 DP 1.9.0 Remove the un-maintained Tip of the Day feature [Ashesh \r
{
// edit mode
- // Even with 7.4+, we don't currently have a way to change the database name
- // as it must be done from a different database.
- // if (!connection->BackendMinimumVersion(7, 4))
+ if (!connection->BackendMinimumVersion(7, 4))
txtName->Disable();
if (!connection->BackendMinimumVersion(8, 0))
}
PrepareTablespace(cbTablespace, database->GetTablespaceOid());
- cbTablespace->Disable();
+ if (connection->BackendMinimumVersion(8, 4))
+ cbTablespace->Enable();
+ else
+ cbTablespace->Disable();
txtPath->SetValue(database->GetPath());
txtPath->Disable();
|| txtComment->GetValue() != database->GetComment()
|| txtName->GetValue() != database->GetName()
|| cbOwner->GetValue() != database->GetOwner()
+ || cbTablespace->GetValue() != database->GetTablespace()
|| dirtyVars;
}
AppendComment(sql, wxT("DATABASE"), 0, database);
+ if (connection->BackendMinimumVersion(8, 4))
+ {
+ if (cbTablespace->GetCurrentSelection() > 0 && cbTablespace->GetOIDKey() > 0
+ && cbTablespace->GetOIDKey() != database->GetTablespaceOid())
+ sql += wxT("ALTER DATABASE ") + qtIdent(name)
+ + wxT(" SET TABLESPACE ") + qtIdent(cbTablespace->GetValue())
+ + wxT(";\n");
+ }
+
if (!connection->BackendMinimumVersion(8, 2))
sql += GetGrant(wxT("CT"), wxT("DATABASE ") + qtIdent(name));
else
return sql;
}
-
+bool dlgDatabase::GetDisconnectFirst()
+{
+ if (database)
+ return true;
+ return false;
+}
bool dlgProperty::apply(const wxString &sql, const wxString &sql2)
{
+ pgConn *myConn = connection;
+
+ if (GetDisconnectFirst())
+ {
+ myConn = database->GetServer()->GetConnection();
+ database->Disconnect();
+ }
+
if (!sql.IsEmpty())
{
wxString tmp;
else
tmp = sql;
- if (!connection->ExecuteVoid(tmp))
+ if (!myConn->ExecuteVoid(tmp))
{
// error message is displayed inside ExecuteVoid
return false;
else
tmp = sql2;
- if (!connection->ExecuteVoid(tmp))
+ if (!myConn->ExecuteVoid(tmp))
{
// error message is displayed inside ExecuteVoid
// Warn the user about partially applied changes, but don't bail out.
EndModal(0);
return;
}
-
+
wxString sql;
wxString sql2;
if (chkReadOnly->GetValue())
virtual wxString GetSql() =0;
virtual wxString GetSql2() { return wxEmptyString; };
+ virtual bool GetDisconnectFirst() { return false; };
virtual pgObject *CreateObject(pgCollection *collection) =0;
virtual pgObject *GetObject() =0;
virtual void SetObject(pgObject *obj) {} // only necessary if apply is implemented