Skip to content

Commit 2e96568

Browse files
committed
* Addressing issue 185, 186, 187.
* Set userType to 0 on DbType.String when commandType is not StoredProcedure.
1 parent a56fef8 commit 2e96568

4 files changed

Lines changed: 6 additions & 55 deletions

File tree

src/AdoNetCore.AseClient/AseCommand.cs

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -113,33 +113,11 @@ public override void Cancel()
113113
return new AseParameter();
114114
}
115115

116-
public AseParameter CreateParameter(string name, object value, DbType dbType, int? overrideUserType)
117-
{
118-
if (_isDisposed)
119-
{
120-
throw new ObjectDisposedException(nameof(AseCommand));
121-
}
122-
return new AseParameter(name, value, dbType, overrideUserType);
123-
}
124-
125116
protected override DbParameter CreateDbParameter()
126117
{
127118
return CreateParameter();
128119
}
129120

130-
//command.SetParameter("@psComment", comment, DbType.String, 36);
131-
/// <summary>
132-
///
133-
/// </summary>
134-
/// <param name="parameterName"></param>
135-
/// <param name="parameterValue"></param>
136-
/// <param name="dbType"></param>
137-
/// <param name="overrideUserType"></param>
138-
/// <returns></returns>
139-
public AseParameter CreateParameter(string parameterName, string parameterValue, DbType dbType, int? overrideUserType)
140-
{
141-
return new AseParameter(parameterName, parameterValue, dbType, overrideUserType);
142-
}
143121

144122
/// <summary>
145123
/// Executes a Transact-SQL statement against the connection and returns the number of rows affected.

src/AdoNetCore.AseClient/AseParameter.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,6 @@ public AseParameter(int parameterIndex, AseDbType dbType, int size, ParameterDir
276276
SourceVersion = sourceVersion;
277277
Value = value;
278278
}
279-
280-
public AseParameter(string parameterName, object value, DbType dbType, int? overrideUserType) : this(parameterName, value)
281-
{
282-
DbType = dbType;
283-
OverrideUserType = overrideUserType;
284-
}
285-
286279
public override void ResetDbType()
287280
{
288281
DbType = default(DbType);
@@ -476,6 +469,6 @@ public object Clone()
476469
}
477470
#endif
478471
internal object SendableValue => Value.AsSendableValue(_type);
479-
internal int? OverrideUserType { get; set; }
472+
//internal int? OverrideUserType { get; set; }
480473
}
481474
}

src/AdoNetCore.AseClient/Internal/FormatItem.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,7 @@ public static FormatItem CreateForParameter(AseParameter parameter, DbEnvironmen
7979
IsNullable = parameter.IsNullable,
8080
Length = length,
8181
DataType = TypeMap.GetTdsDataType(dbType, parameter.SendableValue, length, parameter.ParameterName),
82-
//UserType = parameter.OverrideUserType ?? TypeMap.GetTdsUserType(dbType) // TypeMap.GetUserType(dbType, parameter.SendableValue, length)
83-
UserType = parameter.OverrideUserType ?? TypeMap.GetUserType(dbType, parameter.SendableValue, length)
84-
//UserType = TypeMap.GetUserType(dbType, parameter.SendableValue, length)
82+
UserType = TypeMap.GetUserType(dbType, parameter.SendableValue, length)
8583
};
8684

8785
//fixup the FormatItem's BlobType for strings and byte arrays

test/AdoNetCore.AseClient.Tests/Integration/TextEchoProcedureTests.cs

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,11 @@ public TextEchoProcedureTests()
8686
Logger.Enable();
8787
}
8888

