提交 369f2922 authored 作者: noelgrandin's avatar noelgrandin

validity check a variety of system settings to catch silly mistakes

上级 3e8f3bf4
...@@ -79,6 +79,9 @@ public class Set extends Prepared { ...@@ -79,6 +79,9 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.CACHE_SIZE: case SetTypes.CACHE_SIZE:
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("CACHE_SIZE", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
database.setCacheSize(getIntValue()); database.setCacheSize(getIntValue());
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
...@@ -153,12 +156,18 @@ public class Set extends Prepared { ...@@ -153,12 +156,18 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.DB_CLOSE_DELAY: { case SetTypes.DB_CLOSE_DELAY: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("DB_CLOSE_DELAY", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
database.setCloseDelay(getIntValue()); database.setCloseDelay(getIntValue());
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
break; break;
} }
case SetTypes.DEFAULT_LOCK_TIMEOUT: case SetTypes.DEFAULT_LOCK_TIMEOUT:
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("DEFAULT_LOCK_TIMEOUT", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
break; break;
...@@ -196,6 +205,9 @@ public class Set extends Prepared { ...@@ -196,6 +205,9 @@ public class Set extends Prepared {
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
break; break;
case SetTypes.LOCK_TIMEOUT: case SetTypes.LOCK_TIMEOUT:
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("LOCK_TIMEOUT", getIntValue());
}
session.setLockTimeout(getIntValue()); session.setLockTimeout(getIntValue());
break; break;
case SetTypes.LOG: { case SetTypes.LOG: {
...@@ -216,11 +228,17 @@ public class Set extends Prepared { ...@@ -216,11 +228,17 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.MAX_LOG_SIZE: case SetTypes.MAX_LOG_SIZE:
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("MAX_LOG_SIZE", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
database.setMaxLogSize((long) getIntValue() * 1024 * 1024); database.setMaxLogSize((long) getIntValue() * 1024 * 1024);
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
break; break;
case SetTypes.MAX_MEMORY_ROWS: { case SetTypes.MAX_MEMORY_ROWS: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("MAX_MEMORY_ROWS", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
database.setMaxMemoryRows(getIntValue()); database.setMaxMemoryRows(getIntValue());
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
...@@ -236,6 +254,9 @@ public class Set extends Prepared { ...@@ -236,6 +254,9 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.MAX_OPERATION_MEMORY: { case SetTypes.MAX_OPERATION_MEMORY: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("MAX_OPERATION_MEMORY", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
int value = getIntValue(); int value = getIntValue();
database.setMaxOperationMemory(value); database.setMaxOperationMemory(value);
...@@ -268,6 +289,9 @@ public class Set extends Prepared { ...@@ -268,6 +289,9 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.QUERY_TIMEOUT: { case SetTypes.QUERY_TIMEOUT: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("QUERY_TIMEOUT", getIntValue());
}
int value = getIntValue(); int value = getIntValue();
session.setQueryTimeout(value); session.setQueryTimeout(value);
break; break;
...@@ -314,6 +338,9 @@ public class Set extends Prepared { ...@@ -314,6 +338,9 @@ public class Set extends Prepared {
} }
break; break;
case SetTypes.TRACE_MAX_FILE_SIZE: { case SetTypes.TRACE_MAX_FILE_SIZE: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("TRACE_MAX_FILE_SIZE", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
int size = getIntValue() * 1024 * 1024; int size = getIntValue() * 1024 * 1024;
database.getTraceSystem().setMaxFileSize(size); database.getTraceSystem().setMaxFileSize(size);
...@@ -341,6 +368,9 @@ public class Set extends Prepared { ...@@ -341,6 +368,9 @@ public class Set extends Prepared {
break; break;
} }
case SetTypes.WRITE_DELAY: { case SetTypes.WRITE_DELAY: {
if (getIntValue() < 0) {
throw DbException.getInvalidValueException("WRITE_DELAY", getIntValue());
}
session.getUser().checkAdmin(); session.getUser().checkAdmin();
database.setWriteDelay(getIntValue()); database.setWriteDelay(getIntValue());
addOrUpdateSetting(name, null, getIntValue()); addOrUpdateSetting(name, null, getIntValue());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论