Skip to content

Commit cc58d79

Browse files
authored
Enhancement tasks for json support (#2891)
* some enhancements tasks for json support * added some missing drop table funtion * remove unique naming for tables and SPs
1 parent 0266b4a commit cc58d79

File tree

4 files changed

+28
-32
lines changed

4 files changed

+28
-32
lines changed

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,9 +1365,7 @@ private void Login(ServerInfo server, TimeoutTimer timeout, string newPassword,
13651365

13661366
// The SQLDNSCaching feature is implicitly set
13671367
requestedFeatures |= TdsEnums.FeatureExtension.SQLDNSCaching;
1368-
#if DEBUG
13691368
requestedFeatures |= TdsEnums.FeatureExtension.JsonSupport;
1370-
#endif
13711369
_parser.TdsLogin(login, requestedFeatures, _recoverySessionData, _fedAuthFeatureExtensionData, encrypt);
13721370
}
13731371

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1641,9 +1641,7 @@ private void Login(ServerInfo server, TimeoutTimer timeout, string newPassword,
16411641
// The SQLDNSCaching feature is implicitly set
16421642
requestedFeatures |= TdsEnums.FeatureExtension.SQLDNSCaching;
16431643

1644-
#if DEBUG
16451644
requestedFeatures |= TdsEnums.FeatureExtension.JsonSupport;
1646-
#endif
16471645

16481646
_parser.TdsLogin(login, requestedFeatures, _recoverySessionData, _fedAuthFeatureExtensionData, _originalNetworkAddressInfo, encrypt);
16491647
}

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonTest.cs

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,10 @@ private void ValidateSchema(SqlDataReader reader)
6464

6565
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
6666
public void TestJsonWrite()
67-
{
68-
string tableName = DataTestUtility.GetUniqueNameForSqlServer("Json_Test");
69-
string spName = DataTestUtility.GetUniqueNameForSqlServer("spJson_WriteTest");
70-
71-
string tableCreate = "CREATE TABLE " + tableName + " (Data json)";
67+
{
68+
string tableName = "jsonWriteTest";
69+
string spName = "spJsonWriteTest";
70+
7271
string tableInsert = "INSERT INTO " + tableName + " VALUES (@jsonData)";
7372
string spCreate = "CREATE PROCEDURE " + spName + " (@jsonData json) AS " + tableInsert;
7473

@@ -79,10 +78,10 @@ public void TestJsonWrite()
7978
using (SqlCommand command = connection.CreateCommand())
8079
{
8180
//Create Table
82-
command.CommandText = tableCreate;
83-
command.ExecuteNonQuery();
81+
DataTestUtility.CreateTable(connection, tableName, "(data json)");
8482

8583
//Create SP for writing json values
84+
DataTestUtility.DropStoredProcedure(connection, spName);
8685
command.CommandText = spCreate;
8786
command.ExecuteNonQuery();
8887

@@ -116,17 +115,17 @@ public void TestJsonWrite()
116115
}
117116

118117
DataTestUtility.DropTable(connection, tableName);
118+
DataTestUtility.DropStoredProcedure(connection, spName);
119119
}
120120
}
121121
}
122122

123123
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
124124
public async Task TestJsonWriteAsync()
125125
{
126-
string tableName = DataTestUtility.GetUniqueNameForSqlServer("Json_Test");
127-
string spName = DataTestUtility.GetUniqueNameForSqlServer("spJson_WriteTest");
126+
string tableName = "jsonWriteTest";
127+
string spName = "spJsonWriteTest";
128128

129-
string tableCreate = "CREATE TABLE " + tableName + " (Data json)";
130129
string tableInsert = "INSERT INTO " + tableName + " VALUES (@jsonData)";
131130
string spCreate = "CREATE PROCEDURE " + spName + " (@jsonData json) AS " + tableInsert;
132131

@@ -137,10 +136,10 @@ public async Task TestJsonWriteAsync()
137136
using (SqlCommand command = connection.CreateCommand())
138137
{
139138
//Create Table
140-
command.CommandText = tableCreate;
141-
await command.ExecuteNonQueryAsync();
139+
DataTestUtility.CreateTable(connection, tableName, "(data json)");
142140

143141
//Create SP for writing json values
142+
DataTestUtility.DropStoredProcedure(connection, spName);
144143
command.CommandText = spCreate;
145144
await command.ExecuteNonQueryAsync();
146145

@@ -172,31 +171,33 @@ public async Task TestJsonWriteAsync()
172171
int rowsAffected3 = await command.ExecuteNonQueryAsync();
173172
ValidateRowsAffected(rowsAffected3);
174173
}
174+
175+
DataTestUtility.DropTable(connection, tableName);
176+
DataTestUtility.DropStoredProcedure(connection, spName);
175177
}
176178
}
177179
}
178180

