diff --git a/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx b/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx
index 6ad5cc412..dd1d8b025 100644
--- a/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx
+++ b/superset/assets/javascripts/SqlLab/components/RunQueryActionButton.jsx
@@ -10,9 +10,11 @@ const propTypes = {
runQuery: PropTypes.func.isRequired,
selectedText: PropTypes.string,
stopQuery: PropTypes.func.isRequired,
+ sql: PropTypes.string.isRequired,
};
const defaultProps = {
allowAsync: false,
+ sql: '',
};
export default function RunQueryActionButton(props) {
@@ -32,6 +34,7 @@ export default function RunQueryActionButton(props) {
onClick={() => props.runQuery(false)}
key="run-btn"
tooltip={t('Run query synchronously')}
+ disabled={!props.sql.trim()}
>
{runBtnText}
@@ -43,6 +46,7 @@ export default function RunQueryActionButton(props) {
onClick={() => props.runQuery(true)}
key="run-async-btn"
tooltip={t('Run query asynchronously')}
+ disabled={!props.sql.trim()}
>
{runBtnText}
diff --git a/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx b/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx
index 04f1fd19a..b3093f3d4 100644
--- a/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx
+++ b/superset/assets/javascripts/SqlLab/components/SqlEditor.jsx
@@ -215,6 +215,7 @@ class SqlEditor extends React.PureComponent {
runQuery={this.runQuery}
selectedText={qe.selectedText}
stopQuery={this.stopQuery}
+ sql={this.state.sql}
/>
diff --git a/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx b/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx
index c78d1c75c..141e471d0 100644
--- a/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx
+++ b/superset/assets/spec/javascripts/explore/components/RunQueryActionButton_spec.jsx
@@ -16,6 +16,7 @@ describe('RunQueryActionButton', () => {
runQuery: () => {}, // eslint-disable-line
selectedText: null,
stopQuery: () => {}, // eslint-disable-line
+ sql: '',
};
beforeEach(() => {