The branch, master has been updated
via f9f987f544cb71e44126b362f456150640d91daf (commit)
via 7951b2bacc63d7dc408ead0cf2fcb126c001d17e (commit)
from 57f51bfda5205d2cd0813216634930863f4ac63d (commit)
- Log -----------------------------------------------------------------
commit f9f987f544cb71e44126b362f456150640d91daf
Merge: 57f51bfda5205d2cd0813216634930863f4ac63d 7951b2bacc63d7dc408ead0cf2fcb126c001d17e
Author: Marc Delisle <marc(a)infomarc.info>
Date: Sat Jul 31 14:54:34 2010 -0400
Merge branch 'QA_3_3'
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
js/functions.js | 12 +++++++-----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2acdf45..9671597 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -105,6 +105,7 @@ $Id$
- bug #3033063 [core] Navi gets wrong db name
- bug #3031705 [core] Fix generating condition for real numbers by comparing
them to string.
+- bug #3034026 [confirmation] TRUNCATE queries get no confirmation request
3.3.5.0 (2010-07-26)
- patch #2932113 [information_schema] Slow export when having lots of
diff --git a/js/functions.js b/js/functions.js
index b5995f0..162e80c 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -152,7 +152,7 @@ function confirmQuery(theForm1, sqlQuery1)
} // end if
} // end if
- // Confirms a "DROP/DELETE/ALTER" statement
+ // Confirms a "DROP/DELETE/ALTER/TRUNCATE" statement
//
// TODO: find a way (if possible) to use the parser-analyser
// for this kind of verification
@@ -162,22 +162,24 @@ function confirmQuery(theForm1, sqlQuery1)
var do_confirm_re_0 = new RegExp('^\\s*DROP\\s+(IF
EXISTS\\s+)?(TABLE|DATABASE|PROCEDURE)\\s', 'i');
var do_confirm_re_1 = new
RegExp('^\\s*ALTER\\s+TABLE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+DROP\\s',
'i');
var do_confirm_re_2 = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
+ var do_confirm_re_3 = new RegExp('^\\s*TRUNCATE\\s', 'i');
+
if (do_confirm_re_0.test(sqlQuery1.value)
|| do_confirm_re_1.test(sqlQuery1.value)
- || do_confirm_re_2.test(sqlQuery1.value)) {
+ || do_confirm_re_2.test(sqlQuery1.value)
+ || do_confirm_re_3.test(sqlQuery1.value)) {
var message = (sqlQuery1.value.length > 100)
? sqlQuery1.value.substr(0, 100) + '\n ...'
: sqlQuery1.value;
var is_confirmed = confirm(PMA_messages['strDoYouReally'] + '
:\n' + message);
- // drop/delete/alter statement is confirmed -> update the
+ // statement is confirmed -> update the
// "is_js_confirmed" form field so the confirm test won't be
// run on the server side and allows to submit the form
if (is_confirmed) {
theForm1.elements['is_js_confirmed'].value = 1;
return true;
}
- // "DROP/DELETE/ALTER" statement is rejected -> do not submit
- // the form
+ // statement is rejected -> do not submit the form
else {
window.focus();
sqlQuery1.focus();
hooks/post-receive
--
phpMyAdmin