fix(TUP-20360): In the Mysql database, For the system databases like (#2117)
mysql, information_schema retrieve schema is not working.
This commit is contained in:
@@ -93,7 +93,8 @@ public class ExtractMetaDataFromDataBase {
|
||||
MANAGED_TABLE("MANAGED_TABLE"), //$NON-NLS-1$ // for hive
|
||||
INDEX_TABLE("INDEX_TABLE"), //$NON-NLS-1$ // for hive
|
||||
VIRTUAL_VIEW("VIRTUAL_VIEW"), //$NON-NLS-1$ // for hive
|
||||
SYSTEM_TABLE("SYSTEM TABLE"); //$NON-NLS-1$ //added for amazon redshift TDQ-11558 by msjian
|
||||
SYSTEM_TABLE("SYSTEM TABLE"), //$NON-NLS-1$ //added for amazon redshift TDQ-11558 by msjian
|
||||
SYSTEM_VIEW("SYSTEM VIEW"); //$NON-NLS-1$ // for mysql
|
||||
|
||||
private final String name;
|
||||
|
||||
|
||||
@@ -244,6 +244,9 @@ public class ExtractManager {
|
||||
if (conn != null) {
|
||||
catalog = conn.getCatalog();
|
||||
}
|
||||
// Mysql For the system databases like mysql,information_schema retrieve schema/...is not working.
|
||||
availableTableTypes.add(ETableTypes.SYSTEM_TABLE.getName());
|
||||
availableTableTypes.add(ETableTypes.SYSTEM_VIEW.getName());
|
||||
}
|
||||
rsTables = dbMetaData.getTables(catalog, schema, null, availableTableTypes.toArray(new String[] {}));
|
||||
if (rsTables != null) {
|
||||
@@ -319,10 +322,10 @@ public class ExtractManager {
|
||||
// if (tableType.startsWith("A")) {
|
||||
// System.out.println("AA");
|
||||
// }
|
||||
if (ExtractManager.TABLETYPE_TABLE.equals(tableType)) {
|
||||
if (ExtractManager.TABLETYPE_TABLE.equals(tableType) || ETableTypes.SYSTEM_TABLE.getName().equals(tableType)) {
|
||||
tableType = ETableTypes.TABLETYPE_TABLE.getName();
|
||||
}
|
||||
if (ExtractManager.TABLETYPE_VIEW.equals(tableType)) {
|
||||
if (ExtractManager.TABLETYPE_VIEW.equals(tableType) || ETableTypes.SYSTEM_VIEW.getName().equals(tableType)) {
|
||||
tableType = ETableTypes.TABLETYPE_VIEW.getName();
|
||||
}
|
||||
|
||||
|
||||
@@ -1030,9 +1030,11 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
if (ETableTypes.EXTERNAL_TABLE.getName().equals(temptableType)
|
||||
|| ETableTypes.MANAGED_TABLE.getName().equals(temptableType)
|
||||
|| ETableTypes.INDEX_TABLE.getName().equals(temptableType)
|
||||
|| ETableTypes.TABLETYPE_BASE_TABLE.getName().equals(temptableType)) {
|
||||
|| ETableTypes.TABLETYPE_BASE_TABLE.getName().equals(temptableType)
|
||||
|| ETableTypes.SYSTEM_TABLE.getName().equals(temptableType)) {
|
||||
metadatatable.setTableType(ETableTypes.TABLETYPE_TABLE.getName());
|
||||
} else if (ETableTypes.VIRTUAL_VIEW.getName().equals(temptableType)) {
|
||||
} else if (ETableTypes.VIRTUAL_VIEW.getName().equals(temptableType)
|
||||
|| ETableTypes.SYSTEM_VIEW.getName().equals(temptableType)) {
|
||||
metadatatable.setTableType(ETableTypes.TABLETYPE_VIEW.getName());
|
||||
} else if (ETableTypes.TABLETYPE_CALCULATION_VIEW.getName().equals(temptableType)) {
|
||||
String catalog = getStringFromResultSet(tables, GetTable.TABLE_CAT.name());
|
||||
|
||||
@@ -119,6 +119,9 @@ public class DatabaseTableFilterForm extends AbstractForm {
|
||||
getTableInfoParameters().changeType(ETableTypes.VIRTUAL_VIEW, viewCheck.getSelection());
|
||||
} else if (EDatabaseTypeName.SAPHana.getDisplayName().equals(metadataconnection.getDbType())) {
|
||||
getTableInfoParameters().changeType(ETableTypes.TABLETYPE_CALCULATION_VIEW, calculationViewCheck.getSelection());
|
||||
} else if (EDatabaseTypeName.MYSQL.getDisplayName().equals(metadataconnection.getDbType())) {
|
||||
getTableInfoParameters().changeType(ETableTypes.SYSTEM_TABLE, tableCheck.getSelection());
|
||||
getTableInfoParameters().changeType(ETableTypes.SYSTEM_VIEW, viewCheck.getSelection());
|
||||
}
|
||||
// hide for the bug 7959
|
||||
if (isOracle()) {
|
||||
@@ -426,6 +429,8 @@ public class DatabaseTableFilterForm extends AbstractForm {
|
||||
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataconnection.getDbType())) {
|
||||
getTableInfoParameters().changeType(ETableTypes.MANAGED_TABLE, tableCheck.getSelection());
|
||||
getTableInfoParameters().changeType(ETableTypes.INDEX_TABLE, tableCheck.getSelection());
|
||||
} else if (EDatabaseTypeName.MYSQL.getDisplayName().equals(metadataconnection.getDbType())) {
|
||||
getTableInfoParameters().changeType(ETableTypes.SYSTEM_TABLE, tableCheck.getSelection());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -437,6 +442,9 @@ public class DatabaseTableFilterForm extends AbstractForm {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
getTableInfoParameters().changeType(ETableTypes.TABLETYPE_VIEW, viewCheck.getSelection());
|
||||
getTableInfoParameters().changeType(ETableTypes.VIRTUAL_VIEW, viewCheck.getSelection());
|
||||
if (EDatabaseTypeName.MYSQL.getDisplayName().equals(metadataconnection.getDbType())) {
|
||||
getTableInfoParameters().changeType(ETableTypes.SYSTEM_VIEW, viewCheck.getSelection());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user