Skip to content
Snippets Groups Projects
Commit 2e643d17 authored by lisasmah's avatar lisasmah
Browse files

#29 Refactorisation de la fonction pour uniformiser le format de sortie.

Gestion des caractères spéciaux dans les messages de retour.
Ajout du cas où la table n'a pas encore été modifiée depuis l'activation de `track_commit_timestamp`
parent 7db79d70
No related branches found
No related tags found
3 merge requests!15Ajout fonction get_table_last_update. V.9011,!14#29 Refactorisation de la fonction pour uniformiser le format de sortie.,!13#29 Ajout de fonction "get_table_last_update" qui récupère la date de mise à jour d'une table
Pipeline #533108 passed
...@@ -46,13 +46,18 @@ get_table_last_update <- function(conn, nom_schema, nom_table) { ...@@ -46,13 +46,18 @@ get_table_last_update <- function(conn, nom_schema, nom_table) {
# Vérifier si un résultat a été retourné # Vérifier si un résultat a été retourné
if (nrow(result) > 0) { if (nrow(result) > 0) {
return(result$modified_timestamp[1]) # Retourne la dernière date de commit if (is.na(result$modified_timestamp[1])) {
} else { return(list(date = NA, message = "La date de commit est NULL. La table n\'a pas encore \u00e9t\u00e9 modifi\u00e9e depuis l\'activation de track_commit_timestamp."))
} else {
commit_date <- as.Date(result$modified_timestamp[1])
return(list(date = commit_date, source = "Source: track_commit_timestamp"))
}
} else {
# Si pas de résultat, vérifier dans zz_r_df_def # Si pas de résultat, vérifier dans zz_r_df_def
query_check_table <- paste0(" query_check_table <- paste0("
SELECT commentaire SELECT commentaire
FROM ", nom_schema, ".zz_r_df_def FROM ", nom_schema, ".zz_r_df_def
WHERE table_nm = '", nom_table, "' WHERE table_nm = '\", nom_table, \"'
ORDER BY date_postee DESC ORDER BY date_postee DESC
LIMIT 1;") LIMIT 1;")
...@@ -70,19 +75,22 @@ get_table_last_update <- function(conn, nom_schema, nom_table) { ...@@ -70,19 +75,22 @@ get_table_last_update <- function(conn, nom_schema, nom_table) {
date_match <- regmatches(comment_text, regexpr(date_pattern, comment_text)) date_match <- regmatches(comment_text, regexpr(date_pattern, comment_text))
if (length(date_match) > 0) { if (length(date_match) > 0) {
return(date_match) # Retourne la date extraite du commentaire # Convertir la date extraite en format Date (JJ/MM/AAAA -> YYYY-MM-DD)
comment_date <- as.Date(date_match, format = "%d/%m/%Y")
return(list(date = comment_date, source = "Source: commentaire de table"))
} else { } else {
return("Le commentaire ne contient pas de date valide.") # Si la date n'est pas au bon format # Retourner NA et message d'erreur
return(list(date = NA, message = "Le commentaire ne contient pas de date valide."))
} }
} else { } else {
return("Aucun commentaire trouvé pour la table dans zz_r_df_def.") # Si aucun commentaire n'est trouvé return(list(date = NA, message ="Aucun commentaire trouv\u00e9 pour la table dans zz_r_df_def.")) # Si aucun commentaire n'est trouvé
} }
} }
} else { } else {
return("L'option track_commit_timestamp est désactivée.") # Option désactivée return(list(date = NA, message ="L\'option track_commit_timestamp est d\u00e9sactiv\u00e9e.")) # Option désactivée
} }
} else { } else {
return("track_commit_timestamp n'a pas retourné de résultat valide.") # Erreur de récupération des paramètres return(list(date = NA, message ="track_commit_timestamp n\'a pas retourn\u00e9 de r\u00e9sultat valide.")) # Erreur de récupération des paramètres
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment