Skip to content

Commit

Permalink
Merge pull request #572 from MarkMpn/direct-updates
Browse files Browse the repository at this point in the history
Updated release notes
+semver:minor
  • Loading branch information
MarkMpn authored Nov 5, 2024
2 parents 2a79a08 + 3530447 commit b7eb797
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 60 deletions.
26 changes: 26 additions & 0 deletions AzureDataStudioExtension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Change Log

## [v9.4.0](https://github.com/MarkMpn/Sql4Cds/releases/tag/v9.4.0) - 2024-11-06
New SQL support
* `NEWID` function
* `DATETRUNC` function

SQL Server compatibility improvements
* Improved data type conversions for better SQL Server compatibility
* Reworked `DATEPART` / `DATEADD` / `DATEDIFF` functions for improved SQL Server compatibility

DML operation optimizations
* Update/delete records without reading them first if possible - disable if necessary with `NO_DIRECT_DML` query hint
* Implemented minimal updates via new `MINIMAL_UPDATES` query hint
* Refactored type conversion logic for consistency across insert/update/delete operations

Other improvements
* Extended support for executing messages with more parameter types
* TDS Endpoint compatibility improvements

Bug fixes
* Fixed filtering on `metadata.alternate_key.entitykeyindexstatus`
* Show confirmation message before executing bulk delete job
* Fixed use of `INSERT` and `UPDATE` with virtual tables
* Fixed use of `FULL OUTER JOIN` with Fetch XML
* Fixed filtering of `OUTER JOIN` / `OUTER APPLY` results when using nested loops
* Fixed use of alias in filters when converting from Fetch XML to SQL

## [v9.3.0](https://github.com/MarkMpn/Sql4Cds/releases/tag/v9.3.0) - 2024-08-26
New SQL support
* `STRING_SPLIT` function
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<iconUrl>http://markcarrington.dev/sql4cds-icon/</iconUrl>
<description>Converts FetchXML to SQL queries. This is a minimal source-only package, you can also use the MarkMpn.Sql4Cds.Engine package that includes this conversion as well as SQL to FetchXML conversion.</description>
<summary>Minimal source-only package to convert FetchXML to SQL</summary>
<releaseNotes>Added support for latest Fetch XML features</releaseNotes>
<releaseNotes>Fixed use of alias in filters</releaseNotes>
<copyright>Copyright © 2020 Mark Carrington</copyright>
<language>en-GB</language>
<tags>FetchXML SQL CDS</tags>
Expand Down
46 changes: 19 additions & 27 deletions MarkMpn.Sql4Cds.Engine/MarkMpn.Sql4Cds.Engine.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,29 @@
<description>Convert SQL queries to FetchXml and execute them against Dataverse / D365</description>
<summary>Convert SQL queries to FetchXml and execute them against Dataverse / D365</summary>
<releaseNotes>New SQL support
* `STRING_SPLIT` function
* `metadata.alternate_key` table to query entity key metadata
* `EXCEPT` and `INTERSECT` set operators
* `NEWID` function
* `DATETRUNC` function

Copilot improvements
* Improved Copilot resiliency when errors occur from OpenAI
* Show feedback when Copilot attempts to execute an invalid query
* Require more explicit permission to run queries from Copilot
SQL Server compatibility improvements
* Improved data type conversions for better SQL Server compatibility
* Reworked `DATEPART` / `DATEADD` / `DATEDIFF` functions for improved SQL Server compatibility

FetchXML compatibility improvements
* Support grouping by date columns in both UTC and local time zones
* Handle null primary key values returned by virtual entity providers
* Do not fold `DISTINCT` to queries including `audit.objectid` column
* Do not fold `DISTINCT` to queries including partylist attributes
* Do not fold `eq-userid` condition to non-lookup fields
* Improved moving filters to correct `link-entity`
* Improved folding sorts to aggregate FetchXML
* Hide virtual attributes from `solutioncomponent` entity
* Standardised use of aliases in query-defined tables
* Fixed use of `IS DISTINCT FROM` operator with cross-column comparisons
DML operation optimizations
* Update/delete records without reading them first if possible - disable if necessary with `NO_DIRECT_DML` query hint
* Implemented minimal updates via new `MINIMAL_UPDATES` query hint
* Refactored type conversion logic for consistency across insert/update/delete operations

Performance improvements
* Inject dynamic filter values into FetchXML queries via nested loop
Other improvements
* Extended support for executing messages with more parameter types
* TDS Endpoint compatibility improvements

Type conversions
* Fixed converting `datetime` to numeric types
* Decimal type conversion fixes for improved T-SQL compatibility
* Improved reporting of arithmetic overflow errors
* Extended type checking for join comparisons
* Do not require explicit conversion for different decimal types
* Do not attempt to statically validate data types of variable filters
Bug fixes
* Fixed filtering on `metadata.alternate_key.entitykeyindexstatus`
* Show confirmation message before executing bulk delete job
* Fixed use of `INSERT` and `UPDATE` with virtual tables
* Fixed use of `FULL OUTER JOIN` with Fetch XML
* Fixed filtering of `OUTER JOIN` / `OUTER APPLY` results when using nested loops
* Fixed use of alias in filters when converting from Fetch XML to SQL
</releaseNotes>
<copyright>Copyright © 2020 Mark Carrington</copyright>
<language>en-GB</language>
Expand Down
51 changes: 19 additions & 32 deletions MarkMpn.Sql4Cds/MarkMpn.SQL4CDS.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,42 +24,29 @@ Queries can also run using the preview TDS Endpoint. A wide range of SQL functio
in to allow running queries that aren't directly supported by either FetchXML or the TDS Endpoint.</description>
<summary>Convert SQL queries to FetchXML and execute them against Dataverse / D365</summary>
<releaseNotes>New SQL support
* `STRING_SPLIT` function
* `metadata.alternate_key` table to query entity key metadata
* `EXCEPT` and `INTERSECT` set operators
* `NEWID` function
* `DATETRUNC` function

Copilot improvements
* Improved Copilot resiliency when errors occur from OpenAI
* Show feedback when Copilot attempts to execute an invalid query
* Require more explicit permission to run queries from Copilot
SQL Server compatibility improvements
* Improved data type conversions for better SQL Server compatibility
* Reworked `DATEPART` / `DATEADD` / `DATEDIFF` functions for improved SQL Server compatibility

User experience
* Expose multiple errors in the same query execution
* Fixed formatting queries using comments and escaped identifiers
* Improved highlighting of error lines
DML operation optimizations
* Update/delete records without reading them first if possible - disable if necessary with `NO_DIRECT_DML` query hint
* Implemented minimal updates via new `MINIMAL_UPDATES` query hint
* Refactored type conversion logic for consistency across insert/update/delete operations

FetchXML compatibility improvements
* Support grouping by date columns in both UTC and local time zones
* Handle null primary key values returned by virtual entity providers
* Do not fold `DISTINCT` to queries including `audit.objectid` column
* Do not fold `DISTINCT` to queries including partylist attributes
* Do not fold `eq-userid` condition to non-lookup fields
* Improved moving filters to correct `link-entity`
* Improved folding sorts to aggregate FetchXML
* Hide virtual attributes from `solutioncomponent` entity
* Standardised use of aliases in query-defined tables
* Fixed use of `IS DISTINCT FROM` operator with cross-column comparisons
Other improvements
* Extended support for executing messages with more parameter types
* TDS Endpoint compatibility improvements

Performance improvements
* Inject dynamic filter values into FetchXML queries via nested loop

Type conversions
* Fixed converting `datetime` to numeric types
* Decimal type conversion fixes for improved T-SQL compatibility
* Improved reporting of arithmetic overflow errors
* Extended type checking for join comparisons
* Do not require explicit conversion for different decimal types
* Do not attempt to statically validate data types of variable filters
Bug fixes
* Fixed filtering on `metadata.alternate_key.entitykeyindexstatus`
* Show confirmation message before executing bulk delete job
* Fixed use of `INSERT` and `UPDATE` with virtual tables
* Fixed use of `FULL OUTER JOIN` with Fetch XML
* Fixed filtering of `OUTER JOIN` / `OUTER APPLY` results when using nested loops
* Fixed use of alias in filters when converting from Fetch XML to SQL
</releaseNotes>
<copyright>Copyright © 2019 Mark Carrington</copyright>
<language>en-GB</language>
Expand Down

0 comments on commit b7eb797

Please sign in to comment.