mirror of
https://github.com/nushell/nushell.git
synced 2025-06-06 01:56:54 +02:00
Revert "fix: now sqlite insert handles column names as expected" (#12112)
Reverts nushell/nushell#12039
This commit is contained in:
parent
b2b4562376
commit
89b3fb92aa
@ -201,25 +201,18 @@ fn insert_in_transaction(
|
|||||||
span: Span,
|
span: Span,
|
||||||
mut table: Table,
|
mut table: Table,
|
||||||
) -> Result<Value, ShellError> {
|
) -> 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();
|
let table_name = table.name().clone();
|
||||||
|
let tx = table.try_init(first_val)?;
|
||||||
// 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 insert_statement = format!(
|
let insert_statement = format!(
|
||||||
"INSERT INTO [{}] ({}) VALUES ({})",
|
"INSERT INTO [{}] VALUES ({})",
|
||||||
table_name,
|
table_name,
|
||||||
val.cols.join(", "),
|
["?"].repeat(first_val.values().len()).join(", ")
|
||||||
["?"].repeat(val.values().len()).join(", ")
|
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut insert_statement =
|
let mut insert_statement =
|
||||||
@ -232,7 +225,16 @@ fn insert_in_transaction(
|
|||||||
inner: Vec::new(),
|
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
|
insert_statement
|
||||||
.finalize()
|
.finalize()
|
||||||
@ -252,9 +254,6 @@ fn insert_in_transaction(
|
|||||||
inner: Vec::new(),
|
inner: Vec::new(),
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
result
|
|
||||||
})?;
|
|
||||||
|
|
||||||
Ok(Value::nothing(span))
|
Ok(Value::nothing(span))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user