Antoine Pitrou created ARROW-2052:
-------------------------------------

             Summary: Unify OwnedRef and ScopedRef
                 Key: ARROW-2052
                 URL: https://issues.apache.org/jira/browse/ARROW-2052
             Project: Apache Arrow
          Issue Type: Task
          Components: Python
    Affects Versions: 0.8.0
            Reporter: Antoine Pitrou


Currently {{OwnedRef}} and {{ScopedRef}} have similar semantics with small 
differences. Furtheremore, the naming distinction isn't obvious.

I propose to unify them as a single {{OwnedRef}} class with the following 
characteristics:
- doesn't take the GIL automatically
- has a {{release()}} method that decrefs the pointer (and sets the internal 
copy to NULL) before returning it
- has a {{detach()}} method that returns the pointer (and sets the internal 
copy to NULL) without decrefing it

For the rare situations where an {{OwnedRef}} may be destroyed with the GIL 
released, a {{OwnedRefNoGIL}} derived class would also be proposed (the naming 
scheme follows Cython here).

Opinions / comments?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to