hrbrmstr / metis

Helpers for Accessing and Querying Amazon Athena using R, Including a lightweight RJDBC shim
Other
16 stars 2 forks source link

Could not find function ".jcall" #4

Closed zdk123 closed 5 years ago

zdk123 commented 6 years ago

Love the package.

However, for any call to dbGetQuery I get the error:

Error in .jcall(r@stat, "V", "close") : could not find function ".jcall"

Since JDBC depends on rJava, rJava::.jcall is not available unless rJava is explicitly loaded by the user.

The solution here is straightforward. Add rJava to the DESCRIPTION file imports section and add the royxygen2 importFrom tag. A PR with these changes is imminent, if you agree with this style.

hrbrmstr commented 6 years ago

Sure, but can you paste in your sessionInfo() since I do have RDJBC in the Depends: and that package has:

Depends: methods, DBI, rJava (>= 0.4-15), R (>= 2.4.0)

and that shld cascade (global environment-wise without the need for a redundancy in metis Depends:).

plus I don't have the issue you're having (I use this package daily).

I also seem to have gotten lazy with this and I shld have prefixed all the calls with the pkg. I

zdk123 commented 6 years ago
sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-apple-darwin16.7.0 (64-bit)
Running under: macOS Sierra 10.12.6

Matrix products: default
BLAS/LAPACK: /usr/local/Cellar/openblas/0.2.20_1/lib/libopenblasp-r0.2.20.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] devtools_1.13.5

From this, I realize the issue is only when calling metis::dbGetQuery(... ) (rJava does not get loaded, since metis is not explicitly attached).

Since I'm using metis for a utility package, I change change the import behavior on my end.