mirror of
https://github.com/vrana/adminer.git
synced 2025-08-12 09:34:10 +02:00
Warn about grouping data without index
This commit is contained in:
@@ -233,6 +233,8 @@ function selectFieldChange(form) {
|
||||
}
|
||||
var ok = true;
|
||||
var selects = form.getElementsByTagName('select');
|
||||
var group = false;
|
||||
var columns = {};
|
||||
for (var i=0; i < selects.length; i++) {
|
||||
var select = selects[i];
|
||||
var col = selectValue(select);
|
||||
@@ -246,7 +248,15 @@ function selectFieldChange(form) {
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
//! take grouping in select into account
|
||||
if ((match = /^(columns.+)fun\]/.exec(select.name))) {
|
||||
if (/^(avg|count|count distinct|group_concat|max|min|sum)$/.test(col)) {
|
||||
group = true;
|
||||
}
|
||||
var val = selectValue(form[match[1] + 'col]']);
|
||||
if (val) {
|
||||
columns[col && col != 'count' ? '' : val] = 1;
|
||||
}
|
||||
}
|
||||
if (col && /^order/.test(select.name)) {
|
||||
if (!(col in indexColumns)) {
|
||||
ok = false;
|
||||
@@ -254,6 +264,13 @@ function selectFieldChange(form) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (group) {
|
||||
for (var col in columns) {
|
||||
if (!(col in indexColumns)) {
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
})();
|
||||
setHtml('noindex', (ok ? '' : '!'));
|
||||
|
Reference in New Issue
Block a user