Skip to content

Commit 8cfff68

Browse files
committed
add parent for multifile
1 parent d24d7e1 commit 8cfff68

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

src/multifile.jl

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ function parentdataset(mfds::MFDataset)
7272
end
7373
end
7474

75-
Base.Array(v::MFVariable) = Array(v.var)
76-
7775
iswritable(mfds::MFDataset) = iswritable(mfds.ds[1])
7876

7977
function MFDataset(ds,aggdim,isnewdim,constvars)
@@ -176,18 +174,23 @@ function varnames(mfds::MFDataset)
176174
end
177175
end
178176

179-
Base.getindex(v::MFVariable,indexes::TIndices...) = getindex(v.var,indexes...)
180-
Base.setindex!(v::MFVariable,data,indexes::TIndices...) = setindex!(v.var,data,indexes...)
181-
182-
183-
load!(v::MFVariable,buffer,indexes...) = CatArrays.load!(v.var,buffer,indexes...)
177+
Base.parent(v::MFVariable) = v.var
178+
Base.parent(v::MFCFVariable) = v.var
179+
Base.Array(v::MFVariable) = Array(parent(v))
180+
Base.getindex(v::MFVariable,indexes::TIndices...) = getindex(parent(v),indexes...)
181+
Base.setindex!(v::MFVariable,data,indexes::TIndices...) = setindex!(parent(v),data,indexes...)
182+
Base.size(v::MFVariable) = size(parent(v))
183+
Base.size(v::MFCFVariable) = size(parent(v))
184+
Base.getindex(v::MFCFVariable,ind::TIndices...) = v.cfvar[ind...]
185+
Base.setindex!(v::MFCFVariable,data,ind::TIndices...) = v.cfvar[ind...] = data
186+
function Base.cat(vs::AbstractVariable...; dims::Integer)
187+
CatArrays.CatArray(dims,vs...)
188+
end
184189

185-
Base.size(v::MFVariable) = size(v.var)
186-
Base.size(v::MFCFVariable) = size(v.var)
190+
load!(v::MFVariable,buffer,indexes...) = CatArrays.load!(parent(v),buffer,indexes...)
187191
dimnames(v::MFVariable) = v.dimnames
188192
name(v::MFVariable) = v.varname
189193

190-
191194
function variable(mfds::MFDataset,varname::SymbolOrString)
192195
if mfds.isnewdim
193196
if Symbol(varname) in mfds.constvars
@@ -268,15 +271,6 @@ end
268271

269272
dataset(v::Union{MFVariable,MFCFVariable}) = v.ds
270273

271-
272-
Base.getindex(v::MFCFVariable,ind::TIndices...) = v.cfvar[ind...]
273-
Base.setindex!(v::MFCFVariable,data,ind::TIndices...) = v.cfvar[ind...] = data
274-
275-
276-
function Base.cat(vs::AbstractVariable...; dims::Integer)
277-
CatArrays.CatArray(dims,vs...)
278-
end
279-
280274
"""
281275
storage,chunksizes = chunking(v::MFVariable)
282276
storage,chunksizes = chunking(v::MFCFVariable)
@@ -299,6 +293,6 @@ end
299293
deflate(v::MFVariable) = deflate(v.ds.ds[1][name(v)])
300294
checksum(v::MFVariable) = checksum(v.ds.ds[1][name(v)])
301295

302-
chunking(v::MFCFVariable) = chunking(v.var)
303-
deflate(v::MFCFVariable) = deflate(v.var)
304-
checksum(v::MFCFVariable) = checksum(v.var)
296+
chunking(v::MFCFVariable) = chunking(parent(v))
297+
deflate(v::MFCFVariable) = deflate(parent(v))
298+
checksum(v::MFCFVariable) = checksum(parent(v))

0 commit comments

Comments
 (0)