diff --git a/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts index 97e5e71a9a..4a754040c2 100644 --- a/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts +++ b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts @@ -74,9 +74,10 @@ export class ServerTreeDragAndDrop implements IDragAndDrop { const data = dragAndDropData.getData(); const element = data[0]; if (element.nodeTypeId === 'Column' || element.nodeTypeId === 'Table') { - const schema = element.metadata.schema; - const name = element.metadata.name; - originalEvent.dataTransfer.setData(DataTransfers.RESOURCES, JSON.stringify([`${element.nodeTypeId}:${element.id}?${schema ? schema + '.' + name : name}`])); + const escapedSchema = element.metadata.schema?.replace(/]/g, ']]'); + const escapedName = element.metadata.name?.replace(/]/g, ']]'); + const finalString = escapedSchema ? `[${escapedSchema}].[${escapedName}]` : `[${escapedName}]`; + originalEvent.dataTransfer.setData(DataTransfers.RESOURCES, JSON.stringify([`${element.nodeTypeId}:${element.id}?${finalString}`])); } return; } diff --git a/src/vs/workbench/browser/parts/editor/editorDropTarget.ts b/src/vs/workbench/browser/parts/editor/editorDropTarget.ts index a58d8d45c4..4a6e7756e9 100644 --- a/src/vs/workbench/browser/parts/editor/editorDropTarget.ts +++ b/src/vs/workbench/browser/parts/editor/editorDropTarget.ts @@ -360,7 +360,7 @@ class DropOverlay extends Themable { // {{SQL CARBON EDIT}} const editor = this.editorService.activeTextEditorControl as ICodeEditor; if (untitledOrFileResources[0].resource.scheme === 'Column' || untitledOrFileResources[0].resource.scheme === 'Table') { - SnippetController2.get(editor).insert(`[${untitledOrFileResources[0].resource.query}]`); + SnippetController2.get(editor).insert(untitledOrFileResources[0].resource.query); return; }