modularize somewhat, better type docs for tables
This commit is contained in:
parent
d14bc6ca45
commit
bcad16c911
1 changed files with 26 additions and 7 deletions
33
src/main.rs
33
src/main.rs
|
@ -21,35 +21,41 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
"
|
||||
BEGIN;
|
||||
CREATE TABLE mon (
|
||||
name STRING,
|
||||
name STRING NOT NULL,
|
||||
usage REAL NOT NULL,
|
||||
viability_ceiling REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE ability (
|
||||
mon STRING,
|
||||
mon STRING NOT NULL,
|
||||
name STRING NOT NULL,
|
||||
usage REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE move (
|
||||
mon STRING,
|
||||
mon STRING NOT NULL,
|
||||
name STRING NOT NULL,
|
||||
usage REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE item (
|
||||
mon STRING,
|
||||
mon STRING NOT NULL,
|
||||
name STRING NOT NULL,
|
||||
usage REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE tera (
|
||||
mon STRING,
|
||||
mon STRING NOT NULL,
|
||||
type STRING NOT NULL,
|
||||
usage REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE team (
|
||||
mon STRING,
|
||||
mon STRING NOT NULL,
|
||||
mate STRING NOT NULL,
|
||||
usage REAL NOT NULL
|
||||
);
|
||||
CREATE TABLE cc (
|
||||
mon STRING NOT NULL,
|
||||
opp STRING NOT NULL,
|
||||
percentage REAL NOT NULL,
|
||||
stddev REAL NOT NULL
|
||||
);
|
||||
COMMIT;
|
||||
",
|
||||
)?;
|
||||
|
@ -64,6 +70,12 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
stats.info.cutoff
|
||||
);
|
||||
|
||||
insert_stats(&mut conn, &stats)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn insert_stats(conn: &mut Connection, stats: &Stats) -> rusqlite::Result<()> {
|
||||
for (i, (mon, data)) in stats.data.iter().enumerate() {
|
||||
log::debug!("Processing mon #{i} ({mon})…");
|
||||
let tx = conn.transaction()?;
|
||||
|
@ -119,9 +131,16 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
(mon, mate, count / mon_count),
|
||||
)?;
|
||||
}
|
||||
|
||||
for (opp, (_, percentage, stddev)) in &data.checks_and_counters {
|
||||
tx.execute(
|
||||
"INSERT INTO cc VALUES (?1, ?2, ?3, ?4)",
|
||||
(mon, opp, percentage, stddev),
|
||||
)?;
|
||||
}
|
||||
|
||||
tx.commit()?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue