kill query

This commit is contained in:
Jan Prochazka
2020-06-28 15:33:59 +02:00
parent 8e9b6d5ea2
commit 4e1ee72d4d
3 changed files with 23 additions and 1 deletions

View File

@@ -105,6 +105,16 @@ module.exports = {
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',
// async runCommand({ conid, database, sql }) {
// console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`);

View File

@@ -1,7 +1,7 @@
import React from 'react';
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 (
<>
<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">
Cancel
</ToolbarButton>
<ToolbarButton disabled={!isConnected} onClick={kill} icon="fas fa-times">
Kill
</ToolbarButton>
<ToolbarButton onClick={save} icon="fas fa-save">
Save
</ToolbarButton>

View File

@@ -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) => {
if (keyCode == keycodes.f5) {
event.preventDefault();
@@ -236,6 +243,8 @@ export default function QueryTab({
cancel={handleCancel}
format={handleFormatCode}
save={saveSqlFileModalState.open}
isConnected={!!sessionId}
kill={handleKill}
/>,
toolbarPortalRef.current
)}