Refactor SQL queries for type consistency: Updated various SQL queries to ensure consistent data types by casting results to text. This change enhances compatibility and improves the handling of JSON data in the application.
All checks were successful
Deploy yourpart (blue-green) / deploy (push) Successful in 1m37s

This commit is contained in:
Torsten Schulz (local)
2026-04-13 15:20:47 +02:00
parent 3df83b507e
commit 2eaea2481c

View File

@@ -163,11 +163,11 @@ WHERE fdd.id = $1 AND fdb.id = $2 ORDER BY worth DESC LIMIT 1;
/// Liefert die Top-5 Kandidaten inkl. Teilmetriken, die in `worth` einfließen. /// Liefert die Top-5 Kandidaten inkl. Teilmetriken, die in `worth` einfließen.
pub const QUERY_GET_BEST_PRODUCTION_DEBUG: &str = r#" pub const QUERY_GET_BEST_PRODUCTION_DEBUG: &str = r#"
SELECT SELECT
ftp.id AS product_id, ftp.id::text AS product_id,
ftp.label_tr, ftp.label_tr,
COALESCE(ftp.category, 1)::int AS product_category, COALESCE(ftp.category, 1)::int::text AS product_category,
COALESCE(ftp.production_time, 0)::int AS production_time, COALESCE(ftp.production_time, 0)::int::text AS production_time,
ROUND(ftp.sell_cost::numeric, 2) AS sell_cost, ROUND(ftp.sell_cost::numeric, 2)::text AS sell_cost,
ROUND( ROUND(
( (
CASE CASE
@@ -180,9 +180,9 @@ SELECT
END END
)::numeric, )::numeric,
2 2
) AS market_percent, )::text AS market_percent,
COALESCE(fdk_character.knowledge, 0)::int AS knowledge_character, COALESCE(fdk_character.knowledge, 0)::int::text AS knowledge_character,
COALESCE(fdk_director.knowledge, 0)::int AS knowledge_director, COALESCE(fdk_director.knowledge, 0)::int::text AS knowledge_director,
ROUND( ROUND(
( (
( (
@@ -198,7 +198,7 @@ SELECT
+ (2.0 * COALESCE(fdk_character.knowledge, 0)::float8 + COALESCE(fdk_director.knowledge, 0)::float8) / 3.0 + (2.0 * COALESCE(fdk_character.knowledge, 0)::float8 + COALESCE(fdk_director.knowledge, 0)::float8) / 3.0
)::numeric, )::numeric,
2 2
) AS effective_percent, )::text AS effective_percent,
ROUND( ROUND(
( (
( (
@@ -215,7 +215,7 @@ SELECT
) )
)::numeric, )::numeric,
4 4
) AS one_piece_cost, )::text AS one_piece_cost,
ROUND( ROUND(
( (
ftp.sell_cost ftp.sell_cost
@@ -234,7 +234,7 @@ SELECT
) / 100.0 ) / 100.0
)::numeric, )::numeric,
4 4
) AS revenue_piece, )::text AS revenue_piece,
ROUND( ROUND(
( (
( (
@@ -269,7 +269,7 @@ SELECT
) / (300.0 * NULLIF(ftp.production_time::float8, 0.0)) ) / (300.0 * NULLIF(ftp.production_time::float8, 0.0))
)::numeric, )::numeric,
8 8
) AS worth )::text AS worth
FROM falukant_data.director fdd FROM falukant_data.director fdd
JOIN falukant_data.character fdc ON fdc.id = fdd.director_character_id JOIN falukant_data.character fdc ON fdc.id = fdd.director_character_id
JOIN falukant_data.falukant_user fdu ON fdd.employer_user_id = fdu.id JOIN falukant_data.falukant_user fdu ON fdd.employer_user_id = fdu.id
@@ -3504,9 +3504,9 @@ pub const QUERY_GET_ACTIVE_LOVER_ROWS_FOR_DAILY: &str = r#"
rs.maintenance_level, rs.maintenance_level,
rs.status_fit, rs.status_fit,
rs.monthly_base_cost, rs.monthly_base_cost,
rs.scandal_extra_daily_pct, COALESCE((to_jsonb(rs)->>'scandal_extra_daily_pct')::int, 0) AS scandal_extra_daily_pct,
rs.months_underfunded, rs.months_underfunded,
COALESCE(rs.acknowledged, false) AS acknowledged, COALESCE((to_jsonb(rs)->>'acknowledged')::boolean, false) AS acknowledged,
c1.gender AS g1, c1.gender AS g1,
c2.gender AS g2, c2.gender AS g2,
COALESCE(t1.tr, '') AS title1_tr, COALESCE(t1.tr, '') AS title1_tr,
@@ -3558,7 +3558,7 @@ pub const QUERY_GET_ACTIVE_LOVER_ROWS_FOR_MONTHLY: &str = r#"
rs.maintenance_level, rs.maintenance_level,
rs.status_fit, rs.status_fit,
rs.monthly_base_cost, rs.monthly_base_cost,
rs.scandal_extra_daily_pct, COALESCE((to_jsonb(rs)->>'scandal_extra_daily_pct')::int, 0) AS scandal_extra_daily_pct,
rs.months_underfunded, rs.months_underfunded,
c1.gender AS g1, c1.gender AS g1,
c2.gender AS g2, c2.gender AS g2,
@@ -3601,8 +3601,7 @@ pub const QUERY_UPDATE_LOVER_UNDERPAY_STATE: &str = r#"
SET affection = $1::smallint, SET affection = $1::smallint,
discretion = $2::smallint, discretion = $2::smallint,
visibility = $3::smallint, visibility = $3::smallint,
months_underfunded = $4::smallint, months_underfunded = $4::smallint
scandal_extra_daily_pct = $5::smallint
WHERE relationship_id = $6::int; WHERE relationship_id = $6::int;
"#; "#;
@@ -3761,7 +3760,7 @@ pub const QUERY_GET_ACTIVE_LOVER_ROWS_FOR_INSTALLMENT: &str = r#"
rs.maintenance_level, rs.maintenance_level,
rs.status_fit, rs.status_fit,
rs.monthly_base_cost, rs.monthly_base_cost,
rs.scandal_extra_daily_pct, COALESCE((to_jsonb(rs)->>'scandal_extra_daily_pct')::int, 0) AS scandal_extra_daily_pct,
rs.months_underfunded, rs.months_underfunded,
c1.gender AS g1, c1.gender AS g1,
c2.gender AS g2, c2.gender AS g2,