Skip to content

Changing Case in XML queries does not flag as a difference #231

@dconnolly131

Description

@dconnolly131
  • SqlPackage or DacFx Version: 161.8089.0
  • .NET Framework (Windows-only) or .NET Core: .NET Framework
  • Environment (local platform and source/target platforms): Windows

Steps to Reproduce:
When changing the case of an xml query that is encased in quotes in a database project, SSDT does not flag this as a difference, unless there is another 'valid' difference in the file as well. This means changes wont get deployed and applications will fail.

I have included a Test Solution file and test document so that this can be replicated in this repo
https://github.com/DotdigitalDBA/sqlPackageTickets/tree/main/SSDTXMLBug
Basic steps to reproduce:

  1. Create sproc with xml query
    eg
SELECT
 members.value('.','varchar(100)') as [TeamMembers]
FROM @SQLXML.nodes('/teams/dbateam/team') as team(members)
  1. Run schema compare in VS > No changes
  2. Change case of xml query
    eg
SELECT
 members.value('.','varchar(100)') as [TeamMembers]
FROM @SQLXML.nodes('/Teams/DBAteam/Team') as team(members)
  1. Run schema compare again > Still no changes. Even though this change will now break all your XML queries.

This has been routed through MS premier support. They provided a "workaround" to change collation to a case sensitive collation. This isn't suitable, collation shouldn't play any part here, regardless of the collation you choose, changing case in an XML query will break existing queries.

Did this occur in prior versions? If not - which version(s) did it work in?

(DacFx/SqlPackage/SSMS/Azure Data Studio)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions