|
|
|
@ -6,7 +6,14 @@ module.exports = {
|
|
|
|
|
|
|
|
|
|
// return true if the sql query alters table schema in some way
|
|
|
|
|
altersSchema: function (sql) {
|
|
|
|
|
sql = sql.trim();
|
|
|
|
|
if (!sql) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Remove all line breaks in order to prevent
|
|
|
|
|
// search pattern problems
|
|
|
|
|
sql = this._removeLineBreaks(sql.trim());
|
|
|
|
|
|
|
|
|
|
return sql.search(/alter\s+[\w\."]+\s+/i) !== -1 ||
|
|
|
|
|
sql.search(/drop\s+[\w\.\"]+/i) !== -1 ||
|
|
|
|
|
sql.search(/^vacuum\s+[\w\.\"]+/i) !== -1 ||
|
|
|
|
@ -21,12 +28,24 @@ module.exports = {
|
|
|
|
|
|
|
|
|
|
// return true if the sql query alters table data
|
|
|
|
|
altersData: function (sql) {
|
|
|
|
|
if (!sql) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Remove all line breaks in order to prevent
|
|
|
|
|
// search pattern problems
|
|
|
|
|
sql = this._removeLineBreaks(sql.trim());
|
|
|
|
|
|
|
|
|
|
return this.altersSchema(sql) ||
|
|
|
|
|
sql.search(/^refresh\s+materialized\s+view\s+[\w\.\"]+/i) !== -1 ||
|
|
|
|
|
sql.search(/^truncate\s+[\w\.\"]+/i) !== -1 ||
|
|
|
|
|
sql.search(/insert\s+into/i) !== -1 ||
|
|
|
|
|
sql.search(/update\s+[\w\.\-"]+\s+.*set/i) !== -1 ||
|
|
|
|
|
sql.search(/delete\s+from/i) !== -1;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_removeLineBreaks: function (sql) {
|
|
|
|
|
return sql.replace(/\r?\n|\r/g, ' ');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|