From 5d9f5c7a10aceb25864b84eb0c414adb50493993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Kr=C3=B6g?= Date: Tue, 29 Aug 2023 21:54:34 +0200 Subject: [PATCH] Fix simulate query button not shown sometimes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The button now also appears when using an update statement that uses schema.table format, and delete statements like `DELETE a FROM a ...` Signed-off-by: Maximilian Krög --- js/src/functions.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/js/src/functions.js b/js/src/functions.js index 1654f17121..635a8ad6e1 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -1135,15 +1135,10 @@ Functions.setQuery = function (query) { * @return {void} */ Functions.handleSimulateQueryButton = function () { - var updateRegExp = new RegExp('^\\s*UPDATE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+SET\\s', 'i'); - var deleteRegExp = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i'); - var query = ''; + var updateRegExp = /^\s*UPDATE\b\s*(((`([^`]|``)+`)|([a-z0-9_$]+))\s*\.\s*)?((`([^`]|``)+`)|([a-z0-9_$]+))\s*\bSET\b/i; + var deleteRegExp = /^\s*DELETE\b\s*((((`([^`]|``)+`)|([a-z0-9_$]+))\s*\.\s*)?((`([^`]|``)+`)|([a-z0-9_$]+))\s*)?\bFROM\b/i; - if (codeMirrorEditor) { - query = codeMirrorEditor.getValue(); - } else { - query = $('#sqlquery').val(); - } + var query = codeMirrorEditor ? codeMirrorEditor.getValue() : $('#sqlquery').val(); var $simulateDml = $('#simulate_dml'); if (updateRegExp.test(query) || deleteRegExp.test(query)) {