Skip to content

Commit 63e79a8

Browse files
committed
cleanup
1 parent ec90f01 commit 63e79a8

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

src/lib.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -806,12 +806,7 @@ impl Statement {
806806
stmt.reset();
807807
let params = map_params(&stmt, params)?;
808808
let mut rows = stmt.query(params).await.map_err(Error::from)?;
809-
let mut column_names = Vec::new();
810-
for i in 0..rows.column_count() {
811-
column_names.push(
812-
std::ffi::CString::new(rows.column_name(i).unwrap().to_string()).unwrap(),
813-
);
814-
}
809+
let column_names = self.get_column_names(&rows)?;
815810
let row = rows.next().await.map_err(Error::from)?;
816811
let duration = start.elapsed().as_secs_f64();
817812
let result = match row {
@@ -857,6 +852,18 @@ impl Statement {
857852
.map_err(Error::from)?;
858853
Ok(())
859854
}
855+
856+
fn get_column_names(&self, rows: &libsql::Rows) -> Result<Vec<std::ffi::CString>> {
857+
let mut column_names = Vec::new();
858+
for i in 0..rows.column_count() {
859+
let column_name = match rows.column_name(i) {
860+
Some(name) => name.to_string(),
861+
None => return Err(napi::Error::from_reason("Failed to get column name")),
862+
};
863+
column_names.push(std::ffi::CString::new(column_name).unwrap());
864+
}
865+
Ok(column_names)
866+
}
860867
}
861868

862869
/// A raw iterator over rows. The JavaScript layer wraps this in a iterable.

0 commit comments

Comments
 (0)