Revert "fix: now sqlite insert handles column names as expected" (#12112)

Reverts nushell/nushell#12039
This commit is contained in:
Darren Schroeder 2024-03-07 21:15:46 -06:00 committed by GitHub
parent b2b4562376
commit 89b3fb92aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -201,25 +201,18 @@ fn insert_in_transaction(
span: Span,
mut table: Table,
) -> Result<Value, ShellError> {
let mut stream = stream;
let mut stream = stream.peekable();
let first_val = match stream.peek() {
None => return Ok(Value::nothing(span)),
Some(val) => val.as_record()?,
};
let table_name = table.name().clone();
// insert all the records
stream.try_for_each(|stream_value| {
if let Some(ref ctrlc) = ctrlc {
if ctrlc.load(Ordering::Relaxed) {
return Err(ShellError::InterruptedByUser { span: None });
}
}
let val = stream_value.as_record()?;
let tx = table.try_init(val)?;
let tx = table.try_init(first_val)?;
let insert_statement = format!(
"INSERT INTO [{}] ({}) VALUES ({})",
"INSERT INTO [{}] VALUES ({})",
table_name,
val.cols.join(", "),
["?"].repeat(val.values().len()).join(", ")
["?"].repeat(first_val.values().len()).join(", ")
);
let mut insert_statement =
@ -232,7 +225,16 @@ fn insert_in_transaction(
inner: Vec::new(),
})?;
let result = insert_value(stream_value, &mut insert_statement);
// insert all the records
stream.try_for_each(|stream_value| {
if let Some(ref ctrlc) = ctrlc {
if ctrlc.load(Ordering::Relaxed) {
return Err(ShellError::InterruptedByUser { span: None });
}
}
insert_value(stream_value, &mut insert_statement)
})?;
insert_statement
.finalize()
@ -252,9 +254,6 @@ fn insert_in_transaction(
inner: Vec::new(),
})?;
result
})?;
Ok(Value::nothing(span))
}