wxString pgOperator::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Operator: ") + GetFullIdentifier() + wxT("(") + GetOperands() + wxT(")\n\n") + wxT("-- DROP OPERATOR ") + GetFullIdentifier() + wxT("(") + GetOperands() + wxT(");\n\n") wxT("CREATE OPERATOR ") + GetFullIdentifier() + wxT("(\n PROCEDURE = ") + qtIdent(GetOperatorFunction()); AppendIfFilled(sql, wxT(",\n LEFTARG = "), qtTypeIdent(GetLeftType())); AppendIfFilled(sql, wxT(",\n RIGHTARG = "), qtTypeIdent(GetRightType())); AppendIfFilled(sql, wxT(",\n COMMUTATOR = "), GetCommutator()); AppendIfFilled(sql, wxT(",\n RESTRICT = "), qtIdent(GetRestrictFunction())); AppendIfFilled(sql, wxT(",\n JOIN = "), qtIdent(GetJoinFunction())); if (GetHashJoins()) sql += wxT(",\n HASHES"); if (GetMergeJoins()) sql += wxT(",\n MERGES"); if (!GetDatabase()->BackendMinimumVersion(8, 3)) { AppendIfFilled(sql, wxT(",\n SORT1 = "), GetLeftSortOperator()); AppendIfFilled(sql, wxT(",\n SORT2 = "), GetRightSortOperator()); AppendIfFilled(sql, wxT(",\n LTCMP = "), GetLessOperator()); AppendIfFilled(sql, wxT(",\n GTCMP = "), GetGreaterOperator()); } sql += wxT(");\n"); if (!GetComment().IsNull()) sql += wxT("COMMENT ON OPERATOR ") + GetFullIdentifier() + wxT("(") + GetOperands() + wxT(") IS ") + qtDbString(GetComment()) + wxT(";\n"); } return sql; }
wxString pgExtension::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case RETRIEVINGDETAILS: message = _("Retrieving details on extension"); message += wxT(" ") + GetName(); break; case REFRESHINGDETAILS: message = _("Refreshing extension"); message += wxT(" ") + GetName(); break; case DROPINCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop extension \"%s\" including all objects that depend on it?"), GetFullIdentifier().c_str()); break; case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop extension \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPCASCADETITLE: message = _("Drop extension cascaded?"); break; case DROPTITLE: message = _("Drop extension?"); break; case PROPERTIESREPORT: message = _("Extension properties report"); message += wxT(" - ") + GetName(); break; case PROPERTIES: message = _("Extension properties"); break; case DDLREPORT: message = _("Extension DDL report"); message += wxT(" - ") + GetName(); break; case DDL: message = _("Extension DDL"); break; case DEPENDENCIESREPORT: message = _("Extension dependencies report"); message += wxT(" - ") + GetName(); break; case DEPENDENCIES: message = _("Extension dependencies"); break; case DEPENDENTSREPORT: message = _("Extension dependents report"); message += wxT(" - ") + GetName(); break; case DEPENDENTS: message = _("Extension dependents"); break; } return message; }
wxString pgUser::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case RETRIEVINGDETAILS: message = _("Retrieving details on user"); message += wxT(" ") + GetName(); break; case REFRESHINGDETAILS: message = _("Refreshing user"); message += wxT(" ") + GetName(); break; case GRANTWIZARDTITLE: message = _("Privileges for user"); message += wxT(" ") + GetName(); break; case DROPINCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop user \"%s\" including all objects that depend on it?"), GetFullIdentifier().c_str()); break; case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop user \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPCASCADETITLE: message = _("Drop user cascaded?"); break; case DROPTITLE: message = _("Drop user?"); break; case PROPERTIES: message = _("User properties"); break; case DDL: message = _("User DDL"); break; case DEPENDENCIES: message = _("User dependencies"); break; case DEPENDENTS: message = _("User dependents"); break; } return message; }
wxString pgaJob::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case RETRIEVINGDETAILS: message = _("Retrieving details on pgAgent job"); break; case REFRESHINGDETAILS: message = _("Refreshing pgAgent job"); break; case PROPERTIES: message = _("pgAgent job properties"); break; case DEPENDENCIES: message = _("pgAgent job dependencies"); break; case DEPENDENTS: message = _("pgAgent job dependents"); break; case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop job \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPTITLE: message = _("Drop job?"); break; } if (!message.IsEmpty() && !(kindOfMessage == DROPEXCLUDINGDEPS || kindOfMessage == DROPTITLE)) message += wxT(" ") + GetName(); return message; }
wxString pgForeignTable::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case RETRIEVINGDETAILS: message = _("Retrieving details on foreign table"); message += wxT(" ") + GetName(); break; case REFRESHINGDETAILS: message = _("Refreshing foreign table"); message += wxT(" ") + GetName(); break; case DROPINCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop foreign table \"%s\" including all objects that depend on it?"), GetFullIdentifier().c_str()); break; case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop foreign table \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPCASCADETITLE: message = _("Drop foreign table cascaded?"); break; case DROPTITLE: message = _("Drop foreign table?"); break; case PROPERTIES: message = _("Foreign table properties"); break; case DDL: message = _("Foreign table DDL"); break; case DEPENDENCIES: message = _("Foreign table dependencies"); break; case DEPENDENTS: message = _("Foreign table dependents"); break; } return message; }
wxString pgTextSearchDictionary::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Text Search Dictionary: ") + GetFullIdentifier() + wxT("\n\n") + wxT("-- DROP TEXT SEARCH DICTIONARY ") + GetFullIdentifier() + wxT("\n\n") + wxT("CREATE TEXT SEARCH DICTIONARY ") + GetFullIdentifier() + wxT(" (") + wxT("\n TEMPLATE = ") + qtTypeIdent(GetTemplate()); if (options.Length() > 0) sql += wxT(",\n ") + options; sql += wxT("\n);\n"); if (!GetComment().IsNull()) sql += wxT("COMMENT ON TEXT SEARCH DICTIONARY ") + GetFullIdentifier() + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } return sql; }
wxString pgTextSearchParser::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Text Search Parser: ") + GetFullIdentifier() + wxT("\n\n") + wxT("-- DROP TEXT SEARCH PARSER ") + GetFullIdentifier() + wxT("\n\n") + wxT("CREATE TEXT SEARCH PARSER ") + GetFullIdentifier() + wxT(" (") + wxT("\n START = ") + qtTypeIdent(GetStart()) + wxT(",\n GETTOKEN = ") + qtTypeIdent(GetGettoken()) + wxT(",\n END = ") + qtTypeIdent(GetEnd()) + wxT(",\n LEXTYPES = ") + qtTypeIdent(GetLextypes()); AppendIfFilled(sql, wxT(",\n HEADLINE = "), GetHeadline()); sql += wxT("\n);\n"); if (!GetComment().IsNull()) sql += wxT("COMMENT ON TEXT SEARCH PARSER ") + GetFullIdentifier() + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } return sql; }
wxString pgTextSearchConfiguration::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Text Search Configuration: ") + GetFullIdentifier() + wxT("\n\n") + wxT("-- DROP TEXT SEARCH CONFIGURATION ") + GetFullIdentifier() + wxT("\n\n") + wxT("CREATE TEXT SEARCH CONFIGURATION ") + GetFullIdentifier() + wxT(" (") + wxT("\n PARSER = ") + qtTypeIdent(GetParser()) + wxT("\n);\n"); for (size_t i = 0 ; i < tokens.GetCount() ; i++) sql += wxT("ALTER TEXT SEARCH CONFIGURATION ") + GetQuotedFullIdentifier() + wxT(" ADD MAPPING FOR ") + tokens.Item(i).BeforeFirst('/') + wxT(" WITH ") + tokens.Item(i).AfterFirst('/') + wxT(";\n"); if (!GetComment().IsNull()) sql += wxT("COMMENT ON TEXT SEARCH CONFIGURATION ") + GetFullIdentifier() + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } return sql; }
wxString edbPrivateSynonym::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop synonym \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPTITLE: message = _("Drop synonym?"); break; } return message; }
void pgDatabase::ShowHint(frmMain *form, bool force) { wxArrayString hints; int rc = -1; if (encoding == wxT("SQL_ASCII")) hints.Add(HINT_ENCODING_ASCII); else if (encoding == wxT("UNICODE")) { wxString ver = GetServer()->GetVersionString(); if (ver.Find(wxT("mingw32")) > 0 && ver.Find(wxT("SQL 8.0.")) > 0) hints.Add(HINT_ENCODING_UNICODE); } if (GetServer()->GetConnection() == GetConnection() && GetConnection()->BackendMinimumVersion(8, 0) && !GetConnection()->HasFeature(FEATURE_FILEREAD)) { // if the server release is 9.1 or more and the server has no adminpack if (GetConnection()->BackendMinimumVersion(9, 1)) { // Search the adminpack extension pgSet *set = GetConnection()->ExecuteSet(wxT("SELECT 1 FROM pg_available_extensions WHERE name='adminpack'")); if (set->NumRows() == 1) hints.Add(HINT_INSTRUMENTATION_91_WITH); else hints.Add(HINT_INSTRUMENTATION_91_WITHOUT); delete set; } else hints.Add(HINT_INSTRUMENTATION); } if (force || !hintShown) { rc = frmHint::ShowHint(form, hints, GetFullIdentifier(), force); if (rc == HINT_RC_FIX) GetConnection()->ExecuteVoid(wxT("CREATE EXTENSION adminpack"), true); } hintShown = true; }
wxString pgForeignServer::GetTranslatedMessage(int kindOfMessage) const { wxString message = wxEmptyString; switch (kindOfMessage) { case RETRIEVINGDETAILS: message = _("Retrieving details on foreign server"); message += wxT(" ") + GetName(); break; case REFRESHINGDETAILS: message = _("Refreshing foreign server"); message += wxT(" ") + GetName(); break; case DROPINCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop foreign server \"%s\" including all objects that depend on it?"), GetFullIdentifier().c_str()); break; case DROPEXCLUDINGDEPS: message = wxString::Format(_("Are you sure you wish to drop foreign server \"%s\"?"), GetFullIdentifier().c_str()); break; case DROPCASCADETITLE: message = _("Drop foreign server cascaded?"); break; case DROPTITLE: message = _("Drop foreign server?"); break; case PROPERTIESREPORT: message = _("Foreign server properties report"); message += wxT(" - ") + GetName(); break; case PROPERTIES: message = _("Foreign server properties"); break; case DDLREPORT: message = _("Foreign server DDL report"); message += wxT(" - ") + GetName(); break; case DDL: message = _("Foreign server DDL"); break; case STATISTICSREPORT: message = _("Foreign server statistics report"); message += wxT(" - ") + GetName(); break; case OBJSTATISTICS: message = _("Foreign server statistics"); break; case DEPENDENCIESREPORT: message = _("Foreign server dependencies report"); message += wxT(" - ") + GetName(); break; case DEPENDENCIES: message = _("Foreign server dependencies"); break; case DEPENDENTSREPORT: message = _("Foreign server dependents report"); message += wxT(" - ") + GetName(); break; case DEPENDENTS: message = _("Foreign server dependents"); break; } return message; }
void pgView::ShowHint(frmMain *form, bool force) { wxArrayString hints; hints.Add(HINT_OBJECT_EDITING); frmHint::ShowHint((wxWindow *)form, hints, GetFullIdentifier(), force); }
void pgaJob::ShowStatistics(frmMain *form, ctlListView *statistics) { wxString sql = wxT("SELECT jlgid") wxT(", jlgstatus") wxT(", jlgstart") wxT(", jlgduration") wxT(", (jlgstart + jlgduration) AS endtime") wxT(" FROM pgagent.pga_joblog\n") wxT(" WHERE jlgjobid = ") + NumToStr(GetRecId()) + wxT(" ORDER BY jlgstart DESC") + wxT(" LIMIT ") + NumToStr(settings->GetMaxRows()); if (statistics) { wxLogInfo(wxT("Displaying statistics for job %s"), GetFullIdentifier().c_str()); // Add the statistics view columns statistics->ClearAll(); statistics->AddColumn(_("Run"), 50); statistics->AddColumn(_("Status"), 60); statistics->AddColumn(_("Start time"), 95); statistics->AddColumn(_("End time"), 95); statistics->AddColumn(_("Duration"), 70); pgSet *stats = GetConnection()->ExecuteSet(sql); wxString status; wxDateTime startTime; wxDateTime endTime; if (stats) { while (!stats->Eof()) { if (stats->GetVal(1) == wxT("r")) status = _("Running"); else if (stats->GetVal(1) == wxT("s")) status = _("Successful"); else if (stats->GetVal(1) == wxT("f")) status = _("Failed"); else if (stats->GetVal(1) == wxT("d")) status = _("Aborted"); else if (stats->GetVal(1) == wxT("i")) status = _("No steps"); else status = _("Unknown"); startTime.ParseDateTime(stats->GetVal(2)); endTime.ParseDateTime(stats->GetVal(4)); long pos = statistics->AppendItem(stats->GetVal(0), status, startTime.Format()); if (stats->GetVal(4).Length() > 0) statistics->SetItem(pos, 3, endTime.Format()); statistics->SetItem(pos, 4, stats->GetVal(3)); stats->MoveNext(); } delete stats; } } }