#' @param con Le connecteur de classe PosgreSQLConnection.
#' @param schema Le nom du schema sur le serveur de données.
#' @param table Le nom de la table sur le serveur de données.
#'
#' @importFrom attempt stop_if
#' @importFrom DBI dbReadTable
#' @importFrom RPostgreSQL postgresqlpqExec
#' @return Un dataframe.
#' @export
get_data<-function(con=NULL,
schema=NULL,
table=NULL){
attempt::stop_if(con,is.null,msg="con n'est pas renseign\u00e9")
attempt::stop_if(schema,is.null,msg="schema n'est pas renseign\u00e9")
attempt::stop_if(table,is.null,msg="table n'est pas renseign\u00e9")
data<-DBI::dbReadTable(con,c(schema,table))
return(data)
}
#' import d'un dataset du serveur
#'
#' @param con Le connecteur de classe PosgreSQLConnection.
#' @param schema Le nom du schema sur le serveur de données.
#' @param table Le nom de la table sur le serveur de données.
#' @importFrom attempt stop_if
#' @importFrom DBI dbSendQuery dbReadTable Id
#'
#' @return un dataframe
#' @export
get_data_dbi<-function(con=NULL,
schema=NULL,
table=NULL){
attempt::stop_if(con,is.null,msg="con n'est pas renseign\u00e9")
attempt::stop_if(schema,is.null,msg="schema n'est pas renseign\u00e9")
attempt::stop_if(table,is.null,msg="table n'est pas renseign\u00e9")
tbl<-DBI::Id(schema=schema,table=table)
data<-DBI::dbReadTable(con,tbl)
return(data)
}
#' Import d'une table a partir du serveur de donnees, fonction qui s'adapte aux types de table a charger : recuperation des modalites des facteurs si chargee avec {rpostgis}, sf dataframe si table geographique.
#'
#' @param table Le nom de la table presente sur le serveur de données.
attempt::stop_if(table%in%list_tables(con,schema)&!overwrite,msg=glue::glue("La table {table} existe d\u00e9j\u00e0 sur le schema {schema} et le param\u00e8 tre overwrite est \u00e0 FALSE"))
attempt::message_if(table%in%list_tables(con,schema)&overwrite,msg=glue::glue("La table {table} est \u00e9cras\u00e9e sur le schema {schema}"))
attempt::stop_if(table%in%list_tables(con,schema)&!overwrite,msg=glue::glue("La table {table} existe d\u00e9j\u00e0 sur le schema {schema} et le param\u00e8 tre overwrite est \u00e0 FALSE"))
#' Chargement d'un dataset sur le serveur avec rpostgis. Par rapport aux autres fonctions `post_data()`, `post_data_pg()` ouvre et ferme la connexion au SGBD, gere les dataframes spatiaux et les facteurs, et poste quelques metadonnees en commentaire de la table.
#'
#' @param data Un dataframe a verser sur le serveur de donnees.
attempt::stop_if(table%in%list_tables(con,schema)&!overwrite,msg=glue::glue("La table {table} existe d\u00e9j\u00e0 sur le schema {schema} et le param\u00e8 tre overwrite est \u00e0 FALSE"))
attempt::message_if(table%in%list_tables(con,schema)&overwrite,msg=glue::glue("La table {table} est \u00e9cras\u00e9e sur le schema {schema}"))
attempt::stop_if(table%in%list_tables(con,schema)&!overwrite,msg=glue::glue("La table {table} existe d\u00e9j\u00e0 sur le schema {schema} et le param\u00e8 tre overwrite est \u00e0 FALSE"))