wxString pgForeignKey::GetDefinition() { wxString sql; sql = wxT("(") + GetQuotedFkColumns() + wxT(")\n REFERENCES ") + GetQuotedSchemaPrefix(GetRefSchema()) + qtIdent(GetReferences()) + wxT(" (") + GetQuotedRefColumns() + wxT(")"); if (GetDatabase()->BackendMinimumVersion(7, 4) || GetMatch() == wxT("FULL")) sql += wxT(" MATCH ") + GetMatch(); sql += wxT("\n ON UPDATE ") + GetOnUpdate() + wxT(" ON DELETE ") + GetOnDelete(); if (GetDeferrable()) { sql += wxT(" DEFERRABLE INITIALLY "); if (GetDeferred()) sql += wxT("DEFERRED"); else sql += wxT("IMMEDIATE"); } if (GetDatabase()->BackendMinimumVersion(9, 1) && !GetValid()) sql += wxT("\n NOT VALID"); return sql; }
wxString pgForeignKey::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Foreign Key: ") + GetQuotedFullIdentifier() + wxT("\n\n") + wxT("-- ALTER TABLE ") + GetQuotedSchemaPrefix(fkSchema) + qtIdent(fkTable) + wxT(" DROP CONSTRAINT ") + GetQuotedIdentifier() + wxT(";") + wxT("\n\nALTER TABLE ") + GetQuotedSchemaPrefix(fkSchema) + qtIdent(fkTable) + wxT("\n ADD CONSTRAINT ") + GetConstraint() + wxT(";\n"); if (!GetComment().IsEmpty()) sql += wxT("COMMENT ON CONSTRAINT ") + GetQuotedIdentifier() + wxT(" ON ") + GetQuotedSchemaPrefix(fkSchema) + qtIdent(fkTable) + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } return sql; }
void pgForeignKey::Validate(frmMain *form) { wxString sql = wxT("ALTER TABLE ") + GetQuotedSchemaPrefix(fkSchema) + qtIdent(fkTable) + wxT("\n VALIDATE CONSTRAINT ") + GetQuotedIdentifier(); GetDatabase()->ExecuteVoid(sql); iSetValid(true); UpdateIcon(form->GetBrowser()); }
void pgCheck::Validate(frmMain *form) { wxString sql = wxT("ALTER ") + objectKind + wxT(" ") + GetQuotedSchemaPrefix(objectSchema) + qtIdent(objectName) + wxT("\n VALIDATE CONSTRAINT ") + GetQuotedIdentifier(); GetDatabase()->ExecuteVoid(sql); iSetValid(true); UpdateIcon(form->GetBrowser()); }
wxString pgCast::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Cast: ") + GetQuotedFullIdentifier() + wxT("\n\n") wxT("-- DROP CAST (") + GetQuotedSchemaPrefix(GetSourceNamespace()) + GetSourceType() + wxT(" AS ") + GetQuotedSchemaPrefix(GetTargetNamespace()) + GetTargetType() + wxT(")") wxT("\n\nCREATE CAST (") + GetQuotedSchemaPrefix(GetSourceNamespace()) + GetSourceType() + wxT(" AS ") + GetQuotedSchemaPrefix(GetTargetNamespace()) + GetTargetType(); if (GetCastFunction().IsNull()) sql += wxT(")\n WITHOUT FUNCTION"); else sql += wxT(")\n WITH FUNCTION ") + GetQuotedSchemaPrefix(GetCastNamespace()) + qtIdent(GetCastFunction()) + wxT("(") + GetSourceType() + wxT(")"); if (GetCastContext() != wxT("EXPLICIT")) sql += wxT("\n AS ") + GetCastContext(); sql += wxT(";\n"); } return sql; }
wxString pgCheck::GetSql(ctlTree *browser) { if (sql.IsNull()) { sql = wxT("-- Check: ") + GetQuotedFullIdentifier() + wxT("\n\n") + wxT("-- ALTER ") + objectKind + wxT(" ") + GetQuotedSchemaPrefix(objectSchema) + qtIdent(objectName) + wxT(" DROP CONSTRAINT ") + GetQuotedIdentifier() + wxT(";\n\nALTER ") + objectKind + wxT(" ") + GetQuotedSchemaPrefix(objectSchema) + qtIdent(objectName) + wxT("\n ADD CONSTRAINT ") + GetConstraint() + wxT(";\n"); if (!GetComment().IsNull()) { sql += wxT("COMMENT ON CONSTRAINT ") + GetQuotedIdentifier() + wxT(" ON ") + GetQuotedSchemaPrefix(objectSchema) + qtIdent(objectName) + wxT(" IS ") + qtDbString(GetComment()) + wxT(";\n"); } } return sql; }