static void bind(statement& st, ColOrName col_or_name, const std::unique_ptr<T>& v) { if (v) st.bind(col_or_name, *v); else st.bind(col_or_name, null); }
static void bind(statement& st, ColOrName col_or_name, const boost::posix_time::ptime& v) { st.bind(col_or_name, boost::posix_time::to_tm(v)); }