Filter out NULL languages in allowed_langs aggregation

This commit is contained in:
2026-01-08 22:42:22 +01:00
parent 140efde19b
commit 86e2550413
2 changed files with 3 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n user_settings.id,\n user_settings.user_id,\n user_settings.last_name,\n user_settings.first_name,\n user_settings.username,\n user_settings.source,\n COALESCE(\n ARRAY_AGG(ROW(\n languages.id,\n languages.label,\n languages.code\n )::user_language_type),\n ARRAY[]::user_language_type[]\n ) AS \"allowed_langs!: Vec<UserLanguage>\"\n FROM user_settings\n LEFT JOIN users_languages ON user_settings.id = users_languages.user\n LEFT JOIN languages ON users_languages.language = languages.id\n WHERE user_settings.user_id = $1\n GROUP BY user_settings.id\n ",
"query": "\n SELECT\n user_settings.id,\n user_settings.user_id,\n user_settings.last_name,\n user_settings.first_name,\n user_settings.username,\n user_settings.source,\n COALESCE(\n ARRAY_AGG(ROW(\n languages.id,\n languages.label,\n languages.code\n )::user_language_type) FILTER (WHERE languages.id IS NOT NULL),\n ARRAY[]::user_language_type[]\n ) AS \"allowed_langs!: Vec<UserLanguage>\"\n FROM user_settings\n LEFT JOIN users_languages ON user_settings.id = users_languages.user\n LEFT JOIN languages ON users_languages.language = languages.id\n WHERE user_settings.user_id = $1\n GROUP BY user_settings.id\n ",
"describe": {
"columns": [
{
@@ -81,5 +81,5 @@
null
]
},
"hash": "cc20029c1ac8cde73bd2a08d2a17740a08c54cf2af13fea288593a94343a71fe"
"hash": "f1ec22528fd84d652379dfe739d9ef7a7b5cad5609c5734c845bf0b6da0a5150"
}

View File

@@ -80,7 +80,7 @@ async fn get_user(Path(user_id): Path<i64>, db: Database) -> impl IntoResponse {
languages.id,
languages.label,
languages.code
)::user_language_type),
)::user_language_type) FILTER (WHERE languages.id IS NOT NULL),
ARRAY[]::user_language_type[]
) AS "allowed_langs!: Vec<UserLanguage>"
FROM user_settings