89-
//[OneTimeSetUp]
90-
[SetUp]
89+
[OneTimeSetUp]
9190
public void Setup()
9291
{
9392
using (var connection = new AseConnection(ConnectionStrings.Pooled))
9493
{
95-
//connection.Execute(_dropEchoTextProc);
96-
//connection.Execute(_dropTextTable);
97-
//connection.Execute(_dropEchoTextLocatorProc);
98-
//connection.Execute(_dropTrueEchoTextLocatorProc);
99-
//connection.Execute(_dropTextTypeColumnProc);
100-
//connection.Execute(_dropJustTextProc);
101-
10294
connection.Execute(_createEchoTextProc);
10395
connection.Execute(_createTextTable);
10496
connection.Execute(_createEchoTextLocatorProc);
@@ -108,8 +100,7 @@ public void Setup()
108100
}
109101
}
110102

111-
//[OneTimeTearDown]
112-
[TearDown]
103+
[OneTimeTearDown]
113104
public void Teardown()
114105
{
115106
using (var connection = new AseConnection(ConnectionStrings.Pooled))
@@ -141,14 +132,12 @@ public void EchoText_Procedure_ShouldExecute()
141132
p.ParameterName = "@input";
142133
p.Value = expected;
143134
p.DbType = DbType.String;
144-
p.OverrideUserType = 36;
145135
command.Parameters.Add(p);
146136

147137
var pOut = command.CreateParameter();
148138
pOut.ParameterName = "@output";
149139
pOut.Value = DBNull.Value;
150140
pOut.DbType = DbType.String;
151-
pOut.OverrideUserType = 36;
152141
pOut.Direction = ParameterDirection.Output;
153142
command.Parameters.Add(pOut);
154143

@@ -170,16 +159,12 @@ public void TextLocator_Procedure_ShouldExecute()
170159
command.CommandText = "sp_test_echo_text_locator";
171160
command.CommandType = CommandType.StoredProcedure;
172161

173-
//var expected = Enumerable.Repeat(new byte[] {0xde, 0xad, 0xbe, 0xef}, 64).SelectMany(x => x).Take(536386).ToArray();
174-
//var expected = new string('x', 16384);
175-
//var expected = new string('x', 1063840);
176162
var expected = $"Shawn test long comment {new string('A',1063840)}";
177163

178164
var p = command.CreateParameter();
179165
p.ParameterName = "@input";
180166
p.Value = expected;
181167
p.DbType = DbType.String;
182-
p.OverrideUserType = 36;
183168
command.Parameters.Add(p);
184169

185170
var pOut = command.CreateParameter();
@@ -191,7 +176,6 @@ public void TextLocator_Procedure_ShouldExecute()
191176

192177
command.ExecuteNonQuery();
193178

194-
//Assert.AreEqual(expected, pOut.Value);
195179
}
196180
}
197181
}
@@ -215,14 +199,14 @@ public void TextTypeColumn_Procedure_ShouldExecute()
215199
p.ParameterName = "@text_locator_input";
216200
p.Value = text_locator;
217201
p.DbType = DbType.String;
218-
p.OverrideUserType = 36; //19;
202+
//p.OverrideUserType = 36; //19;
219203
command.Parameters.Add(p);
220204

221205
p = command.CreateParameter();
222206
p.ParameterName = "@text_input";
223207
p.Value = just_text;
224208
p.DbType = DbType.String;
225-
p.OverrideUserType = 36;
209+
//p.OverrideUserType = 36;
226210
command.Parameters.Add(p);
227211

228212
var pOut = command.CreateParameter();
@@ -259,14 +243,12 @@ public void TextType_Proc_ShouldExecute_Ok()
259243
p.ParameterName = "@text_locator_input";
260244
p.Value = text_locator;
261245
p.DbType = DbType.String;
262-
//p.OverrideUserType = 0;//36; //19;
263246
command.Parameters.Add(p);
264247

265248
p = command.CreateParameter();
266249
p.ParameterName = "@text_input";
267250
p.Value = just_text;
268251
p.DbType = DbType.String;
269-
//p.OverrideUserType = 0;
270252
command.Parameters.Add(p);
271253

272254
var pOut = command.CreateParameter();

0 commit comments

Comments
 (0)