Avoid uses of Record internals again (#12312)

# Description
Again avoid uses of the `Record` internals, so we are free to change the
data layout

- **Don't use internals of `Record` in `into sqlite`**
- **Don't use internals of `Record` in `to xml`**

Remaining: `rename`

# User-Facing Changes
None
This commit is contained in:
Stefan Holderbach 2024-03-28 11:36:12 +01:00 committed by GitHub
parent 968926a327
commit 910e3b52a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View File

@ -1,6 +1,7 @@
use crate::database::values::sqlite::{open_sqlite_db, values_to_sql};
use nu_engine::command_prelude::*;
use itertools::Itertools;
use std::{
path::Path,
sync::{
@ -243,8 +244,8 @@ fn insert_in_transaction(
let insert_statement = format!(
"INSERT INTO [{}] ({}) VALUES ({})",
table_name,
val.cols.join(", "),
["?"].repeat(val.values().len()).join(", ")
Itertools::intersperse(val.columns().map(String::as_str), ", ").collect::<String>(),
Itertools::intersperse(itertools::repeat_n("?", val.len()), ", ").collect::<String>(),
);
let mut insert_statement =

View File

@ -269,8 +269,7 @@ impl Job {
fn find_invalid_column(record: &Record) -> Option<&String> {
const VALID_COLS: [&str; 3] = [COLUMN_TAG_NAME, COLUMN_ATTRS_NAME, COLUMN_CONTENT_NAME];
record
.cols
.iter()
.columns()
.find(|col| !VALID_COLS.contains(&col.as_str()))
}