@@ -80,8 +80,11 @@ Select(cols::T...) where {T<:ColSelector} =
8080isrevertible (:: Type{<:Select} ) = true
8181
8282function apply (transform:: Select , table)
83+ # original columns
84+ cols = Tables. columns (table)
85+
8386 # retrieve relevant column names
84- allcols = collect (Tables. columnnames (table ))
87+ allcols = collect (Tables. columnnames (cols ))
8588 select = choose (transform. colspec, allcols)
8689 reject = setdiff (allcols, select)
8790
@@ -95,9 +98,6 @@ function apply(transform::Select, table)
9598 reject = reject[sorted]
9699 rinds = rinds[sorted]
97100
98- # original columns
99- cols = Tables. columns (table)
100-
101101 # rejected columns
102102 rcols = [Tables. getcolumn (cols, name) for name in reject]
103103
107107function revert (:: Select , newtable, cache)
108108 # selected columns
109109 cols = Tables. columns (newtable)
110- select = Tables. columnnames (newtable )
110+ select = Tables. columnnames (cols )
111111 scols = [Tables. getcolumn (cols, name) for name in select]
112112
113113 # rejected columns
@@ -162,7 +162,8 @@ Reject(cols::T...) where {T<:ColSelector} =
162162isrevertible (:: Type{<:Reject} ) = true
163163
164164function apply (transform:: Reject , table)
165- allcols = Tables. columnnames (table)
165+ cols = Tables. columns (table)
166+ allcols = Tables. columnnames (cols)
166167 reject = choose (transform. colspec, allcols)
167168 select = setdiff (allcols, reject)
168169 strans = Select (select)
0 commit comments