Update dependencies and update to slqx 0.8

This commit is contained in:
Tobias Reisinger 2025-05-30 22:56:45 +02:00
commit faacdc8c83
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
54 changed files with 303 additions and 379 deletions

View file

@ -79,7 +79,7 @@ impl DbController {
conn: &mut PoolConnection<Sqlite>,
filter_uid: EmgauwaUid,
) -> Result<(), DatabaseError> {
if sqlx::query_scalar!("SELECT 1 FROM controllers WHERE uid = ?", filter_uid)
if sqlx::query_scalar!("SELECT EXISTS (SELECT 1 FROM controllers WHERE uid = ?)", filter_uid)
.fetch_optional(conn.deref_mut())
.await?
.is_none()

View file

@ -75,7 +75,7 @@ impl DbMacro {
conn: &mut PoolConnection<Sqlite>,
filter_uid: EmgauwaUid,
) -> Result<(), DatabaseError> {
if sqlx::query_scalar!("SELECT 1 FROM macros WHERE uid = ?", filter_uid)
if sqlx::query_scalar!("SELECT EXISTS (SELECT 1 FROM macros WHERE uid = ?)", filter_uid)
.fetch_optional(conn.deref_mut())
.await?
.is_none()

View file

@ -1,6 +1,7 @@
use std::error::Error;
use chrono::{NaiveTime, Timelike};
use serde::{Deserialize, Serialize};
use sqlx::database::HasArguments;
use sqlx::database::Database;
use sqlx::encode::IsNull;
use sqlx::error::BoxDynError;
use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
@ -108,7 +109,7 @@ impl Type<Sqlite> for DbPeriods {
impl<'q> Encode<'q, Sqlite> for DbPeriods {
//noinspection DuplicatedCode
fn encode_by_ref(&self, buf: &mut <Sqlite as HasArguments<'q>>::ArgumentBuffer) -> IsNull {
fn encode_by_ref(&self, buf: &mut <Sqlite as Database>::ArgumentBuffer<'q>) -> Result<IsNull, Box<dyn Error + Sync + Send>> {
<&Vec<u8> as Encode<Sqlite>>::encode(&Vec::from(self), buf)
}
}

View file

@ -78,7 +78,7 @@ impl DbSchedule {
ScheduleUid::Any(_) => Ok(filter_uid),
}?;
if sqlx::query_scalar!("SELECT 1 FROM schedules WHERE uid = ?", filter_uid)
if sqlx::query_scalar!("SELECT EXISTS (SELECT 1 FROM schedules WHERE uid = ?)", filter_uid)
.fetch_optional(conn.deref_mut())
.await?
.is_none()

View file

@ -72,7 +72,7 @@ impl DbTag {
conn: &mut PoolConnection<Sqlite>,
filter_tag: &str,
) -> Result<(), DatabaseError> {
if sqlx::query_scalar!("SELECT 1 FROM tags WHERE tag = ?", filter_tag)
if sqlx::query_scalar!("SELECT EXISTS (SELECT 1 FROM tags WHERE tag = ?)", filter_tag)
.fetch_optional(conn.deref_mut())
.await?
.is_none()

View file

@ -1,8 +1,9 @@
use std::error::Error;
use std::fmt::{Display, Formatter};
use std::str::FromStr;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use sqlx::database::HasArguments;
use sqlx::database::Database;
use sqlx::encode::IsNull;
use sqlx::error::BoxDynError;
use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
@ -61,7 +62,7 @@ impl Type<Sqlite> for EmgauwaUid {
impl<'q> Encode<'q, Sqlite> for EmgauwaUid {
//noinspection DuplicatedCode
fn encode_by_ref(&self, buf: &mut <Sqlite as HasArguments<'q>>::ArgumentBuffer) -> IsNull {
fn encode_by_ref(&self, buf: &mut <Sqlite as Database>::ArgumentBuffer<'q>) -> Result<IsNull, Box<dyn Error + Sync + Send>> {
<Vec<u8> as Encode<Sqlite>>::encode(Vec::from(self), buf)
}
}

View file

@ -1,9 +1,10 @@
use std::convert::TryFrom;
use std::error::Error;
use std::fmt::{Debug, Formatter};
use std::str::FromStr;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use sqlx::database::HasArguments;
use sqlx::database::Database;
use sqlx::encode::IsNull;
use sqlx::error::BoxDynError;
use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
@ -65,7 +66,7 @@ impl Type<Sqlite> for ScheduleUid {
impl<'q> Encode<'q, Sqlite> for ScheduleUid {
//noinspection DuplicatedCode
fn encode_by_ref(&self, buf: &mut <Sqlite as HasArguments<'q>>::ArgumentBuffer) -> IsNull {
fn encode_by_ref(&self, buf: &mut <Sqlite as Database>::ArgumentBuffer<'q>) -> Result<IsNull, Box<dyn Error + Sync + Send>> {
<Vec<u8> as Encode<Sqlite>>::encode(Vec::from(self), buf)
}
}