Do not alter column names in select

Fixes #13359

In an attempt to generate names for flat columns resulting from a nested
accesses #3016 generated new column names on nested selection, out of
convenience, that composed the cell path as a string (including `.`) and
then simply replaced all `.` with `_`. As we permit `.` in column names
as long as you quote this surprisingly alters `select`ed columns.
This commit is contained in:
sholderbach 2024-07-12 11:17:07 +02:00
parent f65bc97a54
commit 6635e50e53

View File

@ -240,7 +240,7 @@ fn select(
//FIXME: improve implementation to not clone
match input_val.clone().follow_cell_path(&path.members, false) {
Ok(fetcher) => {
record.push(path.to_string().replace('.', "_"), fetcher);
record.push(path.to_string(), fetcher);
if !columns_with_value.contains(&path) {
columns_with_value.push(path);
}
@ -271,7 +271,7 @@ fn select(
// FIXME: remove clone
match v.clone().follow_cell_path(&cell_path.members, false) {
Ok(result) => {
record.push(cell_path.to_string().replace('.', "_"), result);
record.push(cell_path.to_string(), result);
}
Err(e) => return Err(e),
}
@ -295,7 +295,7 @@ fn select(
//FIXME: improve implementation to not clone
match x.clone().follow_cell_path(&path.members, false) {
Ok(value) => {
record.push(path.to_string().replace('.', "_"), value);
record.push(path.to_string(), value);
}
Err(e) => return Err(e),
}