[ 
https://issues.apache.org/jira/browse/ARROW-17495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17584703#comment-17584703
 ] 

Dragoș Moldovan-Grünfeld commented on ARROW-17495:
--------------------------------------------------

I can look into it (maybe after I finish with the capstone).

As far as I can tell, both {{.cache$functions}} and {{nse_funcs}} are created 
at load time. {{cache$functions}} is {{nse_funcs}} + Arrow Compute functions 
(prefixed with {{{}arrow_{}}}). 
I bumped into this while trying to register / translate a user-defined function 
with pre-existing bindings. I needed to update either {{cache.functions}} or 
{{nse_funcs}} - we can update the former via {{{}update_cache = TRUE{}}}, but 
then I had to change {{call_binding()}} to fetch from the updated {{cache}} and 
not from {{{}nse_funcs{}}}. This led me to think that folks might be confused 
by these 2 objects that overlap by quite a bit and are in some situations 
interchangeable (mostly nse_funcs can be replaced by {{cache$functions}} which 
includes it). 

> [R] arrow_eval: do we need both nse_funcs and .cache$functions?
> ---------------------------------------------------------------
>
>                 Key: ARROW-17495
>                 URL: https://issues.apache.org/jira/browse/ARROW-17495
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: R
>    Affects Versions: 9.0.0
>            Reporter: Dragoș Moldovan-Grünfeld
>            Priority: Minor
>
> Currently we have 2 copies of the same information, once in {{nse_funcs}} and 
> once in {{{}.cache$functions{}}}. I wasn't able to figure out the reason for 
> this. Maybe I am missing something or maybe this is just legacy code that we 
> can update.   



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to