mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 21:36:00 +00:00
execute procedure tab
This commit is contained in:
16
packages/web/src/tabs/ExecuteProcedureTab.js
Normal file
16
packages/web/src/tabs/ExecuteProcedureTab.js
Normal file
@@ -0,0 +1,16 @@
|
||||
import React from 'react';
|
||||
import engines from '@dbgate/engines';
|
||||
import { useConnectionInfo, useSqlObjectInfo } from '../utility/metadataLoaders';
|
||||
import QueryTab from './QueryTab';
|
||||
|
||||
export default function ExecuteProcedureTab(props) {
|
||||
const procedureInfo = useSqlObjectInfo(props);
|
||||
const connnection = useConnectionInfo(props);
|
||||
if (!connnection || !procedureInfo) return null;
|
||||
|
||||
const driver = engines(connnection.engine);
|
||||
const dmp = driver.createDumper();
|
||||
if (procedureInfo) dmp.put('^execute %f', procedureInfo);
|
||||
|
||||
return <QueryTab {...props} initialScript={dmp.s} />;
|
||||
}
|
||||
@@ -23,9 +23,9 @@ import keycodes from '../utility/keycodes';
|
||||
// height: 200px;
|
||||
// `;
|
||||
|
||||
export default function QueryTab({ tabid, conid, database, tabVisible, toolbarPortalRef }) {
|
||||
export default function QueryTab({ tabid, conid, database, tabVisible, toolbarPortalRef, initialScript }) {
|
||||
const localStorageKey = `sql_${tabid}`;
|
||||
const [queryText, setQueryText] = React.useState(() => localStorage.getItem(localStorageKey) || '');
|
||||
const [queryText, setQueryText] = React.useState(() => localStorage.getItem(localStorageKey) || initialScript || '');
|
||||
const queryTextRef = React.useRef(queryText);
|
||||
const [sessionId, setSessionId] = React.useState(null);
|
||||
const [executeNumber, setExecuteNumber] = React.useState(0);
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
import React from 'react';
|
||||
import { useConnectionInfo, useSqlObjectInfo } from '../utility/metadataLoaders';
|
||||
import SqlEditor from '../sqleditor/SqlEditor';
|
||||
import { useUpdateDatabaseForTab } from '../utility/globalState';
|
||||
|
||||
export default function SqlObjectCreateScriptTab({ objectTypeField, conid, database, schemaName, pureName }) {
|
||||
export default function SqlObjectCreateScriptTab({
|
||||
objectTypeField,
|
||||
conid,
|
||||
database,
|
||||
schemaName,
|
||||
pureName,
|
||||
tabVisible,
|
||||
}) {
|
||||
const sqlObjectInfo = useSqlObjectInfo({ conid, database, schemaName, pureName, objectTypeField });
|
||||
const connnection = useConnectionInfo({ conid });
|
||||
useUpdateDatabaseForTab(tabVisible, conid, database);
|
||||
|
||||
if (!connnection || !sqlObjectInfo) return null;
|
||||
|
||||
return <SqlEditor engine={connnection && connnection.engine} value={sqlObjectInfo.createSql} readOnly />;
|
||||
|
||||
@@ -4,6 +4,7 @@ import TableStructureTab from './TableStructureTab';
|
||||
import TableCreateScriptTab from './TableCreateScriptTab';
|
||||
import SqlObjectCreateScriptTab from './SqlObjectCreateScriptTab';
|
||||
import QueryTab from './QueryTab';
|
||||
import ExecuteProcedureTab from './ExecuteProcedureTab';
|
||||
|
||||
export default {
|
||||
TableDataTab,
|
||||
@@ -12,4 +13,5 @@ export default {
|
||||
TableCreateScriptTab,
|
||||
QueryTab,
|
||||
SqlObjectCreateScriptTab,
|
||||
ExecuteProcedureTab,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user