Prevent multiple request for SQL autocomplete

Fix Bug#4858

Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
This commit is contained in:
Nisarg Jhaveri 2015-05-08 19:36:15 +05:30 committed by Marc Delisle
parent 4c5592e632
commit c8a4ed578b

View File

@ -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;
}
});
}