Log Message: ----------- Fix aggregate SQL generation per James Prichard Tags: ---- REL-1_2_0_PATCHES
Modified Files: -------------- pgadmin3: CHANGELOG.txt (r1.171.2.3 -> r1.171.2.4) pgadmin3/src/include: dlgProperty.h (r1.41.2.1 -> r1.41.2.2) pgadmin3/src/schema: pgAggregate.cpp (r1.25.2.1 -> r1.25.2.2) pgadmin3/src/ui: dlgAggregate.cpp (r1.21.2.1 -> r1.21.2.2) dlgProperty.cpp (r1.106.2.1 -> r1.106.2.2)
Index: CHANGELOG.txt =================================================================== RCS file: /projects/pgadmin3/CHANGELOG.txt,v retrieving revision 1.171.2.3 retrieving revision 1.171.2.4 diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.171.2.3 -r1.171.2.4 --- CHANGELOG.txt +++ CHANGELOG.txt @@ -17,6 +17,7 @@ </ul> <br> <ul> + <li>2005-03-04 DP 1.2.1 Fix aggregate SQL generation per James Prichard <li>2005-02-07 AHP 1.2.1 fix libpq/ssl library detection <li>2005-01-13 DP 1.2.1 fix EXPLICIT CAST sql generation (r: Merlin Moncure) <li>2004-12-06 AP 1.2.1 Fix tablespace reference in namespace Index: dlgProperty.h =================================================================== RCS file: /projects/pgadmin3/src/include/dlgProperty.h,v retrieving revision 1.41.2.1 retrieving revision 1.41.2.2 diff -Lsrc/include/dlgProperty.h -Lsrc/include/dlgProperty.h -u -w -r1.41.2.1 -r1.41.2.2 --- src/include/dlgProperty.h +++ src/include/dlgProperty.h @@ -56,7 +56,7 @@ void CheckValid(bool &enable, const bool condition, const wxString &msg); static dlgProperty *CreateDlg(frmMain *frame, pgObject *node, bool asNew, int type=-1); - void AppendNameChange(wxString &sql); + void AppendNameChange(wxString &sql, const wxString &objname=wxEmptyString); void AppendOwnerChange(wxString &sql, const wxString &objName=wxEmptyString); void AppendOwnerNew(wxString &sql, const wxString &objname); void AppendComment(wxString &sql, const wxString &objType, pgSchema *schema, pgObject *obj); Index: pgAggregate.cpp =================================================================== RCS file: /projects/pgadmin3/src/schema/pgAggregate.cpp,v retrieving revision 1.25.2.1 retrieving revision 1.25.2.2 diff -Lsrc/schema/pgAggregate.cpp -Lsrc/schema/pgAggregate.cpp -u -w -r1.25.2.1 -r1.25.2.2 --- src/schema/pgAggregate.cpp +++ src/schema/pgAggregate.cpp @@ -31,7 +31,7 @@ bool pgAggregate::DropObject(wxFrame *frame, wxTreeCtrl *browser) { - return GetDatabase()->ExecuteVoid(wxT("DROP AGGREGATE ") + GetQuotedFullIdentifier() + wxT("(") + GetInputType() + wxT(")")); + return GetDatabase()->ExecuteVoid(wxT("DROP AGGREGATE ") + GetQuotedFullIdentifier() + wxT("(") + GetInputType() + wxT(");")); } wxString pgAggregate::GetSql(wxTreeCtrl *browser) @@ -39,16 +39,18 @@ if (sql.IsNull()) { sql = wxT("-- Aggregate: ") + GetQuotedFullIdentifier() + wxT("\n\n") - + wxT("-- DROP AGGREGATE ") + GetQuotedFullIdentifier() + wxT("(") + GetInputType() + wxT(")") + + wxT("-- DROP AGGREGATE ") + GetQuotedFullIdentifier() + wxT("(") + GetInputType() + wxT(");") + wxT("\n\nCREATE AGGREGATE ") + GetQuotedFullIdentifier() + wxT("(\n BASETYPE=") + GetInputType() + wxT(",\n SFUNC=") + GetStateFunction() + wxT(",\n STYPE=") + GetStateType(); - AppendIfFilled(sql, wxT(",\n FFUNC="), qtIdent(GetFinalFunction())); + AppendIfFilled(sql, wxT(",\n FINALFUNC="), qtIdent(GetFinalFunction())); if (GetInitialCondition().length() > 0) sql += wxT(",\n INITCOND=") + qtString(GetInitialCondition()); sql += wxT("\n);\n") - + GetOwnerSql(8, 0); + + GetOwnerSql(8, 0, wxT("AGGREGATE ") + GetQuotedFullIdentifier() + + wxT("(") + qtIdent(GetInputType()) + + wxT(")")); if (!GetComment().IsNull()) { Index: dlgProperty.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/dlgProperty.cpp,v retrieving revision 1.106.2.1 retrieving revision 1.106.2.2 diff -Lsrc/ui/dlgProperty.cpp -Lsrc/ui/dlgProperty.cpp -u -w -r1.106.2.1 -r1.106.2.2 --- src/ui/dlgProperty.cpp +++ src/ui/dlgProperty.cpp @@ -251,14 +251,23 @@ } -void dlgProperty::AppendNameChange(wxString &sql) +void dlgProperty::AppendNameChange(wxString &sql, const wxString &objName) { if (GetObject()->GetName() != GetName()) + { + if (objName.Length() > 0) + { + sql += wxT("ALTER ") + objName + + wxT(" RENAME TO ") + qtIdent(GetName()) + + wxT(";\n"); + } else { sql += wxT("ALTER ") + GetObject()->GetTypeName() + wxT(" ") + GetObject()->GetQuotedFullIdentifier() + wxT(" RENAME TO ") + qtIdent(GetName()) + wxT(";\n"); } + } +} void dlgProperty::AppendOwnerChange(wxString &sql, const wxString &objName) Index: dlgAggregate.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/dlgAggregate.cpp,v retrieving revision 1.21.2.1 retrieving revision 1.21.2.2 diff -Lsrc/ui/dlgAggregate.cpp -Lsrc/ui/dlgAggregate.cpp -u -w -r1.21.2.1 -r1.21.2.2 --- src/ui/dlgAggregate.cpp +++ src/ui/dlgAggregate.cpp @@ -210,8 +210,10 @@ if (aggregate) { // edit mode - AppendNameChange(sql); - AppendOwnerChange(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(name)); + AppendNameChange(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(aggregate->GetName()) + + wxT("(") + GetQuotedTypename(cbBaseType->GetGuessedSelection()) + wxT(")")); + AppendOwnerChange(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(GetName()) + + wxT("(") + GetQuotedTypename(cbBaseType->GetGuessedSelection()) + wxT(")")); } else { @@ -233,7 +235,8 @@ sql += wxT(");\n"); - AppendOwnerNew(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(name)); + AppendOwnerNew(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(name)+ + wxT("(") + GetQuotedTypename(cbBaseType->GetGuessedSelection()) + wxT(")")); } AppendComment(sql, wxT("AGGREGATE ") + schema->GetQuotedPrefix() + qtIdent(name) + wxT("(") + GetQuotedTypename(cbBaseType->GetGuessedSelection())
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly