Commit Graph

5789 Commits

Author SHA1 Message Date
Alexander Ivanov
676296fbbb Allow to ignore duplicate entires when adding files to SQL project. (#15332)
This change introduces new boolean flag for `addToProject`, `addScriptItem` and `addFolderItem` APIs that allows to skip files/folders if they are already included in the project file. Original behavior was to throw an error if duplicate entry is encountered, so I kept that as a default (new flag is not set).

I started by fixing the original behavior, as it was not always working as expected. In our extension that relies on `addToProject` API we've hit an issue where duplicate items were added and no errors were thrown. There was a test for this scenario, but unfortunately the test had few bugs in it as well, so I addressed that first. First issue with the test code was missing `await` on the `testUtils.shouldThrowSpecificError` calls, so test was not actually testing anything. After adding missing keywords, I hit an issue where exception was not thrown, but this turned out to be different issue, compared to what we were hitting. In the test code, it was using the very first folder from the generate list of test entires. This folder wass actually the root of the project (where sqlproj file is located), and `addToProject` API had a special case to ignore the root. This means neither first call nor second call was actually adding anything to the project and no errors were produced. I fixed this problem by using next available folder in the generated files list.

After addressing the test code I could not reproduce the issue that we were seeing with duplicate entires being added, everything was working as expected and errors were thrown. I started adding more tests that better resemble our production scenario - add files in subfolders, add files to existing project, rather than a new one. Finally I was able to reproduce the problem in tests when adding a file in a subfolder to an existing project. After investigation this turned out to be an issue with mismatch in how `relativePath` is maintained within the `FileProjectEntry`. When loading an existing project, `relativePath` is populated based on the value of the `Include` attribute of the `Build` item. This attribute is normalized to Windows-style path, using `\`, so for nested file you will have `folder\file.sql`. When adding new item to the project, one could pass either Windows or Unix-style path (`folder/file.sql`), so the path comparison between loaded Windows-style path and newly added Unix-style path was failing, resulting in them being treated as different items. In fact, `addToProject` API that we were using was relying on `Uri` helpers to extract relative path, thus the path was forced to be Unix-style and path was never the same as the loaded one. After this discovery I added a dedicated test to validate the round-trip of the `relativePath` for serialized and desirialized project file.

In order to address this problem, I updated the factory method `createFileProjectEntry` to always run `utils.convertSlashesForSqlProj` on the relative path to ensure we have Windows-style path stored in there. I also optimized the helper code slightly to not do split/join, if there are no split points in the input string, which should eliminate unnecessary array instantiation. It is worth mentioning that I had to normalize the input relative paths in the `addScriptItem` and `addFolderItem` APIs, because there is no guarantee that they will be Windows-style when we try to compare them to `relativePath` of the existing project items.

Finally I was able to add a simply flag and update the condition to return existing record, if duplicates were allowed. I also updated typings file for the extension and added tests to cover this scenario.
2021-05-10 13:59:24 -07:00
Alan Ren
7dca953660 fix line number display issue (#15368) 2021-05-07 18:57:22 -07:00
Kim Santiago
9d8660749a fix schema compare display name having username (#15357)
* fix schema compare display name having username

* reuse variable

* fix previous selection for server not being selected in dialog

* fix tests
2021-05-07 12:46:06 -07:00
Alan Ren
24f29ca0a7 bring in latest sqltoolsservice (#15366) 2021-05-07 11:24:41 -07:00
Maddy
1af8fdbb45 fix attach image on rehydration (#15359) 2021-05-06 17:13:00 -07:00
Lucy Zhang
4bc87c46a6 Fix notebook icons (#15346)
* remove width and height from nb svgs

* fix textcell toolbar icons
2021-05-06 15:58:59 -07:00
Lucy Zhang
2a354aef09 basic text cell functionality smoke test (#15195) 2021-05-06 15:53:20 -07:00
Vasu Bhog
cb06ca07c0 Fixes the empty parameter cell and multi parameters on one line (#15234)
* fix two bugs

* work on empty parameter cell and format properly

* add empty cell tests
2021-05-06 14:48:38 -07:00
Aasim Khan
18b2524528 Updating axios package to fix component governance issue. (#15339)
* Updating axios package and related libraries.

* Adding node fetch due to a test failure
2021-05-06 11:48:36 -07:00
Karl Burtram
9405795d4a Bump SQL Tools Service to 3.0.0-release.101 (#15344) 2021-05-06 10:44:19 -07:00
Sakshi Sharma
3b3df2c3fc Fixes for sql db projects dashboard (#15100)
* Fix ID assignment for sql db projects dashboard

* Update with new fixes

* Fix tests

* Fix test
2021-05-05 19:00:22 -07:00
Sakshi Sharma
8c08c79d67 Remove horizontal scrollbar (#15338) 2021-05-05 17:13:40 -07:00
Christopher Suh
b13dc0cd03 fixed account icon loading... issue (#15335) 2021-05-05 17:10:44 -07:00
Alan Ren
745c17da0a remove extension from recommended list (#15327) 2021-05-04 16:53:17 -07:00
Maddy
bd5b9b36c6 add tests for cell attachment changes (#15325) 2021-05-04 14:53:04 -07:00
Udeesha Gautam
bd4ebe65cc Reverting a change to ensure immediate notebook fix (#15326) 2021-05-04 14:12:53 -07:00
Charles Gagnon
0fa0431707 Add rollup dependency (#15317) 2021-05-04 09:08:36 -07:00
Charles Gagnon
726ad26a75 Trim spaces from arc connect controller dialog (#15321) 2021-05-04 08:38:06 -07:00
Alan Ren
0e7bd8a939 add ADS checks back to install extension workflow (#15320) 2021-05-03 20:27:47 -07:00
Kim Santiago
e2537922b0 bump sql database projects version to 0.9.1 (#15314) 2021-05-03 16:22:11 -07:00
Charles Gagnon
cb8f9d9d90 Use official Microsoft ads-kerberos (#15316)
* Use @microsoft/ads-kerberos

* Bundle ads-kerberos
2021-05-03 16:18:11 -07:00
Chris LaFreniere
027e8a6f33 Enable run unit tests current file and cleanup launch.json (#15307) 2021-05-03 11:38:43 -07:00
Justin M
f7ce597606 Bumped sqltoolservice version to 99 for Kusto. Bumped Kusto version to 0.5.4 (#15309) 2021-05-03 10:49:53 -07:00
Alan Ren
088d6353f0 keep title up to date when connection changes (#15306) 2021-04-30 22:41:55 -07:00
nasc17
7a726e5dfa Fix for PG parameters table disappearing when trying to reset a value (#15303)
* Working on table bug

* Removed unit test checking for onEngineSettingsUpdated event to fire since removed from model

* Moved instanceofcheckbox function to utils, pr fixes

* Fix comment
2021-04-30 20:50:39 -07:00
Maddy
ef8b26b7ae Insert local/online images using image call out (#15238)
* changes from Chris's branch and cell model updates

* get base64 value

* handle spaces in image names

* add comments

* add tests for imageCallOut dialog

* format document for hygiene errors

* address comments

* check base64 validity using regex

* replace space with regex

* add parameter and return type

* split into two functions

* move functions to fileUtilities

* correct import

* fix for layering issue

* revert file function changes
2021-04-30 19:43:55 -07:00
Charles Gagnon
587237673b Remove settings sync output channel (#15304) 2021-04-30 15:07:57 -07:00
Udeesha Gautam
35e0f1a99f Missed commit from PR #15082 (#15302)
* missed commit from PR #15082 for back up restore name update issue
2021-04-30 13:48:35 -07:00
Alan Ren
5e39b1c7ed fix secrets api issue (#15300) 2021-04-30 13:27:42 -07:00
Alex Ma
4ec3779be4 fix for gulp remote in extensions.ts (#15298) 2021-04-30 13:06:44 -07:00
Aasim Khan
ec4e5d5c18 mssql vbump to 98 (#15297) 2021-04-30 12:01:49 -07:00
Alan Ren
a155b9be40 GA connection browse feature (#15295)
* GA connection browse feature

* UPDATE TEXT
2021-04-30 11:29:37 -07:00
Kim Santiago
25681defd8 Add git clone for project to Open Existing dialog (#15244)
* expose git clone api

* add git clone option for projects in open existing dialog

* add sql carbon edits

* cleanup and error handling

* fix telemetry property

* addressing comments

* add gitignore

* copy git.d.ts from git extension

* remove copy of git.d.ts from data-workspace extension

* use single quotes

* Remove git copy from git clone PR (#15286)

* Remove copy git typings

* Remove gitignore

* update error messages

* lowercase

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2021-04-30 11:12:22 -07:00
Udeesha Gautam
f2ee8b11b4 Fixing the update issue with backup default name (#15082)
* Fixing the update issue with backup default name

* Avoiding to call select again since that fires an event

* Fixing comment and backup name
2021-04-30 10:50:26 -07:00
Aditya Bist
adbbe7e6b0 Adjust icon badge size (#15292)
* adjust badge size

* convert rem to px
2021-04-29 18:42:03 -07:00
Alan Ren
c72fdeb019 fix action label vertical alignment issue (#15293) 2021-04-29 18:12:36 -07:00
Alan Ren
2aed4e76e3 error handling for browse azure resources (#15291)
* custom error for throttling

* remove unused imports
2021-04-29 17:06:16 -07:00
Kim Santiago
020bc738cc fix DW project build (#15287) 2021-04-29 14:48:01 -07:00
Aasim Khan
e00d48c210 Adding telemetry framework to migration extension (#15284)
* Adding telemetry to sql-migration

* Adding some telemetry helper functions

* removing unncessary telemetry

* removing unncessary imports

* Changing name of telemetry sender methods and removing unused functions.

* Removing extra whitespace

* Fixing a typo
2021-04-29 14:00:44 -07:00
Alan Ren
8d482a06e8 fix smoke test failure (#15276)
* add logging

* fix

* remove logging

* comment out code and add comments
2021-04-29 11:36:42 -07:00
Kim Santiago
cbe128dd6c bump version for schema compare and sql database projects (#15285) 2021-04-29 11:32:13 -07:00
Barbara Valdez
fd0a0ec2b0 replace notebook tab icon (#15282) 2021-04-29 11:31:45 -07:00
Hai Cao
a0bf5df79d Use a different config name for connection sorting (#15275)
* use a different sort config name
2021-04-29 10:52:35 -07:00
Charles Gagnon
ddf092462d Bump arc version (#15283) 2021-04-29 10:07:31 -07:00
Sakshi Sharma
e695a01538 Update Schema Compare dialog to start a new connection (#15193)
* Update SC dialog to start a new connection

* Functionally complete

* Fix target db to pick correct database

* Address comments

* Added test+fixed one missing scenario

* Address comments + add one more test
2021-04-29 09:53:38 -07:00
Alan Ren
e42da81005 connect dialog telemetry (#15267)
* add connection dialog telemetry

* reset source

* add to correct place
2021-04-28 14:44:31 -07:00
Charles Gagnon
659fa2f78d Add back in documentdb dependency (#15265)
* Add back in documentdb dependency

* Use original version
2021-04-28 12:40:02 -07:00
Charles Gagnon
be8a55cef0 Add back open view keybindings (#15264) 2021-04-28 12:17:36 -07:00
Hai Cao
9bc1797e88 add sorting option for saved connections (#15229)
* add sort by name option for saved connections and groups
2021-04-28 11:41:09 -07:00
Karl Burtram
13ab2bc487 Bump SQL Tools Service to 3.0.0-release.97 (#15258) 2021-04-28 11:01:55 -07:00