execute procedure tab

This commit is contained in:
Jan Prochazka
2020-04-13 09:31:01 +02:00
parent f690c42153
commit 9c1f09259a
5 changed files with 35 additions and 3 deletions

View 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} />;
}

View File

@@ -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);

View File

@@ -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 />;

View File

@@ -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,
};