Adding words by parts

This commit is contained in:
micialware committed 2026-08-15 21:32:24 +03:00
1 parent 8f789facd7
commit 51c8d7be74
23 files changed
+409 -241

No files matched your search

+15 -7
View File
@@ -1,5 +1,5 @@
use crate::lang::{WordData, WordGroup};
use rusqlite::{params, Connection};
use rusqlite::{Connection, params};
use std::collections::HashMap;
pub fn add_word(word: &mut WordData, connection: &Connection) {
@@ -23,18 +23,26 @@ pub fn add_word(word: &mut WordData, connection: &Connection) {
word.id = index;
}
pub fn add_words(words: &mut[WordData], connection: &mut Connection) {
pub fn add_words(words: &mut [WordData], connection: &mut Connection) {
let tx = connection.transaction().unwrap();
let count = words.len();
{
let mut stmt = tx.prepare(
"INSERT INTO words (key, value, tags, more, group_id) VALUES (?1, ?2, ?3, ?4, ?5)",
).unwrap();
let mut stmt = tx
.prepare(
"INSERT INTO words (key, value, tags, more, group_id) VALUES (?1, ?2, ?3, ?4, ?5)",
)
.unwrap();
for word in words.iter() {
stmt.execute(params![word.key, word.value, word.tags, serde_json::to_string(&word.additional).unwrap(), word.group_id]).unwrap();
stmt.execute(params![
word.key,
word.value,
word.tags,
serde_json::to_string(&word.additional).unwrap(),
word.group_id
])
.unwrap();
}
}