179181
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
180182
public void TestJsonRead()
181183
{
182-
string tableName = DataTestUtility.GetUniqueNameForSqlServer("Json_Test");
183-
string spName = DataTestUtility.GetUniqueNameForSqlServer("spJson_ReadTest");
184+
string tableName = "jsonReadTest";
185+
string spName = "spJsonReadTest";
184186

185-
string tableCreate = "CREATE TABLE " + tableName + " (Data json)";
186187
string tableInsert = "INSERT INTO " + tableName + " VALUES (@jsonData)";
187188
string tableRead = "SELECT * FROM " + tableName;
188-
string spCreate = "CREATE PROCEDURE " + spName + "AS " + tableRead;
189+
string spCreate = "CREATE PROCEDURE " + spName + " AS " + tableRead;
189190

190191
using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString))
191192
{
192193
connection.Open();
193194
using (SqlCommand command = connection.CreateCommand())
194195
{
195196
//Create Table
196-
command.CommandText = tableCreate;
197-
command.ExecuteNonQuery();
197+
DataTestUtility.CreateTable(connection, tableName, "(data json)");
198198

199199
//Create SP for reading from json column
200+
DataTestUtility.DropStoredProcedure(connection, spName);
200201
command.CommandText = spCreate;
201202
command.ExecuteNonQuery();
202203

@@ -231,31 +232,31 @@ public void TestJsonRead()
231232
}
232233

233234
DataTestUtility.DropTable(connection, tableName);
235+
DataTestUtility.DropStoredProcedure(connection, spName);
234236
}
235237
}
236238
}
237239

238240
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
239241
public async Task TestJsonReadAsync()
240242
{
241-
string tableName = DataTestUtility.GetUniqueNameForSqlServer("Json_Test");
242-
string spName = DataTestUtility.GetUniqueNameForSqlServer("spJson_ReadTest");
243+
string tableName = "jsonReadTest";
244+
string spName = "spJsonReadTest";
243245

244-
string tableCreate = "CREATE TABLE " + tableName + " (Data json)";
245246
string tableInsert = "INSERT INTO " + tableName + " VALUES (@jsonData)";
246247
string tableRead = "SELECT * FROM " + tableName;
247-
string spCreate = "CREATE PROCEDURE " + spName + "AS " + tableRead;
248+
string spCreate = "CREATE PROCEDURE " + spName + " AS " + tableRead;
248249

249250
using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString))
250251
{
251252
await connection.OpenAsync();
252253
using (SqlCommand command = connection.CreateCommand())
253254
{
254255
//Create Table
255-
command.CommandText = tableCreate;
256-
await command.ExecuteNonQueryAsync();
256+
DataTestUtility.CreateTable(connection, tableName, "(data json)");
257257

258258
//Create SP for reading from json column
259+
DataTestUtility.DropStoredProcedure(connection, spName);
259260
command.CommandText = spCreate;
260261
await command.ExecuteNonQueryAsync();
261262

@@ -288,6 +289,9 @@ public async Task TestJsonReadAsync()
288289
await ValidateRowsAsync(reader2);
289290
reader2.Close();
290291
}
292+
293+
DataTestUtility.DropTable(connection, tableName);
294+
DataTestUtility.DropStoredProcedure(connection, spName);
291295
}
292296
}
293297
}

src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/GenericTDSServer.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,12 @@ public virtual TDSMessageCollection OnLogin7Request(ITDSServerSession session, T
232232

233233
break;
234234
}
235-
#if DEBUG
236235
case TDSFeatureID.JsonSupport:
237236
{
238237
// Enable Json Support
239238
session.IsJsonSupportEnabled = true;
240239
break;
241240
}
242-
#endif
243241
default:
244242
{
245243
// Do nothing
@@ -552,7 +550,6 @@ protected virtual TDSMessageCollection OnAuthenticationCompleted(ITDSServerSessi
552550
responseMessage.Add(featureExtActToken);
553551
}
554552

555-
#if DEBUG
556553
// Check if Json is supported
557554
if (session.IsJsonSupportEnabled)
558555
{
@@ -578,7 +575,6 @@ protected virtual TDSMessageCollection OnAuthenticationCompleted(ITDSServerSessi
578575
featureExtAckToken.Options.Add(jsonSupportOption);
579576
}
580577
}
581-
#endif
582578

583579
// Create DONE token
584580
TDSDoneToken doneToken = new TDSDoneToken(TDSDoneTokenStatusType.Final);

0 commit comments

Comments
 (0)