feat(doris): show external catalogs in sidebar

This commit is contained in:
hhzorg authored and GitHub committed 2026-07-09 00:45:29 +08:00
1 parent 47d9257ac2
commit d9bb92d1e9
36 files changed
+1680 -174

No files matched your search

+11 -6
View File
@@ -209,6 +209,7 @@ const props = defineProps<{
sortDirection?: DataGridSortDirection;
sortMode?: DataGridSortMode;
tableMeta?: {
catalog?: string;
schema?: string;
tableName: string;
tableType?: string;
@@ -1323,6 +1324,7 @@ async function loadServerFilterValues(columnIndex: number, searchValue: string)
const columnInfo = tableMeta.columns.find((column) => column.name === columnName);
const sql = await buildDataGridColumnDistinctValuesSql({
databaseType: resolvedDatabaseType.value,
catalog: tableMeta.catalog,
schema: tableMeta.schema,
tableName: tableMeta.tableName,
columnName,
@@ -3683,6 +3685,7 @@ async function buildCurrentCountTarget(): Promise<{ sql: string; schema?: string
if (props.tableMeta) {
const sql = await buildDataGridCountSql({
databaseType: props.databaseType,
catalog: props.tableMeta.catalog,
schema: props.tableMeta.schema,
tableName: props.tableMeta.tableName,
whereInput: currentWhereInput(),
@@ -5228,6 +5231,7 @@ async function applyOrderBySearch() {
if (!tableMeta) return;
const sql = await buildTableSelectSql({
databaseType: resolvedDatabaseType.value,
catalog: tableMeta.catalog,
schema: tableMeta.schema,
tableName: tableMeta.tableName,
tableType: tableMeta.tableType,
@@ -5259,6 +5263,7 @@ async function applyWhereFilter() {
if (!tableMeta) return;
const sql = await buildTableSelectSql({
databaseType: resolvedDatabaseType.value,
catalog: tableMeta.catalog,
schema: tableMeta.schema,
tableName: tableMeta.tableName,
tableType: tableMeta.tableType,
@@ -7684,7 +7689,7 @@ async function selectTableInfoTab(tab: TableInfoTab) {
}
watch(
() => [props.tableInfoTab, props.connectionId, props.database, props.tableMeta?.schema, props.tableMeta?.tableName] as const,
() => [props.tableInfoTab, props.connectionId, props.database, props.tableMeta?.catalog, props.tableMeta?.schema, props.tableMeta?.tableName] as const,
([tab]) => {
if (tab) void selectTableInfoTab(tab);
},
@@ -7696,7 +7701,7 @@ async function fetchDdl() {
showTableInfo.value = true;
ddlLoading.value = true;
try {
ddlContent.value = await api.getTableDdl(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName);
ddlContent.value = await api.getTableDdl(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName, undefined, props.tableMeta.catalog);
} catch (e: any) {
ddlContent.value = `-- Error: ${e}`;
} finally {
@@ -7709,7 +7714,7 @@ async function fetchIndexes() {
indexesLoading.value = true;
indexesError.value = "";
try {
indexes.value = await api.listIndexes(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName);
indexes.value = await api.listIndexes(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName, props.tableMeta.catalog);
indexesLoaded.value = true;
} catch (e: any) {
indexesError.value = String(e?.message || e);
@@ -7728,7 +7733,7 @@ async function fetchForeignKeys() {
foreignKeysLoading.value = true;
foreignKeysError.value = "";
try {
foreignKeys.value = await api.listForeignKeys(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName);
foreignKeys.value = await api.listForeignKeys(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName, props.tableMeta.catalog);
foreignKeysLoaded.value = true;
} catch (e: any) {
foreignKeysError.value = String(e?.message || e);
@@ -7742,7 +7747,7 @@ async function fetchTriggers() {
triggersLoading.value = true;
triggersError.value = "";
try {
triggers.value = await api.listTriggers(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName);
triggers.value = await api.listTriggers(props.connectionId, props.database || "", props.tableMeta.schema || props.database || "", props.tableMeta.tableName, props.tableMeta.catalog);
triggersLoaded.value = true;
} catch (e: any) {
triggersError.value = String(e?.message || e);
@@ -7752,7 +7757,7 @@ async function fetchTriggers() {
}
watch(
() => [props.connectionId, props.database, props.tableMeta?.schema, props.tableMeta?.tableName],
() => [props.connectionId, props.database, props.tableMeta?.catalog, props.tableMeta?.schema, props.tableMeta?.tableName],
() => {
ddlContent.value = "";
indexes.value = [];