From b52b31ce619d7fab4c28b164440ebbaf9260b0cd Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Sun, 14 May 2023 12:07:53 +0300 Subject: [PATCH 1/2] Fix DataFrame Merge issue --- .../BooleanDataFrameColumn.cs | 10 ++++ .../ByteDataFrameColumn.cs | 10 ++++ .../CharDataFrameColumn.cs | 10 ++++ .../DataFrameColumnCollection.cs | 17 +++++++ .../DateTimeDataFrameColumn.cs | 10 ++++ .../DecimalDataFrameColumn.cs | 10 ++++ .../DoubleDataFrameColumn.cs | 10 ++++ .../Int16DataFrameColumn.cs | 10 ++++ .../Int32DataFrameColumn.cs | 10 ++++ .../Int64DataFrameColumn.cs | 10 ++++ .../PrimitiveDataFrameColumn.cs | 17 +++++-- .../SByteDataFrameColumn.cs | 10 ++++ .../SingleDataFrameColumn.cs | 10 ++++ .../UInt16DataFrameColumn.cs | 10 ++++ .../UInt32DataFrameColumn.cs | 10 ++++ .../UInt64DataFrameColumn.cs | 10 ++++ .../DataFrame.IOTests.cs | 2 + .../DataFrameTests.cs | 50 +++++++++++++++++++ 18 files changed, 223 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.Data.Analysis/BooleanDataFrameColumn.cs b/src/Microsoft.Data.Analysis/BooleanDataFrameColumn.cs index 982463d182..cc9d6e5a6e 100644 --- a/src/Microsoft.Data.Analysis/BooleanDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/BooleanDataFrameColumn.cs @@ -19,5 +19,15 @@ public BooleanDataFrameColumn(string name, long length = 0) : base(name, length) public BooleanDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal BooleanDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new BooleanDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new BooleanDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/ByteDataFrameColumn.cs b/src/Microsoft.Data.Analysis/ByteDataFrameColumn.cs index 369e6d33ee..d341e2cd16 100644 --- a/src/Microsoft.Data.Analysis/ByteDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/ByteDataFrameColumn.cs @@ -19,5 +19,15 @@ public ByteDataFrameColumn(string name, long length = 0) : base(name, length) { public ByteDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal ByteDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new ByteDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new ByteDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/CharDataFrameColumn.cs b/src/Microsoft.Data.Analysis/CharDataFrameColumn.cs index 1dcedc4fc9..8abbc3f335 100644 --- a/src/Microsoft.Data.Analysis/CharDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/CharDataFrameColumn.cs @@ -19,5 +19,15 @@ public CharDataFrameColumn(string name, long length = 0) : base(name, length) { public CharDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal CharDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new CharDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new CharDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/DataFrameColumnCollection.cs b/src/Microsoft.Data.Analysis/DataFrameColumnCollection.cs index 0701588f3f..d4e074e070 100644 --- a/src/Microsoft.Data.Analysis/DataFrameColumnCollection.cs +++ b/src/Microsoft.Data.Analysis/DataFrameColumnCollection.cs @@ -199,6 +199,23 @@ public PrimitiveDataFrameColumn GetPrimitiveColumn(string name) throw new ArgumentException(string.Format(Strings.BadColumnCast, column.DataType, typeof(T)), nameof(T)); } + /// + /// Gets the with the specified . + /// + /// The name of the column + /// . + /// A column named cannot be found, or if the column's type doesn't match. + public DateTimeDataFrameColumn GetDateTimeColumn(string name) + { + DataFrameColumn column = this[name]; + if (column is DateTimeDataFrameColumn ret) + { + return ret; + } + + throw new ArgumentException(string.Format(Strings.BadColumnCast, column.DataType, typeof(DateTime))); + } + /// /// Gets the with the specified . /// diff --git a/src/Microsoft.Data.Analysis/DateTimeDataFrameColumn.cs b/src/Microsoft.Data.Analysis/DateTimeDataFrameColumn.cs index 2bb875f66c..63d1577fd6 100644 --- a/src/Microsoft.Data.Analysis/DateTimeDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/DateTimeDataFrameColumn.cs @@ -19,5 +19,15 @@ public DateTimeDataFrameColumn(string name, long length = 0) : base(name, length public DateTimeDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal DateTimeDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new DateTimeDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new DateTimeDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/DecimalDataFrameColumn.cs b/src/Microsoft.Data.Analysis/DecimalDataFrameColumn.cs index b0b4fafd04..e39155cd55 100644 --- a/src/Microsoft.Data.Analysis/DecimalDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/DecimalDataFrameColumn.cs @@ -19,5 +19,15 @@ public DecimalDataFrameColumn(string name, long length = 0) : base(name, length) public DecimalDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal DecimalDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new DecimalDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new DecimalDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/DoubleDataFrameColumn.cs b/src/Microsoft.Data.Analysis/DoubleDataFrameColumn.cs index 6a97300376..90500eb860 100644 --- a/src/Microsoft.Data.Analysis/DoubleDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/DoubleDataFrameColumn.cs @@ -19,5 +19,15 @@ public DoubleDataFrameColumn(string name, long length = 0) : base(name, length) public DoubleDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal DoubleDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new DoubleDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new DoubleDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/Int16DataFrameColumn.cs b/src/Microsoft.Data.Analysis/Int16DataFrameColumn.cs index 79893b1899..c4bdd3ae07 100644 --- a/src/Microsoft.Data.Analysis/Int16DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/Int16DataFrameColumn.cs @@ -19,5 +19,15 @@ public Int16DataFrameColumn(string name, long length = 0) : base(name, length) { public Int16DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal Int16DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new Int16DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new Int16DataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/Int32DataFrameColumn.cs b/src/Microsoft.Data.Analysis/Int32DataFrameColumn.cs index 91b15764cd..bd80092db7 100644 --- a/src/Microsoft.Data.Analysis/Int32DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/Int32DataFrameColumn.cs @@ -19,5 +19,15 @@ public Int32DataFrameColumn(string name, long length = 0) : base(name, length) { public Int32DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal Int32DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new Int32DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new Int32DataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/Int64DataFrameColumn.cs b/src/Microsoft.Data.Analysis/Int64DataFrameColumn.cs index f955404152..2bea8c8630 100644 --- a/src/Microsoft.Data.Analysis/Int64DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/Int64DataFrameColumn.cs @@ -19,5 +19,15 @@ public Int64DataFrameColumn(string name, long length = 0) : base(name, length) { public Int64DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal Int64DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new Int64DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new Int64DataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs index 113b67cc1c..791b92b556 100644 --- a/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/PrimitiveDataFrameColumn.cs @@ -188,6 +188,16 @@ protected override IReadOnlyList GetValues(long startIndex, int length) return ret; } + internal virtual PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new PrimitiveDataFrameColumn(name, container); + } + + protected virtual PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new PrimitiveDataFrameColumn(name, length); + } + internal T? GetTypedValue(long rowIndex) => _columnContainer[rowIndex]; protected override object GetValue(long rowIndex) => GetTypedValue(rowIndex); @@ -379,7 +389,7 @@ private PrimitiveDataFrameColumn Clone(PrimitiveDataFrameColumn boolCol { if (boolColumn.Length > Length) throw new ArgumentException(Strings.MapIndicesExceedsColumnLenth, nameof(boolColumn)); - PrimitiveDataFrameColumn ret = new PrimitiveDataFrameColumn(Name); + PrimitiveDataFrameColumn ret = CreateNewColumn(Name); for (long i = 0; i < boolColumn.Length; i++) { bool? value = boolColumn[i]; @@ -406,7 +416,8 @@ private PrimitiveDataFrameColumn CloneImplementation(PrimitiveDataFrameCol } else throw new NotImplementedException(); - PrimitiveDataFrameColumn ret = new PrimitiveDataFrameColumn(Name, retContainer); + + PrimitiveDataFrameColumn ret = CreateNewColumn(Name, retContainer); return ret; } @@ -415,7 +426,7 @@ public PrimitiveDataFrameColumn Clone(PrimitiveDataFrameColumn mapIndic if (mapIndices is null) { PrimitiveColumnContainer newColumnContainer = _columnContainer.Clone(); - return new PrimitiveDataFrameColumn(Name, newColumnContainer); + return CreateNewColumn(Name, newColumnContainer); } else { diff --git a/src/Microsoft.Data.Analysis/SByteDataFrameColumn.cs b/src/Microsoft.Data.Analysis/SByteDataFrameColumn.cs index 731614da72..6a0f44315e 100644 --- a/src/Microsoft.Data.Analysis/SByteDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/SByteDataFrameColumn.cs @@ -19,5 +19,15 @@ public SByteDataFrameColumn(string name, long length = 0) : base(name, length) { public SByteDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal SByteDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new SByteDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new SByteDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/SingleDataFrameColumn.cs b/src/Microsoft.Data.Analysis/SingleDataFrameColumn.cs index e6be6255d0..642950dd68 100644 --- a/src/Microsoft.Data.Analysis/SingleDataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/SingleDataFrameColumn.cs @@ -19,5 +19,15 @@ public SingleDataFrameColumn(string name, long length = 0) : base(name, length) public SingleDataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal SingleDataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new SingleDataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new SingleDataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/UInt16DataFrameColumn.cs b/src/Microsoft.Data.Analysis/UInt16DataFrameColumn.cs index e56cdca7f3..66f6d625ac 100644 --- a/src/Microsoft.Data.Analysis/UInt16DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/UInt16DataFrameColumn.cs @@ -19,5 +19,15 @@ public UInt16DataFrameColumn(string name, long length = 0) : base(name, length) public UInt16DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal UInt16DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new UInt16DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new UInt16DataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/UInt32DataFrameColumn.cs b/src/Microsoft.Data.Analysis/UInt32DataFrameColumn.cs index af114ff41e..63ffd24554 100644 --- a/src/Microsoft.Data.Analysis/UInt32DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/UInt32DataFrameColumn.cs @@ -19,5 +19,15 @@ public UInt32DataFrameColumn(string name, long length = 0) : base(name, length) public UInt32DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal UInt32DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new UInt32DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new UInt32DataFrameColumn(name, container); + } } } diff --git a/src/Microsoft.Data.Analysis/UInt64DataFrameColumn.cs b/src/Microsoft.Data.Analysis/UInt64DataFrameColumn.cs index cb74704319..5214ccb706 100644 --- a/src/Microsoft.Data.Analysis/UInt64DataFrameColumn.cs +++ b/src/Microsoft.Data.Analysis/UInt64DataFrameColumn.cs @@ -19,5 +19,15 @@ public UInt64DataFrameColumn(string name, long length = 0) : base(name, length) public UInt64DataFrameColumn(string name, ReadOnlyMemory buffer, ReadOnlyMemory nullBitMap, int length = 0, int nullCount = 0) : base(name, buffer, nullBitMap, length, nullCount) { } internal UInt64DataFrameColumn(string name, PrimitiveColumnContainer values) : base(name, values) { } + + protected override PrimitiveDataFrameColumn CreateNewColumn(string name, long length = 0) + { + return new UInt64DataFrameColumn(name, length); + } + + internal override PrimitiveDataFrameColumn CreateNewColumn(string name, PrimitiveColumnContainer container) + { + return new UInt64DataFrameColumn(name, container); + } } } diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs index 398e849907..fa18cd1e77 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs @@ -1049,6 +1049,7 @@ public void TestSaveToDataTable() Assert.Equal(vals, resVals); } + /* [X86X64FactAttribute("The SQLite un-managed code, SQLite.interop, only supports x86/x64 architectures.")] public async void TestSQLite() { @@ -1076,6 +1077,7 @@ public async void TestSQLite() CleanupSQLiteDb(); } } + */ static void AssertEqual(DataFrame dataFrame, (string name, Type type)[] columns, object[][] vals) { diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs index 1695ded747..a2f9645068 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrameTests.cs @@ -2659,6 +2659,56 @@ public void TestMerge_Issue5778() MatchRowsOnMergedDataFrame(merge, left, right, 1, 1, 0); } + [Fact] + //Issue 6127 + public void TestMerge_CorrectColumnTypes() + { + DataFrame left = MakeDataFrameWithAllMutableColumnTypes(2, false); + DataFrame right = MakeDataFrameWithAllMutableColumnTypes(1); + + DataFrame merge = left.Merge(right, "Int", "Int"); + + Assert.NotNull(merge.Columns.GetBooleanColumn("Bool_left")); + Assert.NotNull(merge.Columns.GetBooleanColumn("Bool_right")); + + Assert.NotNull(merge.Columns.GetDecimalColumn("Decimal_left")); + Assert.NotNull(merge.Columns.GetDecimalColumn("Decimal_right")); + + Assert.NotNull(merge.Columns.GetSingleColumn("Float_left")); + Assert.NotNull(merge.Columns.GetSingleColumn("Float_right")); + + Assert.NotNull(merge.Columns.GetDoubleColumn("Double_left")); + Assert.NotNull(merge.Columns.GetDoubleColumn("Double_right")); + + Assert.NotNull(merge.Columns.GetByteColumn("Byte_left")); + Assert.NotNull(merge.Columns.GetByteColumn("Byte_right")); + + Assert.NotNull(merge.Columns.GetCharColumn("Char_left")); + Assert.NotNull(merge.Columns.GetCharColumn("Char_right")); + + Assert.NotNull(merge.Columns.GetInt16Column("Short_left")); + Assert.NotNull(merge.Columns.GetInt16Column("Short_right")); + + Assert.NotNull(merge.Columns.GetUInt16Column("Ushort_left")); + Assert.NotNull(merge.Columns.GetUInt16Column("Ushort_right")); + + Assert.NotNull(merge.Columns.GetInt32Column("Int_left")); + Assert.NotNull(merge.Columns.GetInt32Column("Int_right")); + + Assert.NotNull(merge.Columns.GetUInt32Column("Uint_left")); + Assert.NotNull(merge.Columns.GetUInt32Column("Uint_right")); + + Assert.NotNull(merge.Columns.GetInt64Column("Long_left")); + Assert.NotNull(merge.Columns.GetInt64Column("Long_right")); + + Assert.NotNull(merge.Columns.GetUInt64Column("Ulong_left")); + Assert.NotNull(merge.Columns.GetUInt64Column("Ulong_right")); + + Assert.NotNull(merge.Columns.GetDateTimeColumn("DateTime_left")); + Assert.NotNull(merge.Columns.GetDateTimeColumn("DateTime_right")); + + } + [Fact] public void TestDescription() { From 2522d8c5f76b91ea9590fa91296eb22d9e06254b Mon Sep 17 00:00:00 2001 From: Aleksei Smirnov Date: Wed, 17 May 2023 23:14:36 +0300 Subject: [PATCH 2/2] Return commented test --- test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs b/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs index fa18cd1e77..398e849907 100644 --- a/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs +++ b/test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs @@ -1049,7 +1049,6 @@ public void TestSaveToDataTable() Assert.Equal(vals, resVals); } - /* [X86X64FactAttribute("The SQLite un-managed code, SQLite.interop, only supports x86/x64 architectures.")] public async void TestSQLite() { @@ -1077,7 +1076,6 @@ public async void TestSQLite() CleanupSQLiteDb(); } } - */ static void AssertEqual(DataFrame dataFrame, (string name, Type type)[] columns, object[][] vals) {