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

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

HANA: DB Metadata Search fixes
......@@ -51,7 +51,7 @@
</folder>
<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">
<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"/>
</folder>
<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
String stmt = "SELECT SCHEMA_NAME, TABLE_NAME, COMMENTS FROM SYS.TABLES WHERE";
stmt += caseSensitive ? " TABLE_NAME LIKE ?" : " UPPER(TABLE_NAME) LIKE ?";
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();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......@@ -124,7 +124,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, VIEW_NAME, COMMENTS FROM SYS.VIEWS WHERE";
stmt += caseSensitive ? " VIEW_NAME LIKE ?" : " UPPER(VIEW_NAME) LIKE ?";
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();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......@@ -167,7 +167,7 @@ public class HANAStructureAssistant extends JDBCStructureAssistant<JDBCExecution
String stmt = "SELECT SCHEMA_NAME, PROCEDURE_NAME FROM SYS.PROCEDURES WHERE";
stmt += caseSensitive ? " PROCEDURE_NAME LIKE ?" : " UPPER(PROCEDURE_NAME) LIKE ?";
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();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......@@ -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";
stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?";
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();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......@@ -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";
stmt += caseSensitive ? " COLUMN_NAME LIKE ?" : " UPPER(COLUMN_NAME) LIKE ?";
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();
try (JDBCPreparedStatement dbStat = session.prepareStatement(stmt)) {
......
......@@ -16,37 +16,19 @@
*/
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.GenericTableColumn;
import org.jkiss.dbeaver.model.meta.Property;
public class HANASysViewColumn extends GenericTableColumn {
public class HANASysViewColumn extends HANATableColumn {
public HANASysViewColumn(
GenericTableBase table,
String columnName,
String typeName,
int valueType,
int sourceType,
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
);
public HANASysViewColumn(GenericTable table) {
super(table);
}
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 {
super(table, columnName, typeName, valueType, sourceType, ordinalPosition, columnSize, charLength, scale, precision, radix, notNull, remarks, defaultValue, autoIncrement, autoGenerated);
}
@Property(viewable = true, editable = true, order = 70)
......
......@@ -72,7 +72,7 @@ public class HANATableColumn extends GenericTableColumn implements DBPNamedObjec
GeometryInfo gi = new GeometryInfo();
try (JDBCSession session = DBUtils.openMetaSession(monitor, this, "Load table inheritance info")) {
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=?")) {
dbStat.setString(1, getTable().getSchema().getName());
dbStat.setString(2, getTable().getName());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册