Added the ability to get the last run query in R
This commit is contained in:
@@ -230,4 +230,10 @@ modb_use <- function(modb_name, override = FALSE, ...) {
|
||||
conn_ref <- modb_conn_ref(args = list(...))
|
||||
res <- .Call(c_rmodb_use, conn_ref, modb_name, as.logical(override))
|
||||
return(res)
|
||||
}
|
||||
|
||||
modb_get_last_query <- function(...) {
|
||||
conn_ref <- modb_conn_ref(args = list(...))
|
||||
res <- .Call(c_rmodb_getLastQuery, conn_ref)
|
||||
return(res)
|
||||
}
|
||||
@@ -236,3 +236,20 @@ SEXP rmodb_use(SEXP r_conn_ref, SEXP r_name, SEXP r_override)
|
||||
|
||||
return Rf_ScalarLogical(TRUE);
|
||||
}
|
||||
|
||||
|
||||
SEXP rmodb_getLastQuery(SEXP r_conn_ref)
|
||||
{
|
||||
stored_conn *sconn;
|
||||
SEXP r_res;
|
||||
|
||||
if ((sconn = getConnectionByRef(r_conn_ref)) == 0) {
|
||||
Rf_error("invalid connection reference\n");
|
||||
}
|
||||
|
||||
r_res = Rf_allocVector(STRSXP, 1);
|
||||
SET_STRING_ELT(r_res, 0, PROTECT(Rf_mkCharLen(sconn->last_qry, (int)sconn->last_qry_len)));
|
||||
|
||||
UNPROTECT(2);
|
||||
return r_res;
|
||||
}
|
||||
|
||||
@@ -24,4 +24,6 @@ SEXP rmodb_destroy(SEXP r_conn_ref, SEXP r_name);
|
||||
SEXP rmodb_use(SEXP r_conn_ref, SEXP r_name, SEXP r_override);
|
||||
|
||||
|
||||
SEXP rmodb_getLastQuery(SEXP r_conn_ref);
|
||||
|
||||
#endif // H__R_MODB_MANAGE__
|
||||
|
||||
Reference in New Issue
Block a user