未验证 提交 fdabead5 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #8420 from kai-morich/hana-search

HANA: DB Metadata Search fixes
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</folder> </folder>
<folder type="org.jkiss.dbeaver.ext.generic.model.GenericView" label="%tree.tviews.node.name" icon="#folder_view"> <folder type="org.jkiss.dbeaver.ext.generic.model.GenericView" label="%tree.tviews.node.name" icon="#folder_view">
<items label="%tree.tview.node.name" path="view" property="views" icon="#view"> <items label="%tree.tview.node.name" path="view" property="views" icon="#view">
<folder type="org.jkiss.dbeaver.ext.generic.model.HANATableColumn" label="%tree.columns.node.name" icon="#columns"> <folder type="org.jkiss.dbeaver.ext.hana.model.HANATableColumn" label="%tree.columns.node.name" icon="#columns">
<items label="%tree.column.node.name" path="attribute" property="attributes" icon="#column"/> <items label="%tree.column.node.name" path="attribute" property="attributes" icon="#column"/>
</folder> </folder>
<folder type="org.jkiss.dbeaver.ext.generic.model.GenericTrigger" label="%tree.triggers.node.name" icon="#triggers"> <folder type="org.jkiss.dbeaver.ext.generic.model.GenericTrigger" label="%tree.triggers.node.name" icon="#triggers">
......
...@@ -81,7 +81,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution ...@@ -81,7 +81,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, TABLE_NAME, COMMENTS FROM SYS.TABLES WHERE"; String stmt = "SELECT SCHEMA_NAME, TABLE_NAME, COMMENTS FROM SYS.TABLES WHERE";
stmt += caseSensitive ? " TABLE_NAME LIKE ?" : " UPPER(TABLE_NAME) LIKE ?"; stmt += caseSensitive ? " TABLE_NAME LIKE ?" : " UPPER(TABLE_NAME) LIKE ?";
if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?"; if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?";
stmt += " ORDER BY TABLE_NAME LIMIT " + maxResults; stmt += " ORDER BY SCHEMA_NAME, TABLE_NAME LIMIT " + maxResults;
DBRProgressMonitor monitor = session.getProgressMonitor(); DBRProgressMonitor monitor = session.getProgressMonitor();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) { try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
...@@ -124,7 +124,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution ...@@ -124,7 +124,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, VIEW_NAME, COMMENTS FROM SYS.VIEWS WHERE"; String stmt = "SELECT SCHEMA_NAME, VIEW_NAME, COMMENTS FROM SYS.VIEWS WHERE";
stmt += caseSensitive ? " VIEW_NAME LIKE ?" : " UPPER(VIEW_NAME) LIKE ?"; stmt += caseSensitive ? " VIEW_NAME LIKE ?" : " UPPER(VIEW_NAME) LIKE ?";
if (parentSchema != null)stmt += " AND SCHEMA_NAME = ?"; if (parentSchema != null)stmt += " AND SCHEMA_NAME = ?";
stmt += " ORDER BY VIEW_NAME LIMIT " + maxResults; stmt += " ORDER BY SCHEMA_NAME, VIEW_NAME LIMIT " + maxResults;
DBRProgressMonitor monitor = session.getProgressMonitor(); DBRProgressMonitor monitor = session.getProgressMonitor();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) { try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
...@@ -167,7 +167,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution ...@@ -167,7 +167,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, PROCEDURE_NAME FROM SYS.PROCEDURES WHERE"; String stmt = "SELECT SCHEMA_NAME, PROCEDURE_NAME FROM SYS.PROCEDURES WHERE";
stmt += caseSensitive ? " PROCEDURE_NAME LIKE ?" : " UPPER(PROCEDURE_NAME) LIKE ?"; stmt += caseSensitive ? " PROCEDURE_NAME LIKE ?" : " UPPER(PROCEDURE_NAME) LIKE ?";
if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?"; if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?";
stmt += " ORDER BY PROCEDURE_NAME LIMIT " + maxResults; stmt += " ORDER BY SCHEMA_NAME, PROCEDURE_NAME LIMIT " + maxResults;
DBRProgressMonitor monitor = session.getProgressMonitor(); DBRProgressMonitor monitor = session.getProgressMonitor();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) { try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
...@@ -210,7 +210,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution ...@@ -210,7 +210,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, TABLE_NAME, COLUMN_NAME, COMMENTS FROM SYS.TABLE_COLUMNS WHERE"; String stmt = "SELECT SCHEMA_NAME, TABLE_NAME, COLUMN_NAME, COMMENTS FROM SYS.TABLE_COLUMNS WHERE";
stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?"; stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?";
if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?"; if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?";
stmt += " ORDER BY COLUMN_NAME LIMIT " + maxResults; stmt += " ORDER BY SCHEMA_NAME, TABLE_NAME, COLUMN_NAME LIMIT " + maxResults;
DBRProgressMonitor monitor = session.getProgressMonitor(); DBRProgressMonitor monitor = session.getProgressMonitor();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) { try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
...@@ -259,7 +259,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution ...@@ -259,7 +259,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, VIEW_NAME, COLUMN_NAME, COMMENTS FROM SYS.VIEW_COLUMNS WHERE"; String stmt = "SELECT SCHEMA_NAME, VIEW_NAME, COLUMN_NAME, COMMENTS FROM SYS.VIEW_COLUMNS WHERE";
stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?"; stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?";
if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?"; if (parentSchema != null) stmt += " AND SCHEMA_NAME = ?";
stmt += " ORDER BY COLUMN_NAME LIMIT " + maxResults; stmt += " ORDER BY SCHEMA_NAME, VIEW_NAME, COLUMN_NAME LIMIT " + maxResults;
DBRProgressMonitor monitor = session.getProgressMonitor(); DBRProgressMonitor monitor = session.getProgressMonitor();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) { try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......
...@@ -16,37 +16,19 @@ ...@@ -16,37 +16,19 @@
*/ */
package org.jkiss.dbeaver.ext.hana.model; package org.jkiss.dbeaver.ext.hana.model;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.generic.model.GenericTable;
import org.jkiss.dbeaver.ext.generic.model.GenericTableBase; import org.jkiss.dbeaver.ext.generic.model.GenericTableBase;
import org.jkiss.dbeaver.ext.generic.model.GenericTableColumn;
import org.jkiss.dbeaver.model.meta.Property; import org.jkiss.dbeaver.model.meta.Property;
public class HANASysViewColumn extends GenericTableColumn { public class HANASysViewColumn extends HANATableColumn {
public HANASysViewColumn( public HANASysViewColumn(GenericTable table) {
GenericTableBase table, super(table);
String columnName, }
String typeName,
int valueType, public HANASysViewColumn(GenericTableBase table, String columnName, String typeName, int valueType, int sourceType, int ordinalPosition, long columnSize, long charLength, Integer scale, Integer precision, int radix, boolean notNull, String remarks, String defaultValue, boolean autoIncrement, boolean autoGenerated) throws DBException {
int sourceType, super(table, columnName, typeName, valueType, sourceType, ordinalPosition, columnSize, charLength, scale, precision, radix, notNull, remarks, defaultValue, autoIncrement, autoGenerated);
int ordinalPos,
long columnSize,
long charLength,
Integer scale,
Integer precision,
int radix,
boolean notNull,
String remarks,
String defaultValue,
boolean autoIncrement,
boolean autoGenerated)
{
super(table,
columnName,
typeName, valueType, sourceType, ordinalPos,
columnSize,
charLength, scale, precision, radix, notNull,
remarks, defaultValue, autoIncrement, autoGenerated
);
} }
@Property(viewable = true, editable = true, order = 70) @Property(viewable = true, editable = true, order = 70)
......
...@@ -72,7 +72,7 @@ public class HANATableColumn extends GenericTableColumn implements DBPNamedObjec ...@@ -72,7 +72,7 @@ public class HANATableColumn extends GenericTableColumn implements DBPNamedObjec
GeometryInfo gi = new GeometryInfo(); GeometryInfo gi = new GeometryInfo();
try (JDBCSession session = DBUtils.openMetaSession(monitor, this, "Load table inheritance info")) { try (JDBCSession session = DBUtils.openMetaSession(monitor, this, "Load table inheritance info")) {
try (JDBCPreparedStatement dbStat = session try (JDBCPreparedStatement dbStat = session
.prepareStatement("SELECT SRS_ID, DATA_TYPE_NAME FROM PUBLIC.ST_GEOMETRY_COLUMNS " .prepareStatement("SELECT SRS_ID, DATA_TYPE_NAME FROM SYS.ST_GEOMETRY_COLUMNS "
+ "WHERE SCHEMA_NAME=? AND TABLE_NAME=? AND COLUMN_NAME=?")) { + "WHERE SCHEMA_NAME=? AND TABLE_NAME=? AND COLUMN_NAME=?")) {
dbStat.setString(1, getTable().getSchema().getName()); dbStat.setString(1, getTable().getSchema().getName());
dbStat.setString(2, getTable().getName()); dbStat.setString(2, getTable().getName());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册