Edit Data: Better errors for possible truncation (#514)

* Fix to make sql exceptions surface properly to user (with important notes!)

* Adding support for detecting column size issues when updating a cell

* Adding unit tests for the exception on read scenario
This commit is contained in:
Benjamin Russell
2017-10-21 11:08:40 -07:00
committed by Karl Burtram
parent 9499d73cec
commit e9bc97e290
37 changed files with 445 additions and 343 deletions

View File

@@ -3651,6 +3651,11 @@ namespace Microsoft.SqlTools.ServiceLayer
return Keys.GetString(Keys.EditDataUnsupportedObjectType, typeName);
}
public static string EditDataValueTooLarge(string value, string columnType)
{
return Keys.GetString(Keys.EditDataValueTooLarge, value, columnType);
}
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Keys
{
@@ -3932,6 +3937,9 @@ namespace Microsoft.SqlTools.ServiceLayer
public const string EditDataNullNotAllowed = "EditDataNullNotAllowed";
public const string EditDataValueTooLarge = "EditDataValueTooLarge";
public const string EE_BatchSqlMessageNoProcedureInfo = "EE_BatchSqlMessageNoProcedureInfo";

View File

@@ -495,6 +495,11 @@
<value>NULL is not allowed for this column</value>
<comment></comment>
</data>
<data name="EditDataValueTooLarge" xml:space="preserve">
<value>Value {0} is too large to fit in column of type {1}</value>
<comment>.
Parameters: 0 - value (string), 1 - columnType (string) </comment>
</data>
<data name="EE_BatchSqlMessageNoProcedureInfo" xml:space="preserve">
<value>Msg {0}, Level {1}, State {2}, Line {3}</value>
<comment></comment>

View File

@@ -232,6 +232,8 @@ EditDataTimeOver24Hrs = TIME column values must be between 00:00:00.0000000 and
EditDataNullNotAllowed = NULL is not allowed for this column
EditDataValueTooLarge(string value, string columnType) = Value {0} is too large to fit in column of type {1}
############################################################################
# DacFx Resources

View File

@@ -2305,6 +2305,12 @@
<target state="new">For directory {0} a file with name {1} already exists</target>
<note></note>
</trans-unit>
<trans-unit id="EditDataValueTooLarge">
<source>Value {0} is too large to fit in column of type {1}</source>
<target state="new">Value {0} is too large to fit in column of type {1}</target>
<note>.
Parameters: 0 - value (string), 1 - columnType (string) </note>
</trans-unit>
</body>
</file>
</xliff>