/* medal *\
* Copyright (C) 2020 Bundesweite Informatikwettbewerbe *
* *
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero *
* General Public License as published by the Free Software Foundation, either version 3 of the License, or (at *
* your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the *
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public *
* License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License along with this program. If not, see *
\* . */
#![cfg(feature = "postgres")]
extern crate postgres;
use postgres::Connection;
use time;
use time::Duration;
use db_conn::{MedalConnection, MedalObject};
use db_objects::*;
use helpers;
fn gen_tosql_vector() -> Vec<&'static dyn postgres::types::ToSql> { Vec::new() }
trait Queryable {
fn query_map_one(&self, sql: &str, params: &[&dyn postgres::types::ToSql], f: F)
-> postgres::Result