mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 00:16:00 +00:00
kill query
This commit is contained in:
@@ -105,6 +105,16 @@ module.exports = {
|
|||||||
return { state: 'ok' };
|
return { state: 'ok' };
|
||||||
},
|
},
|
||||||
|
|
||||||
|
kill_meta: 'post',
|
||||||
|
async kill({ sesid }) {
|
||||||
|
const session = this.opened.find((x) => x.sesid == sesid);
|
||||||
|
if (!session) {
|
||||||
|
throw new Error('Invalid session');
|
||||||
|
}
|
||||||
|
session.subprocess.kill();
|
||||||
|
return { state: 'ok' };
|
||||||
|
},
|
||||||
|
|
||||||
// runCommand_meta: 'post',
|
// runCommand_meta: 'post',
|
||||||
// async runCommand({ conid, database, sql }) {
|
// async runCommand({ conid, database, sql }) {
|
||||||
// console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`);
|
// console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ToolbarButton from '../widgets/ToolbarButton';
|
import ToolbarButton from '../widgets/ToolbarButton';
|
||||||
|
|
||||||
export default function QueryToolbar({ execute, cancel, isDatabaseDefined, busy, save, format }) {
|
export default function QueryToolbar({ execute, cancel, isDatabaseDefined, busy, save, format, isConnected, kill }) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ToolbarButton disabled={!isDatabaseDefined || busy} onClick={execute} icon="fas fa-play">
|
<ToolbarButton disabled={!isDatabaseDefined || busy} onClick={execute} icon="fas fa-play">
|
||||||
@@ -10,6 +10,9 @@ export default function QueryToolbar({ execute, cancel, isDatabaseDefined, busy,
|
|||||||
<ToolbarButton disabled={!busy} onClick={cancel} icon="fas fa-times">
|
<ToolbarButton disabled={!busy} onClick={cancel} icon="fas fa-times">
|
||||||
Cancel
|
Cancel
|
||||||
</ToolbarButton>
|
</ToolbarButton>
|
||||||
|
<ToolbarButton disabled={!isConnected} onClick={kill} icon="fas fa-times">
|
||||||
|
Kill
|
||||||
|
</ToolbarButton>
|
||||||
<ToolbarButton onClick={save} icon="fas fa-save">
|
<ToolbarButton onClick={save} icon="fas fa-save">
|
||||||
Save
|
Save
|
||||||
</ToolbarButton>
|
</ToolbarButton>
|
||||||
|
|||||||
@@ -178,6 +178,13 @@ export default function QueryTab({
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleKill = () => {
|
||||||
|
axios.post('sessions/cancel', {
|
||||||
|
sesid: sessionId,
|
||||||
|
});
|
||||||
|
setSessionId(null);
|
||||||
|
};
|
||||||
|
|
||||||
const handleKeyDown = (data, hash, keyString, keyCode, event) => {
|
const handleKeyDown = (data, hash, keyString, keyCode, event) => {
|
||||||
if (keyCode == keycodes.f5) {
|
if (keyCode == keycodes.f5) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -236,6 +243,8 @@ export default function QueryTab({
|
|||||||
cancel={handleCancel}
|
cancel={handleCancel}
|
||||||
format={handleFormatCode}
|
format={handleFormatCode}
|
||||||
save={saveSqlFileModalState.open}
|
save={saveSqlFileModalState.open}
|
||||||
|
isConnected={!!sessionId}
|
||||||
|
kill={handleKill}
|
||||||
/>,
|
/>,
|
||||||
toolbarPortalRef.current
|
toolbarPortalRef.current
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user