From 509bc740622db81647bf9a335875d1ef6da985b3 Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Mon, 4 Mar 2019 16:52:12 +0300 Subject: [PATCH] #3761 MySQL event object model fix Former-commit-id: e82d537a37635d01101b63f5f38d49c9f9648e35 --- .../dbeaver/ext/mysql/model/MySQLEvent.java | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLEvent.java b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLEvent.java index 7d87ae6d56..cb7831b5ad 100644 --- a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLEvent.java +++ b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLEvent.java @@ -20,11 +20,13 @@ import org.jkiss.code.NotNull; import org.jkiss.code.Nullable; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.DBConstants; +import org.jkiss.dbeaver.model.DBPSaveableObject; import org.jkiss.dbeaver.model.DBUtils; import org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils; import org.jkiss.dbeaver.model.meta.Property; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.sql.SQLUtils; +import org.jkiss.dbeaver.model.struct.DBSObject; import org.jkiss.utils.CommonUtils; import java.sql.ResultSet; @@ -37,11 +39,13 @@ import java.util.Map; /** * MySQLEvent */ -public class MySQLEvent extends MySQLInformation implements MySQLSourceObject { +public class MySQLEvent implements MySQLSourceObject, DBPSaveableObject { private static final String CAT_DETAILS = "Details"; private static final String CAT_STATS = "Statistics"; + private MySQLCatalog catalog; + private boolean persisted; private String name; private String definer; private String timeZone; @@ -68,10 +72,19 @@ public class MySQLEvent extends MySQLInformation implements MySQLSourceObject { public MySQLEvent(MySQLCatalog catalog, ResultSet dbResult) throws SQLException { - super(catalog.getDataSource()); + this.catalog = catalog; + this.persisted = true; + this.loadInfo(dbResult); } + public MySQLEvent(MySQLCatalog catalog, boolean persisted, String name) { + this.catalog = catalog; + this.name = name; + + this.persisted = false; + } + private void loadInfo(ResultSet dbResult) throws SQLException { @@ -115,6 +128,26 @@ public class MySQLEvent extends MySQLInformation implements MySQLSourceObject { return eventComment; } + @Override + public DBSObject getParentObject() { + return catalog; + } + + @Override + public MySQLDataSource getDataSource() { + return catalog.getDataSource(); + } + + @Override + public boolean isPersisted() { + return persisted; + } + + @Override + public void setPersisted(boolean persisted) { + this.persisted = persisted; + } + @Property(viewable = true, order = 10) public String getEventType() { return eventType; @@ -242,4 +275,5 @@ public class MySQLEvent extends MySQLInformation implements MySQLSourceObject { public void setObjectDefinitionText(String sourceText) throws DBException { eventDefinition = sourceText; } + } -- GitLab