dotnet / machinelearning

ML.NET is an open source and cross-platform machine learning framework for .NET.
https://dot.net/ml
MIT License
8.93k stars 1.86k forks source link

DataFrame incorrectly sets column value for index higher than Buffer.MaxCapacity #6849

Closed asmirnov82 closed 9 months ago

asmirnov82 commented 9 months ago

Fixes #6847

Issue was in PrimitiveColumnContainer Setter.

SetValidityBit(rowIndex, true) method accepts rowIndex as a parameter. Before the PR offset in the last buffer was used instead

asmirnov82 commented 9 months ago

@JakeRadMSFT

codecov[bot] commented 9 months ago

Codecov Report

Merging #6849 (607bc8c) into main (7fe293d) will increase coverage by 0.02%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #6849      +/-   ##
==========================================
+ Coverage   69.03%   69.06%   +0.02%     
==========================================
  Files        1237     1237              
  Lines      253612   253620       +8     
  Branches    26571    26571              
==========================================
+ Hits       175092   175169      +77     
+ Misses      71567    71492      -75     
- Partials     6953     6959       +6     
Flag Coverage Δ
Debug 69.06% <100.00%> (+0.02%) :arrow_up:
production 63.62% <100.00%> (+0.03%) :arrow_up:
test 88.88% <100.00%> (+<0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...icrosoft.Data.Analysis/PrimitiveColumnContainer.cs 84.43% <100.00%> (ø)
test/Microsoft.Data.Analysis.Tests/BufferTests.cs 99.65% <100.00%> (+<0.01%) :arrow_up:

... and 9 files with indirect coverage changes