pub(crate) mod sql {
pub(crate) const INSERT_NEW: &str =
"INSERT IGNORE INTO arcature_sessions (id, data, expires_at) VALUES (?, ?, ?)";
pub(crate) const UPSERT: &str =
"REPLACE INTO arcature_sessions (id, data, expires_at) VALUES (?, ?, ?)";
pub(crate) const LOAD: &str = r#"SELECT data, expires_at
FROM arcature_sessions
WHERE id = ? AND expires_at > UTC_TIMESTAMP(6)"#;
pub(crate) const DELETE: &str = "DELETE FROM arcature_sessions WHERE id = ?";
pub(crate) const DELETE_EXPIRED: &str =
"DELETE FROM arcature_sessions WHERE expires_at <= UTC_TIMESTAMP(6)";
pub(crate) const CREATE_HISTORY: &str = r#"CREATE TABLE IF NOT EXISTS arcature_sessions_schema_migrations (
version VARCHAR(191) NOT NULL PRIMARY KEY,
applied_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
) ENGINE=InnoDB"#;
pub(crate) const COUNT_APPLIED: &str =
"SELECT COUNT(*) FROM arcature_sessions_schema_migrations WHERE version = ?";
pub(crate) const RECORD_APPLIED: &str =
"INSERT IGNORE INTO arcature_sessions_schema_migrations (version) VALUES (?)";
pub(crate) const LOCK: Option<&str> = Some("SELECT GET_LOCK('arcature_sessions_migrate', 10)");
pub(crate) const UNLOCK: Option<&str> =
Some("SELECT RELEASE_LOCK('arcature_sessions_migrate')");
pub(crate) const SCHEMA: &str = include_str!("../migrations/mysql/0001_sessions.sql");
}