Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ff::open.ff() and ff::close.ff() methods are not exported in version 4.0.2 #6

Open
prafols opened this issue Sep 25, 2020 · 2 comments

Comments

@prafols
Copy link

prafols commented Sep 25, 2020

I'm the author of the rMSIproc package which relies on ff for handling large datasets (sometimes several TB of data). My package creates multiple ff matrices and distribute data across them to handle such large data sizes. So, I use quite intensively ff::open.ff() and ff::close.ff() functions to free the file handlers that are not currently used and open them again when needed. This method allowed me to work on huge datasets.
In ff version 4.0.2 these methods are not exported anymore and therefore, my package stopped to work after updating R packages. I had to downgrade ff to 2.2-14.2 version to make it work again.

Could it be possible to re-export this functions or provide an alternative method?
Thanks!

@truecluster
Copy link
Owner

truecluster commented Sep 25, 2020

As I understand it, you could call 'open' and 'close' directly, because they are registered S3-Methods. For me the following works in a package importing ff
hello <- function() { x <- ff::ff(1:10); print(x); close(x); print(x); open(x); print(x); ff::delete(x); }.
The nasty thing is that one needs to prepend 'ff::' for exported functions and exported generics but not for S3-methods (which should be not exported as I understood).

@prafols
Copy link
Author

prafols commented Sep 28, 2020

Great! Just changed that in my package and is working again.
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants