From c8a4ed578b55befbca8e990e8c7bc7ff77510a5c Mon Sep 17 00:00:00 2001 From: Nisarg Jhaveri Date: Fri, 8 May 2015 19:36:15 +0530 Subject: [PATCH] Prevent multiple request for SQL autocomplete Fix Bug#4858 Signed-off-by: Nisarg Jhaveri --- js/functions.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/functions.js b/js/functions.js index 45b59a0147..71d88d3301 100644 --- a/js/functions.js +++ b/js/functions.js @@ -34,6 +34,11 @@ var codemirror_editor = false; */ var codemirror_inline_editor = false; +/** + * @var sql_autocomplete_in_progress bool shows if Table/Column name autocomplete AJAX is in progress + */ +var sql_autocomplete_in_progress = false; + /** * @var sql_autocomplete object containing list of columns in each table */ @@ -1733,12 +1738,16 @@ AJAX.registerOnload('functions.js', function () { * "inputRead" event handler for CodeMirror SQL query editors for autocompletion */ function codemirrorAutocompleteOnInputRead(instance) { - if (!instance.options.hintOptions.tables || !sql_autocomplete){ + if (!sql_autocomplete_in_progress + && (!instance.options.hintOptions.tables || !sql_autocomplete)) { + if (!sql_autocomplete) { // Reset after teardown instance.options.hintOptions.tables = false; instance.options.hintOptions.defaultTable = ''; + sql_autocomplete_in_progress = true; + var href = 'db_sql_autocomplete.php'; var params = { 'ajax_request': true, @@ -1782,6 +1791,9 @@ function codemirrorAutocompleteOnInputRead(instance) { instance.options.hintOptions.tables = result; instance.options.hintOptions.defaultTable = sql_autocomplete_default_table; } + }, + complete: function () { + sql_autocomplete_in_progress = false; } }); }