mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-24 17:24:14 -05:00
Important bug fixes for edit/commit (extended property check) (#294)
* Ensures that metadata is "extended" before creating a new row edit object * Adds the commit handler to edit data service initialization calls * Unit tests for the associated changes
This commit is contained in:
@@ -82,6 +82,7 @@ namespace Microsoft.SqlTools.ServiceLayer.EditData
|
||||
serviceHost.SetRequestHandler(EditRevertRowRequest.Type, HandleRevertRowRequest);
|
||||
serviceHost.SetRequestHandler(EditSubsetRequest.Type, HandleSubsetRequest);
|
||||
serviceHost.SetRequestHandler(EditUpdateCellRequest.Type, HandleUpdateCellRequest);
|
||||
serviceHost.SetRequestHandler(EditCommitRequest.Type, HandleCommitRequest);
|
||||
}
|
||||
|
||||
#region Request Handlers
|
||||
|
||||
@@ -440,6 +440,7 @@ namespace Microsoft.SqlTools.ServiceLayer.EditData
|
||||
NextRowId = associatedResultSet.RowCount;
|
||||
EditCache = new ConcurrentDictionary<long, RowEditBase>();
|
||||
IsInitialized = true;
|
||||
objectMetadata.Extend(associatedResultSet.Columns);
|
||||
|
||||
// Step 4) Return our success
|
||||
await successHandler();
|
||||
|
||||
@@ -38,6 +38,11 @@ namespace Microsoft.SqlTools.ServiceLayer.EditData.UpdateManagement
|
||||
/// <param name="associatedMetadata">Metadata provider for the object to edit</param>
|
||||
protected RowEditBase(long rowId, ResultSet associatedResultSet, EditTableMetadata associatedMetadata)
|
||||
{
|
||||
if (!associatedMetadata.HasExtendedProperties)
|
||||
{
|
||||
throw new ArgumentException(SR.EditDataMetadataNotExtended);
|
||||
}
|
||||
|
||||
RowId = rowId;
|
||||
AssociatedResultSet = associatedResultSet;
|
||||
AssociatedObjectMetadata = associatedMetadata;
|
||||
|
||||
Reference in New Issue
Block a user