multisql/databases/csv/
utils.rs

1use {
2	super::CSVDatabase,
3	crate::{Result, WIPError},
4	csv::{Reader, ReaderBuilder},
5	std::fs::File,
6};
7
8pub(crate) fn csv_reader(store: &CSVDatabase) -> Result<Reader<File>> {
9	let reader = ReaderBuilder::new()
10		.delimiter(store.csv_settings.delimiter)
11		.quoting(store.csv_settings.quoting)
12		.buffer_capacity(8 * 500 * 1_000_000) // 500MB
13		.from_path(store.path.as_str())
14		.map_err(|error| WIPError::Debug(format!("{:?}", error)))?;
15	Ok(reader)
16}
17
18/*pub(crate) fn csv_writer<T: Write>(store: &CSVDatabase, init: T) -> Result<Writer<T>> {
19	let writer = WriterBuilder::new().delimiter(store.csv_settings.delimiter).from_writer(init);
20
21	Ok(writer)
22}*/