Commit 397a3faa authored by godkaikai's avatar godkaikai

元数据列查询

parent 372436bd
......@@ -137,4 +137,12 @@ public class DataBaseController {
public Result getSchemasAndTables(@RequestParam Integer id) {
return Result.succeed(databaseService.getSchemasAndTables(id),"获取成功");
}
/**
* 获取元数据的指定表的列
*/
@GetMapping("/listColumns")
public Result listColumns(@RequestParam Integer id,@RequestParam String schemaName,@RequestParam String tableName) {
return Result.succeed(databaseService.listColumns(id,schemaName,tableName),"获取成功");
}
}
\ No newline at end of file
package com.dlink.service;
import com.dlink.db.service.ISuperService;
import com.dlink.model.Column;
import com.dlink.model.DataBase;
import com.dlink.model.Schema;
......@@ -23,4 +24,6 @@ public interface DataBaseService extends ISuperService<DataBase> {
List<DataBase> listEnabledAll();
List<Schema> getSchemasAndTables(Integer id);
List<Column> listColumns(Integer id, String schemaName, String tableName);
}
......@@ -7,6 +7,7 @@ import com.dlink.db.service.impl.SuperServiceImpl;
import com.dlink.mapper.DataBaseMapper;
import com.dlink.metadata.driver.Driver;
import com.dlink.metadata.driver.DriverConfig;
import com.dlink.model.Column;
import com.dlink.model.DataBase;
import com.dlink.model.Schema;
import com.dlink.service.DataBaseService;
......@@ -74,6 +75,18 @@ public class DataBaseServiceImpl extends SuperServiceImpl<DataBaseMapper, DataBa
DataBase dataBase = getById(id);
Asserts.checkNotNull(dataBase,"该数据源不存在!");
Driver driver = Driver.build(dataBase.getDriverConfig()).connect();
return driver.getSchemasAndTables();
List<Schema> schemasAndTables = driver.getSchemasAndTables();
driver.close();
return schemasAndTables;
}
@Override
public List<Column> listColumns(Integer id, String schemaName, String tableName) {
DataBase dataBase = getById(id);
Asserts.checkNotNull(dataBase,"该数据源不存在!");
Driver driver = Driver.build(dataBase.getDriverConfig()).connect();
List<Column> columns = driver.listColumns(schemaName, tableName);
driver.close();
return columns;
}
}
......@@ -358,7 +358,7 @@ const StudioMenu = (props: any) => {
onClick={onCheckSql}
/>
</Tooltip>
{current.task.dialect === DIALECT.FLINKSQL &&(
{(!current.task.dialect||current.task.dialect === DIALECT.FLINKSQL) &&(
<Tooltip title="获取当前的 FlinkSql 的执行图">
<Button
type="text"
......@@ -366,7 +366,7 @@ const StudioMenu = (props: any) => {
onClick={onGetStreamGraph}
/>
</Tooltip>)}
{(current.task.dialect === DIALECT.FLINKSQL||isSql( current.task.dialect )) &&(
{(!current.task.dialect||current.task.dialect === DIALECT.FLINKSQL||isSql( current.task.dialect )) &&(
<Tooltip title="执行当前的 FlinkSql">
<Button
type="text"
......@@ -375,7 +375,7 @@ const StudioMenu = (props: any) => {
onClick={execute}
/>
</Tooltip>)}
{(current.task.dialect === DIALECT.FLINKSQL||isSql( current.task.dialect )) &&(<>
{(!current.task.dialect||current.task.dialect === DIALECT.FLINKSQL||isSql( current.task.dialect )) &&(<>
<Tooltip title="提交当前的作业到集群">
<Button
type="text"
......
......@@ -14,6 +14,7 @@ import UpdateCatalogueForm from './components/UpdateCatalogueForm';
import SimpleTaskForm from "@/components/Studio/StudioTree/components/SimpleTaskForm";
import { Scrollbars } from "react-custom-scrollbars";
import {getIcon} from "@/components/Studio/icon";
import {showEnv} from "@/components/Studio/StudioEvent/DDL";
const { DirectoryTree } = Tree;
......@@ -394,6 +395,7 @@ const StudioTree: React.FC<StudioTreeProps> = (props) => {
handleUpdateTaskModalVisible(false);
setTaskFormValues({});
openByKey(datas.id);
showEnv(dispatch);
// getTreeData();
// onSelect([],openByKey(datas.id));
}
......
import React from "react";
const Columns: React.FC<{}> = (props: any) => {
return (<></>);
};
export default Columns;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment