Skip to content

Commit 6095de8

Browse files
Remove ToArray() and change ToString() to internal GetString()
1 parent ce08877 commit 6095de8

File tree

8 files changed

+18
-65
lines changed

8 files changed

+18
-65
lines changed

doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,5 @@
4545
<Memory>
4646
<summary>Returns the vector values as a memory region. No copies are made.</summary>
4747
</Memory>
48-
<ToArray>
49-
<summary>Returns an array representing the vector values.</summary>
50-
</ToArray>
51-
<ToString>
52-
<summary>Returns a JSON string representation of the vector. A new string is generated each time you call this method.</summary>
53-
<returns>A JSON <see cref="T:System.String"/> value.</returns>
54-
</ToString>
5548
</members>
5649
</docs>

src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,6 @@ public SqlVector(System.ReadOnlyMemory<T> memory) { }
140140
public int Size { get { throw null; } }
141141
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/Memory/*' />
142142
public System.ReadOnlyMemory<T> Memory { get { throw null; } }
143-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToString/*' />
144-
public override string ToString() { throw null; }
145-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToArray/*' />
146-
public T[] ToArray() { throw null; }
147143
}
148144
}
149145
namespace Microsoft.Data.SqlClient

src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2434,9 +2434,5 @@ public SqlVector(System.ReadOnlyMemory<T> memory) { }
24342434
public int Size { get { throw null; } }
24352435
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/Memory/*' />
24362436
public System.ReadOnlyMemory<T> Memory { get { throw null; } }
2437-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToString/*' />
2438-
public override string ToString() { throw null; }
2439-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToArray/*' />
2440-
public T[] ToArray() { throw null; }
24412437
}
24422438
}

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBuffer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ internal string String
513513
switch (elementType)
514514
{
515515
case MetaType.SqlVectorElementType.Float32:
516-
return GetSqlVector<float>().ToString();
516+
return GetSqlVector<float>().GetString();
517517
default:
518518
throw SQL.VectorTypeNotSupported(elementType.ToString());
519519
}
@@ -958,7 +958,7 @@ internal SqlString SqlString
958958
switch (elementType)
959959
{
960960
case MetaType.SqlVectorElementType.Float32:
961-
return new SqlString(GetSqlVector<float>().ToString());
961+
return new SqlString(GetSqlVector<float>().GetString());
962962
default:
963963
throw SQL.VectorTypeNotSupported(elementType.ToString());
964964
}

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3368,7 +3368,7 @@ private T GetFieldValueFromSqlBufferInternal<T>(SqlBuffer data, _SqlMetaData met
33683368
if (data.IsNull)
33693369
return (T)(object)data.String;
33703370
else
3371-
return (T)(object)data.GetSqlVector<float>().ToString();
3371+
return (T)(object)data.GetSqlVector<float>().GetString();
33723372
}
33733373
// the requested type is likely to be one that isn't supported so try the cast and
33743374
// unless there is a null value conversion then feedback the cast exception with

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ public sealed class SqlVector<T> : INullable, ISqlVector
3131
private readonly byte _elementType;
3232
private readonly byte _elementSize;
3333
private readonly byte[] _tdsBytes;
34-
private T[] _array;
35-
34+
3635
#endregion
3736

3837
#region Constructors
@@ -53,7 +52,6 @@ public SqlVector(int length)
5352
Size = TdsEnums.VECTOR_HEADER_SIZE + (_elementSize * Length);
5453

5554
_tdsBytes = Array.Empty<byte>();
56-
_array = Array.Empty<T>();
5755
Memory = new();
5856
}
5957

@@ -68,7 +66,6 @@ public SqlVector(ReadOnlyMemory<T> memory)
6866
Size = TdsEnums.VECTOR_HEADER_SIZE + (_elementSize * Length);
6967

7068
_tdsBytes = MakeTdsBytes(memory);
71-
_array = memory.ToArray();
7269
Memory = memory;
7370
}
7471

@@ -81,16 +78,14 @@ internal SqlVector(byte[] tdsBytes)
8178
IsNull = false;
8279

8380
_tdsBytes = tdsBytes;
84-
_array = MakeArray();
85-
Memory = new(_array);
81+
Memory = new(MakeArray());
8682
}
8783

8884
#endregion
8985

9086
#region Methods
9187

92-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToString/*' />
93-
public override string ToString()
88+
internal string GetString()
9489
{
9590
if (IsNull)
9691
{
@@ -99,12 +94,6 @@ public override string ToString()
9994
return JsonSerializer.Serialize(Memory);
10095
}
10196

102-
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlTypes/SqlVector.xml' path='docs/members[@name="SqlVector"]/ToArray/*' />
103-
public T[] ToArray()
104-
{
105-
return _array;
106-
}
107-
10897
#endregion
10998

11099
#region Properties

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/VectorTest/VectorTypeBackwardCompatibilityTests.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,6 @@ public void TestVectorDataReadsAsVarchar()
275275
dbData = JsonSerializer.Deserialize<float[]>(result)!;
276276
Assert.Equal(data, dbData);
277277

278-
//Read using GetValue.ToString()
279-
result = reader.GetValue(0).ToString()!;
280-
dbData = JsonSerializer.Deserialize<float[]>(result)!;
281-
Assert.Equal(data, dbData);
282-
283278
//Read using GetFieldValue<string>
284279
result = reader.GetFieldValue<string>(0);
285280
dbData = JsonSerializer.Deserialize<float[]>(result)!;
@@ -303,10 +298,6 @@ public void TestVectorDataReadsAsVarchar()
303298
//Read using GetSqlString
304299
Assert.Throws<SqlNullValueException>(() => reader.GetString(0));
305300

306-
//Read using GetValue.ToString()
307-
result = reader.GetValue(0).ToString();
308-
Assert.Equal(string.Empty, result);
309-
310301
//Read using GetFieldValue<string>
311302
Assert.Throws<SqlNullValueException>(() => reader.GetFieldValue<string>(0));
312303
}
@@ -341,11 +332,6 @@ public async Task TestVectorDataReadsAsVarcharAsync()
341332
dbData = JsonSerializer.Deserialize<float[]>(result)!;
342333
Assert.Equal(data, dbData);
343334

344-
//Read using GetValue.ToString()
345-
result = reader.GetValue(0).ToString()!;
346-
dbData = JsonSerializer.Deserialize<float[]>(result)!;
347-
Assert.Equal(data, dbData);
348-
349335
//Read using GetFieldValue<string>
350336
result = await reader.GetFieldValueAsync<string>(0);
351337
dbData = JsonSerializer.Deserialize<float[]>(result)!;
@@ -369,10 +355,6 @@ public async Task TestVectorDataReadsAsVarcharAsync()
369355
//Read using GetSqlString
370356
Assert.Throws<SqlNullValueException>(() => reader2.GetString(0));
371357

372-
//Read using GetValue.ToString()
373-
result = reader2.GetValue(0).ToString();
374-
Assert.Equal(string.Empty, result);
375-
376358
//Read using GetFieldValueAsync<string>
377359
await Assert.ThrowsAsync<SqlNullValueException>(async () => await reader2.GetFieldValueAsync<string>(0));
378360
}

src/Microsoft.Data.SqlClient/tests/UnitTests/SqlVectorTest.cs

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ public void Construct_Length()
4040
// to the same memory. We want to check memory content equality, so we
4141
// compare their arrays instead.
4242
Assert.Equal(new ReadOnlyMemory<float>().ToArray(), vec.Memory.ToArray());
43-
Assert.Equal(Array.Empty<float>(), vec.ToArray());
44-
Assert.Equal(SQLResource.NullString, vec.ToString());
43+
Assert.Equal(SQLResource.NullString, vec.GetString());
4544

4645
var ivec = vec as ISqlVector;
4746
Assert.Equal(0x00, ivec.ElementType);
@@ -60,8 +59,7 @@ public void Construct_WithLengthZero()
6059
// to the same memory. We want to check memory content equality, so we
6160
// compare their arrays instead.
6261
Assert.Equal(new ReadOnlyMemory<float>().ToArray(), vec.Memory.ToArray());
63-
Assert.Equal(Array.Empty<float>(), vec.ToArray());
64-
Assert.Equal(SQLResource.NullString, vec.ToString());
62+
Assert.Equal(SQLResource.NullString, vec.GetString());
6563

6664
var ivec = vec as ISqlVector;
6765
Assert.Equal(0x00, ivec.ElementType);
@@ -77,8 +75,7 @@ public void Construct_Memory_Empty()
7775
Assert.Equal(0, vec.Length);
7876
Assert.Equal(8, vec.Size);
7977
Assert.Equal(new ReadOnlyMemory<float>().ToArray(), vec.Memory.ToArray());
80-
Assert.Equal(Array.Empty<float>(), vec.ToArray());
81-
Assert.Equal("[]", vec.ToString());
78+
Assert.Equal("[]", vec.GetString());
8279

8380
var ivec = vec as ISqlVector;
8481
Assert.Equal(0x00, ivec.ElementType);
@@ -98,11 +95,11 @@ public void Construct_Memory()
9895
Assert.Equal(2, vec.Length);
9996
Assert.Equal(16, vec.Size);
10097
Assert.Equal(memory.ToArray(), vec.Memory.ToArray());
101-
Assert.Equal(data, vec.ToArray());
98+
Assert.Equal(data, vec.Memory.ToArray());
10299
#if NETFRAMEWORK
103-
Assert.Equal("[1.10000002,2.20000005]", vec.ToString());
100+
Assert.Equal("[1.10000002,2.20000005]", vec.GetString());
104101
#else
105-
Assert.Equal("[1.1,2.2]", vec.ToString());
102+
Assert.Equal("[1.1,2.2]", vec.GetString());
106103
#endif
107104
var ivec = vec as ISqlVector;
108105
Assert.Equal(0x00, ivec.ElementType);
@@ -123,11 +120,11 @@ public void Construct_Memory_ImplicitConversionFromFloatArray()
123120
Assert.Equal(3, vec.Length);
124121
Assert.Equal(20, vec.Size);
125122
Assert.Equal(new ReadOnlyMemory<float>(data).ToArray(), vec.Memory.ToArray());
126-
Assert.Equal(data, vec.ToArray());
123+
Assert.Equal(data, vec.Memory.ToArray());
127124
#if NETFRAMEWORK
128-
Assert.Equal("[3.29999995,4.4000001,5.5]", vec.ToString());
125+
Assert.Equal("[3.29999995,4.4000001,5.5]", vec.GetString());
129126
#else
130-
Assert.Equal("[3.3,4.4,5.5]", vec.ToString());
127+
Assert.Equal("[3.3,4.4,5.5]", vec.GetString());
131128
#endif
132129

133130
var ivec = vec as ISqlVector;
@@ -154,11 +151,11 @@ public void Construct_Bytes()
154151
Assert.Equal(2, vec.Length);
155152
Assert.Equal(16, vec.Size);
156153
Assert.Equal(new ReadOnlyMemory<float>(data).ToArray(), vec.Memory.ToArray());
157-
Assert.Equal(data, vec.ToArray());
154+
Assert.Equal(data, vec.Memory.ToArray());
158155
#if NETFRAMEWORK
159-
Assert.Equal("[6.5999999,7.69999981]", vec.ToString());
156+
Assert.Equal("[6.5999999,7.69999981]", vec.GetString());
160157
#else
161-
Assert.Equal("[6.6,7.7]", vec.ToString());
158+
Assert.Equal("[6.6,7.7]", vec.GetString());
162159
#endif
163160

164161
var ivec = vec as ISqlVector;

0 commit comments

Comments
 (0)