Skip to content

Commit 2c1265e

Browse files
authored
Merge pull request #59 from Synerise/validate-input-line
[Issue 57]. Validate input line for tsv files.
2 parents 56269cd + f35938b commit 2c1265e

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/pipeline.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::persistence::embedding::{EmbeddingPersistor, NpyPersistor, TextFileVe
88
use crate::persistence::entity::InMemoryEntityMappingPersistor;
99
use crate::sparse_matrix::{create_sparse_matrices, SparseMatrix};
1010
use bus::Bus;
11-
use log::{error, info};
11+
use log::{error, info, warn};
1212
use simdjson_rust::dom;
1313
use smallvec::{smallvec, SmallVec};
1414
use std::sync::Arc;
@@ -58,10 +58,16 @@ pub fn build_graphs(
5858
}
5959
}
6060
FileType::Tsv => {
61+
let config_col_num = config.columns.len();
6162
for input in config.input.iter() {
6263
read_file(input, config.log_every_n as u64, |line| {
6364
let row = parse_tsv_line(line);
64-
entity_processor.process_row(&row);
65+
let line_col_num = row.len();
66+
if line_col_num == config_col_num {
67+
entity_processor.process_row(&row);
68+
} else {
69+
warn!("Wrong number of columns (expected: {}, provided: {}). The line [{}] is skipped.", config_col_num, line_col_num, line);
70+
}
6571
});
6672
}
6773
}

0 commit comments

Comments
 (0)