提交 3b7c9905 编写于 作者: L liuyuanyuan

Add comment for sequence, comment and grant for view into DDL.

上级 077c58cb
......@@ -38,6 +38,7 @@ import org.jkiss.dbeaver.model.sql.SQLUtils;
import org.jkiss.dbeaver.model.struct.DBSEntityType;
import org.jkiss.dbeaver.model.struct.rdb.DBSSequence;
import org.jkiss.dbeaver.model.struct.rdb.DBSTableIndex;
import org.jkiss.utils.CommonUtils;
import java.util.ArrayList;
import java.util.Collection;
......@@ -214,6 +215,11 @@ public class PostgreSequence extends PostgreTableBase implements DBSSequence, DB
sql.append("\n\tSTART ").append(info.getLastValue());
}
if (!CommonUtils.isEmpty(getDescription())) {
sql.append("\nCOMMENT ON SEQUENCE ").append(DBUtils.getQuotedIdentifier(this)).append(" IS ")
.append(SQLUtils.quoteString(this, getDescription())).append(";");
}
List<DBEPersistAction> actions = new ArrayList<>();
PostgreUtils.getObjectGrantPermissionActions(monitor, this, actions, options);
if (!actions.isEmpty()) {
......
......@@ -20,16 +20,21 @@ import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.postgresql.PostgreUtils;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.edit.DBEPersistAction;
import org.jkiss.dbeaver.model.exec.jdbc.JDBCSession;
import org.jkiss.dbeaver.model.impl.DBObjectNameCaseTransformer;
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.rdb.DBSTableIndex;
import org.jkiss.utils.CommonUtils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
......@@ -84,6 +89,20 @@ public abstract class PostgreViewBase extends PostgreTableReal
try (JDBCSession session = DBUtils.openMetaSession(monitor, getDataSource(), "Read view definition")) {
String definition = JDBCUtils.queryString(session, "SELECT pg_get_viewdef(?, true)", getObjectId());
this.source = PostgreUtils.getViewDDL(this, definition);
// comment
if (!CommonUtils.isEmpty(getDescription())) {
this.source += "\nCOMMENT ON " + getViewType() + " " + DBUtils.getQuotedIdentifier(this)
+ " IS " + SQLUtils.quoteString(this, getDescription()) + ";";
}
// acl privilege
List<DBEPersistAction> actions = new ArrayList<>();
PostgreUtils.getObjectGrantPermissionActions(monitor, this, actions, options);
if (!actions.isEmpty()) {
this.source += "\n\n" + SQLUtils.generateScript(getDataSource(),
actions.toArray(new DBEPersistAction[actions.size()]), false);
}
String extDefinition = readExtraDefinition(session, options);
if (extDefinition != null) {
this.source += "\n" + extDefinition;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册