Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNisarg Jhaveri <nisargjhaveri@gmail.com>2015-05-08 17:06:15 +0300
committerMarc Delisle <marc@infomarc.info>2015-05-08 18:36:04 +0300
commitc8a4ed578b55befbca8e990e8c7bc7ff77510a5c (patch)
tree729c711e4e63fd11f2a78a0603362cb30242cb0e /js/functions.js
parent4c5592e6325e76d37b698d6138ace270f4ec5583 (diff)
Prevent multiple request for SQL autocomplete
Fix Bug#4858 Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
Diffstat (limited to 'js/functions.js')
-rw-r--r--js/functions.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/js/functions.js b/js/functions.js
index 45b59a0147..71d88d3301 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -35,6 +35,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
*/
var sql_autocomplete = false;
@@ -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;
}
});
}