mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-25 09:35:37 -05:00
The main goal of this feature is to enable a command that will 1) Generate a parameterized command for each edit that is in the session 2) Execute that command against the server 3) Update the cached results of the table/view that's being edited with the committed changes (including computed/identity columns) There's some secret sauce in here where I cheated around worrying about gaps in the updated results. This was accomplished by implementing an IComparable for row edit objects that ensures deletes are the *last* actions to occur and that they occur from the bottom of the list up (highest row ID to lowest). Thus, all other actions that are dependent on the row ID are performed first, then the largest row ID is deleted, then next largest, etc. Nevertheless, by the end of a commit the associated ResultSet is still the source of truth. It is expected that the results grid will need updating once changes are committed. Also worth noting, although this pull request supports a "many edits, one commit" approach, it will work just fine for a "one edit, one commit" approach. * WIP * Adding basic commit support. Deletions work! * Nailing down the commit logic, insert commits work! * Updates work! * Fixing bug in DbColumnWrapper IsReadOnly setting * Comments * ResultSet unit tests, fixing issue with seeking in mock writers * Unit tests for RowCreate commands * Unit tests for RowDelete * RowUpdate unit tests * Session and edit base tests * Fixing broken unit tests * Moving constants to constants file * Addressing code review feedback * Fixes from merge issues, string consts * Removing ad-hoc code * fixing as per @abist requests * Fixing a couple more issues
198 lines
7.9 KiB
C#
198 lines
7.9 KiB
C#
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This code was generated by a tool.
|
|
// Runtime Version:4.0.30319.42000
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace Microsoft.SqlTools.Hosting.Localization {
|
|
using System;
|
|
using System.Reflection;
|
|
|
|
|
|
/// <summary>
|
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
|
/// </summary>
|
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
|
// class via a tool like ResGen or Visual Studio.
|
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
|
// with the /str option, or rebuild your VS project.
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
|
public class sr {
|
|
|
|
private static global::System.Resources.ResourceManager resourceMan;
|
|
|
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
|
|
|
internal sr() {
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the cached ResourceManager instance used by this class.
|
|
/// </summary>
|
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
public static global::System.Resources.ResourceManager ResourceManager {
|
|
get {
|
|
if (object.ReferenceEquals(resourceMan, null)) {
|
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.SqlTools.Hosting.Localization.sr", typeof(sr).GetTypeInfo().Assembly);
|
|
resourceMan = temp;
|
|
}
|
|
return resourceMan;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Overrides the current thread's CurrentUICulture property for all
|
|
/// resource lookups using this strongly typed resource class.
|
|
/// </summary>
|
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
public static global::System.Globalization.CultureInfo Culture {
|
|
get {
|
|
return resourceCulture;
|
|
}
|
|
set {
|
|
resourceCulture = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Win32Credential object is already disposed.
|
|
/// </summary>
|
|
public static string CredentialServiceWin32CredentialDisposed {
|
|
get {
|
|
return ResourceManager.GetString("CredentialServiceWin32CredentialDisposed", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Invalid CriticalHandle!.
|
|
/// </summary>
|
|
public static string CredentialsServiceInvalidCriticalHandle {
|
|
get {
|
|
return ResourceManager.GetString("CredentialsServiceInvalidCriticalHandle", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to The password has exceeded 512 bytes.
|
|
/// </summary>
|
|
public static string CredentialsServicePasswordLengthExceeded {
|
|
get {
|
|
return ResourceManager.GetString("CredentialsServicePasswordLengthExceeded", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Target must be specified to delete a credential.
|
|
/// </summary>
|
|
public static string CredentialsServiceTargetForDelete {
|
|
get {
|
|
return ResourceManager.GetString("CredentialsServiceTargetForDelete", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Target must be specified to check existance of a credential.
|
|
/// </summary>
|
|
public static string CredentialsServiceTargetForLookup {
|
|
get {
|
|
return ResourceManager.GetString("CredentialsServiceTargetForLookup", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Message header must separate key and value using ':'.
|
|
/// </summary>
|
|
public static string HostingHeaderMissingColon {
|
|
get {
|
|
return ResourceManager.GetString("HostingHeaderMissingColon", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Fatal error: Content-Length header must be provided.
|
|
/// </summary>
|
|
public static string HostingHeaderMissingContentLengthHeader {
|
|
get {
|
|
return ResourceManager.GetString("HostingHeaderMissingContentLengthHeader", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Fatal error: Content-Length value is not an integer.
|
|
/// </summary>
|
|
public static string HostingHeaderMissingContentLengthValue {
|
|
get {
|
|
return ResourceManager.GetString("HostingHeaderMissingContentLengthValue", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to MessageReader's input stream ended unexpectedly, terminating.
|
|
/// </summary>
|
|
public static string HostingUnexpectedEndOfStream {
|
|
get {
|
|
return ResourceManager.GetString("HostingUnexpectedEndOfStream", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Service of type {0} cannot be created by ExtensionLoader<{1}>.
|
|
/// </summary>
|
|
public static string IncompatibleServiceForExtensionLoader {
|
|
get {
|
|
return ResourceManager.GetString("IncompatibleServiceForExtensionLoader", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Multiple services found for type {0}, expected only 1.
|
|
/// </summary>
|
|
public static string MultipleServicesFound {
|
|
get {
|
|
return ResourceManager.GetString("MultipleServicesFound", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Cannot register service for type {0}, one or more services already registered.
|
|
/// </summary>
|
|
public static string ServiceAlreadyRegistered {
|
|
get {
|
|
return ResourceManager.GetString("ServiceAlreadyRegistered", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Service {0} was not found in the service provider.
|
|
/// </summary>
|
|
public static string ServiceNotFound {
|
|
get {
|
|
return ResourceManager.GetString("ServiceNotFound", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to Service of Type {0} is not compatible with registered Type {1}.
|
|
/// </summary>
|
|
public static string ServiceNotOfExpectedType {
|
|
get {
|
|
return ResourceManager.GetString("ServiceNotOfExpectedType", resourceCulture);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Looks up a localized string similar to SetServiceProvider() was not called to establish the required service provider.
|
|
/// </summary>
|
|
public static string ServiceProviderNotSet {
|
|
get {
|
|
return ResourceManager.GetString("ServiceProviderNotSet", resourceCulture);
|
|
}
|
|
}
|
|
}
|
|
}
|