about summary refs log tree commit diff stats
path: root/arc/fork.mu
blob: 8d6463a889e1c657f0fb5cf4bac38098a4466584 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(function main [
  (fork thread2:fn)
  (default-space:space-address <- new space:literal 2:literal)
  (x:integer <- copy 34:literal)
  { begin
    (print-integer nil:literal/terminal x:integer)
    (loop)
  }
])

(function thread2 [
  (default-space:space-address <- new space:literal 2:literal)
  (y:integer <- copy 35:literal)
  { begin
    (print-integer nil:literal/terminal y:integer)
    (loop)
  }
])
n class="w"> = time::Instant::now(); if *conf::DEBUG { log::info!("Connecting to database"); } let conn = error::helper( rusqlite::Connection::open_with_flags( path, rusqlite::OpenFlags::SQLITE_OPEN_FULL_MUTEX | rusqlite::OpenFlags::SQLITE_OPEN_CREATE | rusqlite::OpenFlags::SQLITE_OPEN_READ_WRITE, ), "Could not connect to DB", ); error::helper( conn.execute( "CREATE TABLE IF NOT EXISTS posts ( id INTEGER PRIMARY KEY NOT NULL, title TEXT NOT NULL, author TEXT NOT NULL, body TEXT NOT NULL )", rusqlite::NO_PARAMS, ), "Could not initialize DB", ); if *conf::DEBUG { log::info!( "Database connection established in {}ms", start.elapsed().as_millis() ); } conn } pub fn new() -> Self { Conn { conn: Conn::init(DB_PATH), } } } #[cfg(test)] mod tests { use super::*; #[test] fn test_new() { let conn = Conn::init(":memory:"); let mut stmt = conn.prepare("SELECT * FROM POSTS").unwrap(); stmt.query_map(rusqlite::NO_PARAMS, |_| Ok(())).unwrap(); } }