Skip to content

Commit a74c994

Browse files
authored
fix(query): report error when set unknwon setting (#10860)
1 parent 14e0e4c commit a74c994

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

src/query/settings/src/settings.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,19 @@ impl Settings {
9494
}
9595

9696
pub fn set_setting(&self, k: String, v: String) -> Result<()> {
97-
if let (key, Some(value)) = DefaultSettings::convert_value(k, v)? {
97+
if let (key, Some(value)) = DefaultSettings::convert_value(k.clone(), v)? {
9898
self.changes.insert(key, ChangeValue {
9999
value,
100100
level: ScopeLevel::Session,
101101
});
102+
103+
return Ok(());
102104
}
103105

104-
Ok(())
106+
Err(ErrorCode::UnknownVariable(format!(
107+
"Unknown variable: {:?}",
108+
k
109+
)))
105110
}
106111

107112
pub fn set_batch_settings(&self, settings: &HashMap<String, String>) -> Result<()> {

src/query/settings/src/settings_global.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ impl Settings {
5454
}
5555

5656
pub async fn set_global_setting(&self, k: String, v: String) -> Result<()> {
57-
if let (key, Some(value)) = DefaultSettings::convert_value(k, v)? {
57+
if let (key, Some(value)) = DefaultSettings::convert_value(k.clone(), v)? {
5858
self.changes.insert(key.clone(), ChangeValue {
5959
value: value.clone(),
6060
level: ScopeLevel::Global,
@@ -63,9 +63,14 @@ impl Settings {
6363
UserApiProvider::instance()
6464
.set_setting(&self.tenant, UserSetting { name: key, value })
6565
.await?;
66+
67+
return Ok(());
6668
}
6769

68-
Ok(())
70+
Err(ErrorCode::UnknownVariable(format!(
71+
"Unknown variable: {:?}",
72+
k
73+
)))
6974
}
7075

7176
pub async fn load_global_changes(&self) -> Result<()> {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
statement error 2801
2+
SET xxxx = 'xxxx';
3+
4+
statement error 2801
5+
SET GLOBAL xxxx = 'xxxx';

0 commit comments

Comments
 (0)