diff --git a/src/other/tables.jl b/src/other/tables.jl index 235d79578e..01ab111137 100644 --- a/src/other/tables.jl +++ b/src/other/tables.jl @@ -2,7 +2,7 @@ Tables.istable(::Type{<:AbstractDataFrame}) = true Tables.columnaccess(::Type{<:AbstractDataFrame}) = true Tables.columns(df::AbstractDataFrame) = df Tables.rowaccess(::Type{<:AbstractDataFrame}) = true -Tables.rows(df::AbstractDataFrame) = Tables.rows(columntable(df)) +Tables.rows(df::AbstractDataFrame) = eachrow(df) Tables.schema(df::AbstractDataFrame) = Tables.Schema(names(df), eltype.(eachcol(df))) Tables.materializer(df::AbstractDataFrame) = DataFrame @@ -71,6 +71,6 @@ prefer_singleton_callable(f) = f struct SingletonCallable{T} end (::SingletonCallable{T})(x) where T = T(x) -IteratorInterfaceExtensions.getiterator(df::AbstractDataFrame) = Tables.datavaluerows(df) +IteratorInterfaceExtensions.getiterator(df::AbstractDataFrame) = Tables.datavaluerows(columntable(df)) IteratorInterfaceExtensions.isiterable(x::AbstractDataFrame) = true TableTraits.isiterabletable(x::AbstractDataFrame) = true diff --git a/test/tables.jl b/test/tables.jl index 2ec4ce2cf8..c3eb6fddba 100644 --- a/test/tables.jl +++ b/test/tables.jl @@ -70,7 +70,7 @@ Base.propertynames(d::DuplicateNamesColumnTable) = (:a, :a, :b) @test @inferred(Tables.materializer(table)(Tables.columns(table))) isa typeof(table) row = first(Tables.rows(table)) - @test propertynames(row) == (:a, :b) + @test collect(propertynames(row)) == [:a, :b] @test getproperty(row, :a) == 1 @test getproperty(row, :b) == :a end