Skip to content

Commit 803f632

Browse files
committed
supporting pushfirst! for DatasetColumn
1 parent cf112e7 commit 803f632

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/abstractdataset/dscol.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ function Base.popfirst!(col::SubOrDSCol)
5555
_modified(_attributes(parent(col.ds)))
5656
res
5757
end
58+
function Base.pushfirst!(col::SubOrDSCol, x)
59+
res = pushfirst!(__!(col), x)
60+
col.col index(parent(col.ds)).sortedcols && _reset_grouping_info!(parent(col.ds))
61+
_modified(_attributes(parent(col.ds)))
62+
res
63+
end
5864

5965

6066

src/abstractdataset/iteration.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ Base.show(dfcs::DatasetColumns;
308308
# prevent using broadcasting to mutate columns e.g. in pop!.(eachcol(ds))
309309
Base.broadcasted(::typeof(pop!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `pop!` over DatasetColums is reserved."))
310310
Base.broadcasted(::typeof(popfirst!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `popfirst!` over DatasetColums is reserved."))
311+
Base.broadcasted(::typeof(pushfirst!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `pushfirst!` over DatasetColums is reserved."))
311312
Base.broadcasted(::typeof(fill!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `fill!` over DatasetColums is reserved."))
312313
Base.broadcasted(::typeof(Statistics.median!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `median!` over DatasetColums is reserved."))
313314
Base.broadcasted(::typeof(sort!), ::DatasetColumns, args...) = throw(ArgumentError("broadcasting `sort!` over DatasetColums is reserved."))

0 commit comments

Comments
 (0)