提交 59e991ca 编写于 作者: S Serge Rider

SQL Server model refactoring


Former-commit-id: 8689f6b1
上级 5f7258ff
...@@ -144,13 +144,11 @@ public class SQLServerUtils { ...@@ -144,13 +144,11 @@ public class SQLServerUtils {
} }
} }
public static String extractSource(@NotNull DBRProgressMonitor monitor, @NotNull SQLServerDatabase database, @Nullable SQLServerSchema schema, @NotNull String objectName) throws DBException { public static String extractSource(@NotNull DBRProgressMonitor monitor, @NotNull SQLServerSchema schema, @NotNull String objectName) throws DBException {
SQLServerDataSource dataSource = database.getDataSource(); SQLServerDataSource dataSource = schema.getDataSource();
String systemSchema = getSystemSchemaFQN(dataSource, database.getName(), SQLServerConstants.SQL_SERVER_SYSTEM_SCHEMA); String systemSchema = getSystemSchemaFQN(dataSource, schema.getDatabase().getName(), SQLServerConstants.SQL_SERVER_SYSTEM_SCHEMA);
try (JDBCSession session = DBUtils.openMetaSession(monitor, dataSource, "Read source code")) { try (JDBCSession session = DBUtils.openMetaSession(monitor, dataSource, "Read source code")) {
String objectFQN = schema == null ? String objectFQN = DBUtils.getQuotedIdentifier(dataSource, schema.getName()) + "." + DBUtils.getQuotedIdentifier(dataSource, objectName);
DBUtils.getQuotedIdentifier(dataSource, objectName) :
DBUtils.getQuotedIdentifier(dataSource, schema.getName()) + "." + DBUtils.getQuotedIdentifier(dataSource, objectName);
try (JDBCPreparedStatement dbStat = session.prepareStatement(systemSchema + ".sp_helptext '" + objectFQN + "'")) { try (JDBCPreparedStatement dbStat = session.prepareStatement(systemSchema + ".sp_helptext '" + objectFQN + "'")) {
try (JDBCResultSet dbResult = dbStat.executeQuery()) { try (JDBCResultSet dbResult = dbStat.executeQuery()) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
......
...@@ -96,6 +96,7 @@ public class SQLServerDataType implements DBSDataType, SQLServerObject, DBPQuali ...@@ -96,6 +96,7 @@ public class SQLServerDataType implements DBSDataType, SQLServerObject, DBPQuali
this.valueType = valueType; this.valueType = valueType;
} }
@NotNull
@Override @Override
public SQLServerDataSource getDataSource() { public SQLServerDataSource getDataSource() {
return (SQLServerDataSource) owner.getDataSource(); return (SQLServerDataSource) owner.getDataSource();
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package org.jkiss.dbeaver.ext.mssql.model; package org.jkiss.dbeaver.ext.mssql.model;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.model.DBPNamedObject; import org.jkiss.dbeaver.model.DBPNamedObject;
import org.jkiss.dbeaver.model.DBPObjectWithLongId; import org.jkiss.dbeaver.model.DBPObjectWithLongId;
import org.jkiss.dbeaver.model.struct.DBSObject; import org.jkiss.dbeaver.model.struct.DBSObject;
...@@ -26,5 +27,6 @@ import org.jkiss.dbeaver.model.struct.DBSObject; ...@@ -26,5 +27,6 @@ import org.jkiss.dbeaver.model.struct.DBSObject;
*/ */
public interface SQLServerObject extends DBPNamedObject, DBSObject, DBPObjectWithLongId public interface SQLServerObject extends DBPNamedObject, DBSObject, DBPObjectWithLongId
{ {
@NotNull
SQLServerDataSource getDataSource();
} }
...@@ -137,7 +137,7 @@ public class SQLServerProcedure extends AbstractProcedure<SQLServerDataSource, S ...@@ -137,7 +137,7 @@ public class SQLServerProcedure extends AbstractProcedure<SQLServerDataSource, S
"AS " + GeneralUtils.getDefaultLineSeparator() + "AS " + GeneralUtils.getDefaultLineSeparator() +
"SELECT 1"; "SELECT 1";
} else { } else {
this.body = SQLServerUtils.extractSource(monitor, getContainer().getDatabase(), getContainer(), getName()); this.body = SQLServerUtils.extractSource(monitor, getContainer(), getName());
} }
} }
return body; return body;
......
...@@ -106,6 +106,7 @@ public class SQLServerSchema implements DBSSchema, DBPSaveableObject, DBPQualifi ...@@ -106,6 +106,7 @@ public class SQLServerSchema implements DBSSchema, DBPSaveableObject, DBPQualifi
return triggerCache; return triggerCache;
} }
@NotNull
@Override @Override
public SQLServerDataSource getDataSource() { public SQLServerDataSource getDataSource() {
return database.getDataSource(); return database.getDataSource();
......
...@@ -153,7 +153,7 @@ public class SQLServerView extends SQLServerTableBase implements DBSView ...@@ -153,7 +153,7 @@ public class SQLServerView extends SQLServerTableBase implements DBSView
} }
if (ddl == null) { if (ddl == null) {
if (isPersisted()) { if (isPersisted()) {
ddl = SQLServerUtils.extractSource(monitor, getDatabase(), getSchema(), getName()); ddl = SQLServerUtils.extractSource(monitor, getSchema(), getName());
} else { } else {
ddl = "CREATE VIEW " + this.getFullyQualifiedName(DBPEvaluationContext.DDL) + " AS\n"; ddl = "CREATE VIEW " + this.getFullyQualifiedName(DBPEvaluationContext.DDL) + " AS\n";
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册