Added the ability to get the last run query in R
This commit is contained in:
@@ -231,3 +231,9 @@ modb_use <- function(modb_name, override = FALSE, ...) {
|
|||||||
res <- .Call(c_rmodb_use, conn_ref, modb_name, as.logical(override))
|
res <- .Call(c_rmodb_use, conn_ref, modb_name, as.logical(override))
|
||||||
return(res)
|
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);
|
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_use(SEXP r_conn_ref, SEXP r_name, SEXP r_override);
|
||||||
|
|
||||||
|
|
||||||
|
SEXP rmodb_getLastQuery(SEXP r_conn_ref);
|
||||||
|
|
||||||
#endif // H__R_MODB_MANAGE__
|
#endif // H__R_MODB_MANAGE__
|
||||||
|
|||||||
Reference in New Issue
Block a user