Submitted by: Matt Dowle; Assigned to: Nobody; R-Forge link
Export shallow().
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).
Submitted by: Matt Dowle; Assigned to: Nobody; R-Forge link
Export
shallow().would add reference counter attribute. (Both
DT2[1,a:=5L]ANDDT[1,a:=5L]would need to copy a. Maybe the ExternalPointer destructor could decrement as well, so arm(DT2)would automatically takeDTback to being the sole copy.Then with this in place,
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 induplicated.Rto save the copies of the by columns there. Upped priority for this part (easier).