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;
|
BEGIN;
|
||||||
CREATE TABLE mon (
|
CREATE TABLE mon (
|
||||||
name STRING,
|
name STRING NOT NULL,
|
||||||
usage REAL NOT NULL,
|
usage REAL NOT NULL,
|
||||||
viability_ceiling REAL NOT NULL
|
viability_ceiling REAL NOT NULL
|
||||||
);
|
);
|
||||||
CREATE TABLE ability (
|
CREATE TABLE ability (
|
||||||
mon STRING,
|
mon STRING NOT NULL,
|
||||||
name STRING NOT NULL,
|
name STRING NOT NULL,
|
||||||
usage REAL NOT NULL
|
usage REAL NOT NULL
|
||||||
);
|
);
|
||||||
CREATE TABLE move (
|
CREATE TABLE move (
|
||||||
mon STRING,
|
mon STRING NOT NULL,
|
||||||
name STRING NOT NULL,
|
name STRING NOT NULL,
|
||||||
usage REAL NOT NULL
|
usage REAL NOT NULL
|
||||||
);
|
);
|
||||||
CREATE TABLE item (
|
CREATE TABLE item (
|
||||||
mon STRING,
|
mon STRING NOT NULL,
|
||||||
name STRING NOT NULL,
|
name STRING NOT NULL,
|
||||||
usage REAL NOT NULL
|
usage REAL NOT NULL
|
||||||
);
|
);
|
||||||
CREATE TABLE tera (
|
CREATE TABLE tera (
|
||||||
mon STRING,
|
mon STRING NOT NULL,
|
||||||
type STRING NOT NULL,
|
type STRING NOT NULL,
|
||||||
usage REAL NOT NULL
|
usage REAL NOT NULL
|
||||||
);
|
);
|
||||||
CREATE TABLE team (
|
CREATE TABLE team (
|
||||||
mon STRING,
|
mon STRING NOT NULL,
|
||||||
mate STRING NOT NULL,
|
mate STRING NOT NULL,
|
||||||
usage REAL 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;
|
COMMIT;
|
||||||
",
|
",
|
||||||
)?;
|
)?;
|
||||||
|
@ -64,6 +70,12 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||||
stats.info.cutoff
|
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() {
|
for (i, (mon, data)) in stats.data.iter().enumerate() {
|
||||||
log::debug!("Processing mon #{i} ({mon})…");
|
log::debug!("Processing mon #{i} ({mon})…");
|
||||||
let tx = conn.transaction()?;
|
let tx = conn.transaction()?;
|
||||||
|
@ -119,9 +131,16 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||||
(mon, mate, count / mon_count),
|
(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()?;
|
tx.commit()?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue