#' diff implementation for GrafoDB
#'
#' Returns diffs as data and formulas
#'
#' @export
#' @param x GrafoDB instance
#' @param ... eventual GrafoDB instance; if not `stop`
#' @method diff GrafoDB
diff.GrafoDB <- function(x, ...) {
y <- list(...)[[1]]
stopifnot(is.grafodb(y))
not_common <- union(
setdiff(names(x), names(y)),
setdiff(names(y), names(x)))
if (length(not_common)) {
warning("not common names: ", paste0(not_common, collapse = ", "))
}
con <- build_connection()
on.exit(disconnect(con))
sql <- sql_by_key("DIFF_FORMULE", new = x@tag, old = y@tag, .con = con)
rutils::.trace("Diff query: %s", sql, name = "GrafoDB.diff")
df <- DBI::dbGetQuery(con, sql)
if (nrow(df)) {
colnames(df) <- c(
"name", x@tag, paste0(x@tag, "_autore"),
paste0(x@tag, "_last_updated"),
y@tag, paste0(y@tag, "_autore"),
paste0(y@tag, "_last_updated"))
}
df
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.