Fix simulate query button not shown sometimes

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 <maxi_kroeg@web.de>
This commit is contained in:
Maximilian Krög 2023-08-29 21:54:34 +02:00
parent ef9dc7c310
commit 5d9f5c7a10
No known key found for this signature in database
GPG Key ID: 3C00897BB53AAB9C

View File

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