mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-30 13:04:27 +08:00
Compare commits
1 Commits
9ff9acdee5
...
c6e10b71de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6e10b71de |
@@ -18,7 +18,7 @@ import { isFunction } from 'lodash';
|
|||||||
import FullScreen from '@/components/FullScreen';
|
import FullScreen from '@/components/FullScreen';
|
||||||
import SqlEditor from '@/components/SqlEditor';
|
import SqlEditor from '@/components/SqlEditor';
|
||||||
import type { TaskResultItem, TaskResultColumn } from '../data';
|
import type { TaskResultItem, TaskResultColumn } from '../data';
|
||||||
import { executeSql } from '@/pages/SemanticModel/service';
|
import { executeSql, listColumnsBySql } from '@/pages/SemanticModel/service';
|
||||||
|
|
||||||
import SqlParams from './SqlParams';
|
import SqlParams from './SqlParams';
|
||||||
import styles from '../style.less';
|
import styles from '../style.less';
|
||||||
@@ -248,12 +248,19 @@ const SqlDetail: React.FC<IProps> = ({
|
|||||||
id: currentDatabaseItem.key,
|
id: currentDatabaseItem.key,
|
||||||
sqlVariables: sqlParams,
|
sqlVariables: sqlParams,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { code: getColumnCode, data: getColumnData } = await listColumnsBySql({
|
||||||
|
sql: value,
|
||||||
|
databaseId: currentDatabaseItem.key,
|
||||||
|
});
|
||||||
|
|
||||||
setResultTableLoading(false);
|
setResultTableLoading(false);
|
||||||
if (code === 200) {
|
if (code === 200 && getColumnCode === 200) {
|
||||||
const columnData = (data.columns || []).map((item: any) => {
|
const columnData = getColumnData.map((item) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
columnName: item.nameEn,
|
nameEn: item.columnName,
|
||||||
|
type: item.dataType,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
fetchTaskResult(data, columnData);
|
fetchTaskResult(data, columnData);
|
||||||
|
|||||||
@@ -373,6 +373,12 @@ export async function executeSql(params: ExcuteSqlParams) {
|
|||||||
return request.post(`${process.env.API_BASE_URL}database/executeSql`, { data });
|
return request.post(`${process.env.API_BASE_URL}database/executeSql`, { data });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function listColumnsBySql(data: { databaseId: number; sql: string }) {
|
||||||
|
return request.post(`${process.env.API_BASE_URL}database/listColumnsBySql`, {
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export function getCatalogs(dbId: number): Promise<any> {
|
export function getCatalogs(dbId: number): Promise<any> {
|
||||||
return request(`${process.env.API_BASE_URL}database/getCatalogs`, {
|
return request(`${process.env.API_BASE_URL}database/getCatalogs`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
@@ -403,12 +409,7 @@ export function getTables(databaseId: number, catalog: string, dbName: string):
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getColumns(
|
export function getColumns(databaseId: number, catalog: string, dbName: string, tableName: string): Promise<any> {
|
||||||
databaseId: number,
|
|
||||||
catalog: string,
|
|
||||||
dbName: string,
|
|
||||||
tableName: string,
|
|
||||||
): Promise<any> {
|
|
||||||
return request(`${process.env.API_BASE_URL}database/getColumnsByName`, {
|
return request(`${process.env.API_BASE_URL}database/getColumnsByName`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
params: {
|
||||||
|
|||||||
Reference in New Issue
Block a user