diff --git a/extensions/sql-database-projects/src/common/constants.ts b/extensions/sql-database-projects/src/common/constants.ts index 540d139633..89d5dc630e 100644 --- a/extensions/sql-database-projects/src/common/constants.ts +++ b/extensions/sql-database-projects/src/common/constants.ts @@ -532,16 +532,6 @@ export const PublishProfileElements = localize('publishProfileElements', "Publis //#endregion - - -/** - * Well-known database source values that are allowed to be sent in telemetry. - * - * 'dsct-oracle-to-ms-sql' is the name of an extension which allows users to migrate from Oracle to Microsoft SQL platform. - * When looking at telemetry, we would like to know if a built or deployed database originated from the DSCT extension. - */ -export const WellKnownDatabaseSources = ['dsct-oracle-to-ms-sql']; - export function defaultOutputPath(configuration: string) { return path.join('.', 'bin', configuration); } /** diff --git a/extensions/sql-database-projects/src/common/utils.ts b/extensions/sql-database-projects/src/common/utils.ts index c6eaa565bc..8dc6b974ec 100644 --- a/extensions/sql-database-projects/src/common/utils.ts +++ b/extensions/sql-database-projects/src/common/utils.ts @@ -635,36 +635,6 @@ export function getFoldersAlongPath(startFolder: string, endFolder: string): str return folders; } -/** - * Determines whether provided value is a well-known database source and therefore is allowed to be sent in telemetry. - * - * @param value Value to check if it is a well-known database source - * @returns Normalized database source value if it is well-known, otherwise returns undefined - */ -export function getWellKnownDatabaseSource(value: string): string | undefined { - const upperCaseValue = value.toUpperCase(); - return constants.WellKnownDatabaseSources - .find(wellKnownSource => wellKnownSource.toUpperCase() === upperCaseValue); -} - -/** - * Filters an array of specified database project sources to only those that are well-known. - * - * @param databaseSourceValues Array of database source values to filter - * @returns Array of well-known database sources - */ -export function getWellKnownDatabaseSources(databaseSourceValues: string[]): string[] { - const databaseSourceSet = new Set(); - for (let databaseSourceValue of databaseSourceValues) { - const wellKnownDatabaseSourceValue = getWellKnownDatabaseSource(databaseSourceValue); - if (wellKnownDatabaseSourceValue) { - databaseSourceSet.add(wellKnownDatabaseSourceValue); - } - } - - return Array.from(databaseSourceSet); -} - /** * Returns SQL version number from docker image name which is in the beginning of the image name * @param imageName docker image name diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index 637a774819..4c698b34c7 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -321,7 +321,7 @@ export class ProjectsController { TelemetryReporter.createActionEvent(TelemetryViews.ProjectController, TelemetryActions.build) .withAdditionalMeasurements({ duration: timeToBuild }) - .withAdditionalProperties({ databaseSource: utils.getWellKnownDatabaseSources(project.getDatabaseSourceValues()).join(';') }) + .withAdditionalProperties({ databaseSource: project.getDatabaseSourceValues().join(';') }) .send(); return project.dacpacOutputPath; @@ -334,7 +334,7 @@ export class ProjectsController { TelemetryReporter.createErrorEvent2(TelemetryViews.ProjectController, TelemetryActions.build, err) .withAdditionalMeasurements({ duration: timeToFailureBuild }) - .withAdditionalProperties({ databaseSource: utils.getWellKnownDatabaseSources(project.getDatabaseSourceValues()).join(';') }) + .withAdditionalProperties({ databaseSource: project.getDatabaseSourceValues().join(';') }) .send(); const message = utils.getErrorMessage(err); @@ -518,7 +518,7 @@ export class ProjectsController { const buildEndTime = new Date().getTime(); telemetryMeasures.buildDuration = buildEndTime - buildStartTime; telemetryProps.buildSucceeded = (dacpacPath !== '').toString(); - telemetryProps.databaseSource = utils.getWellKnownDatabaseSources(project.getDatabaseSourceValues()).join(';'); + telemetryProps.databaseSource = project.getDatabaseSourceValues().join(';'); if (!dacpacPath) { TelemetryReporter.createErrorEvent2(TelemetryViews.ProjectController, TelemetryActions.publishProject) diff --git a/extensions/sql-database-projects/src/sqldbproj.d.ts b/extensions/sql-database-projects/src/sqldbproj.d.ts index 77a0e1a8ab..39d408db7f 100644 --- a/extensions/sql-database-projects/src/sqldbproj.d.ts +++ b/extensions/sql-database-projects/src/sqldbproj.d.ts @@ -187,6 +187,11 @@ declare module 'sqldbproj' { */ addSqlCmdVariable(name: string, defaultValue: string): Promise; + /** + * Gets an array of all database sources specified in the project. + */ + getDatabaseSourceValues(): string[]; + /** * Appends given database source to the DatabaseSource property element. * If property element does not exist, then new one will be created. diff --git a/extensions/sql-database-projects/src/test/utils.test.ts b/extensions/sql-database-projects/src/test/utils.test.ts index 66551185da..58bd534f35 100644 --- a/extensions/sql-database-projects/src/test/utils.test.ts +++ b/extensions/sql-database-projects/src/test/utils.test.ts @@ -141,12 +141,5 @@ describe('Tests to verify utils functions', function (): void { should(utils.findSqlVersionInTargetPlatform('Azure SQL Database')).equals(undefined, 'invalid number returned for Azure SQL Database'); should(utils.findSqlVersionInTargetPlatform('Azure Synapse SQL Pool')).equals(undefined, 'invalid number returned for Azure Synapse SQL Pool'); }); - - it('Should only return well known database strings when getWellKnownDatabaseSources function is called', async function (): Promise { - const sources = ['test1', 'test2', 'test3', constants.WellKnownDatabaseSources[0]]; - - (utils.getWellKnownDatabaseSources(sources).length).should.equal(1); - (utils.getWellKnownDatabaseSources(sources)[0]).should.equal(constants.WellKnownDatabaseSources[0]); - }); });