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

[R-Forge #2296] Copy-on-:= at column level, DT[,list(...)] shallow copy and add cols to shallow(DT, cols) #617

Open
arunsrinivasan opened this issue Jun 8, 2014 · 1 comment

Comments

@arunsrinivasan
Copy link
Member

Submitted by: Matt Dowle; Assigned to: Nobody; R-Forge link

Export shallow().

DT2 = shallow(DT)

would add reference counter attribute. (Both DT2[1,a:=5L] AND DT[1,a:=5L] would need to copy a. Maybe the ExternalPointer destructor could decrement as well, so a rm(DT2) would automatically take DT back to being the sole copy.

Then with this in place,

DT[, cols, with=FALSE]  
# and 
DT[, list(col1,col2,...)]

could do shallow copies, too. See TO DO in source.

In the meantime, allow shallow() to accept a subset of columns and then use it in duplicated.R to save the copies of the by columns there. Upped priority for this part (easier).

@arunsrinivasan arunsrinivasan added this to the v1.9.6 milestone Sep 24, 2014
@arunsrinivasan
Copy link
Member Author

@mattdowle, the idea we recently discussed is already here (and written here in an even better fashion). Would be great to have this for next release! Also in my wish list for shallow() to accept a set of columns.. We could've shallow() and shallowv() like usual.

@arunsrinivasan arunsrinivasan modified the milestones: v1.9.6, v1.9.8 Oct 10, 2014
@eantonya eantonya self-assigned this Aug 4, 2015
@arunsrinivasan arunsrinivasan modified the milestones: v2.0.0, v1.9.8 Apr 10, 2016
@pakom pakom mentioned this issue Nov 30, 2016
33 tasks
@mattdowle mattdowle removed this from the Candidate milestone May 10, 2018
@mattdowle mattdowle added this to the 1.13.0 milestone Sep 18, 2019
@mattdowle mattdowle modified the milestones: 1.12.7, 1.12.9 Dec 8, 2019
@jangorecki jangorecki removed the High label Jun 8, 2020
@mattdowle mattdowle modified the milestones: 1.13.1, 1.13.3 Oct 17, 2020
@mattdowle mattdowle removed this from the 1.14.1 milestone Aug 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants