Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CTEs #383

Merged
merged 85 commits into from
Nov 24, 2023
Merged

CTEs #383

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
f450304
Initial basic CTE implementation
MarkMpn Sep 4, 2023
c07a8cc
Allow using TDS Endpoint for non-recursive CTEs
MarkMpn Sep 5, 2023
9137321
More simple tests
MarkMpn Sep 5, 2023
b588229
Fixed UNION with wildcard columns
MarkMpn Sep 5, 2023
f0a8915
Updated error messages to match SQL Server
MarkMpn Sep 5, 2023
fb67a7e
Validate CTEs before trying to convert them
MarkMpn Sep 6, 2023
9e4616a
Tests for column aliases
MarkMpn Sep 6, 2023
8e31b54
Added tests for calculated columns within CTE
MarkMpn Sep 7, 2023
180694d
Build basic structure of recursive CTE plan
MarkMpn Sep 8, 2023
b2382e7
Merge remote-tracking branch 'origin/master' into cte
MarkMpn Sep 9, 2023
95226dd
Use MAXRECURSION hint
MarkMpn Sep 10, 2023
2fe11e9
Progress
MarkMpn Sep 10, 2023
e43617f
Clone spool producer/consumer nodes
MarkMpn Sep 11, 2023
ca8c03f
Merge remote-tracking branch 'origin/master' into cte
MarkMpn Sep 17, 2023
d2e072f
Recursion progress
MarkMpn Sep 18, 2023
55acc58
Allow cloning joins
MarkMpn Sep 27, 2023
07021a7
Keep aliases case insensitive
MarkMpn Sep 27, 2023
efec67c
Preserve WithStack property while cloning
MarkMpn Sep 27, 2023
165577d
Use producer node as source
MarkMpn Sep 27, 2023
203ac33
Fixed column renaming
MarkMpn Sep 27, 2023
38fa3f1
Extended tests
MarkMpn Sep 27, 2023
8673a6a
Merged from master
MarkMpn Oct 1, 2023
9520643
Fixed nested loop left outer join with no records returned from inner…
MarkMpn Oct 3, 2023
740580a
Merged from master
MarkMpn Oct 16, 2023
beff093
Spool large recursive queries
MarkMpn Oct 18, 2023
41a0e3e
Initial work on folding CTEs to FetchXML
MarkMpn Oct 20, 2023
a74a25b
Improved folding CTE to FetchXML
MarkMpn Oct 22, 2023
06dac7b
Allow rewriting CTEs used in subqueries
MarkMpn Oct 22, 2023
9f4349b
Check for multi-currency issues when aggregating non-base currency fi…
MarkMpn Oct 24, 2023
9ae6aa7
Allow using columns from outer queries in joins
MarkMpn Oct 25, 2023
17c2a73
Use standard Index Spool icon for custom Adaptive Index Spool node
MarkMpn Oct 25, 2023
10aa0fb
Support disconnect message from object explorer
MarkMpn Oct 25, 2023
9aaad16
Added missing files to NuGet package
MarkMpn Oct 27, 2023
1a1c177
Improved FetchXML to SQL conversion for hierarchical filters
MarkMpn Oct 27, 2023
7dee5fb
Fixed test
MarkMpn Oct 29, 2023
add2b61
Added tests for folding CTEs to hierarchical FetchXML conditions
MarkMpn Oct 30, 2023
6de3297
Handle time zone mismatch for starting bulk delete jobs
MarkMpn Oct 30, 2023
0237775
Fixed row count estimate overflow
MarkMpn Oct 31, 2023
45f89f1
Fold "under" and "above" filters to FetchXML
MarkMpn Oct 31, 2023
1ca1381
Do not re-fold filter source immediately
MarkMpn Nov 1, 2023
1770472
Reduce custom sorts on merge joins
MarkMpn Nov 2, 2023
604586c
Switch FetchXML sort to custom sorting after adding joins that requir…
MarkMpn Nov 2, 2023
57af6c5
Avoid folding filters to tables in subqueries if the same alias exist…
MarkMpn Nov 2, 2023
624e423
Show plugin log more reliably
MarkMpn Nov 3, 2023
749b9e5
Do not fold NOT IN queries using an inner join to a left outer join
MarkMpn Nov 3, 2023
1ed3d60
Fixed error showing execution plan with calculated columns
MarkMpn Nov 6, 2023
cab37bd
Show plugin error details in Azure Data Studio messages
MarkMpn Nov 6, 2023
d4c8592
Remove data source from list when final use is disconnected
MarkMpn Nov 6, 2023
a6b0237
Clearer progress messages for multi-threaded DML operations
MarkMpn Nov 7, 2023
ee540f9
Refactored outputting log messages from DML nodes
MarkMpn Nov 10, 2023
49d0694
Added IGNORE_DUP_KEY query hint for insert commands
MarkMpn Nov 10, 2023
18f7f91
Avoid additional RetrieveVersionRequest where possible
MarkMpn Nov 10, 2023
583d987
Apply naming convention
MarkMpn Nov 10, 2023
915ee7c
Add log message indicating IGNORE_DUP_KEY is implicit for listmember …
MarkMpn Nov 10, 2023
00d3d72
Added OPENJSON support using default schema
MarkMpn Nov 11, 2023
ccf8cec
Added OPENJSON support using explicit schema
MarkMpn Nov 13, 2023
3f87b05
Use System.Text.Json instead of Newtonsoft
MarkMpn Nov 15, 2023
4c077ca
Updated expected whitespace
MarkMpn Nov 15, 2023
c7c5b81
Handle subquery alias as source for defined values in join
MarkMpn Nov 15, 2023
588d0b1
Fixed use of OPENJSON in CROSS APPLY
MarkMpn Nov 15, 2023
3894c6b
Handle setting polymorphic lookup fields using TDS Endpoint
MarkMpn Nov 15, 2023
7c52cb2
Offer literal value suggestions for entityname attributes
MarkMpn Nov 15, 2023
f3bd7f6
Fixed column name escaping
MarkMpn Nov 15, 2023
2535ab6
Fixed use of SELECT * within CTEs
MarkMpn Nov 15, 2023
0056a42
Added filter StartupExpression for more efficient filtering of CROSS …
MarkMpn Nov 15, 2023
a336ee4
Added JSON_QUERY and ISJSON methods
MarkMpn Nov 17, 2023
6497d27
Added new files to project
MarkMpn Nov 17, 2023
9670131
Made TVF display consistent in execution plan
MarkMpn Nov 17, 2023
7d52cc7
Made OPENJSON handling of scalar values consistent with SQL Server
MarkMpn Nov 17, 2023
7d14f8e
Find & Replace improvements
MarkMpn Nov 18, 2023
595fcd4
Improved handling of ambiguous column names from un-aliased TVFs
MarkMpn Nov 18, 2023
e04bf75
Fix partitioned aggregate error handling for dense data
MarkMpn Nov 18, 2023
e955970
Added "Yes To All" option for DML confirmation dialogs
MarkMpn Nov 20, 2023
f7cd407
Preserve comments during formatting
MarkMpn Nov 21, 2023
f6ec7cc
Fixed errors with CTE rewrites using alises in recursive references a…
MarkMpn Nov 21, 2023
4546d39
Updated dependencies
MarkMpn Nov 22, 2023
d70055d
Updated release notes
MarkMpn Nov 22, 2023
8077808
Updated dependencies
MarkMpn Nov 22, 2023
79462c3
Added option to copy URL to record
MarkMpn Nov 22, 2023
55f2938
Simplified comment reformatting logic
MarkMpn Nov 22, 2023
09a2ac0
Updated node
MarkMpn Nov 23, 2023
51aa85a
Removed npm package lock file - install packages with yarn
MarkMpn Nov 23, 2023
bc70b33
Give direct link to new download file
MarkMpn Nov 23, 2023
f9293e5
Use https instead of ssh for github
MarkMpn Nov 23, 2023
c0404f0
Give direct link to new download file
MarkMpn Nov 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion AzureDataStudioExtension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@
# Change Log

## [v7.6.1)(https://github.com/MarkMpn/Sql4Cds/releases/tag/v7.6.1) - 2023-10-15
## [v8.0.0](https://github.com/MarkMpn/Sql4Cds/releases/tag/v8.0.0) - 2023-11-25

Added Common Table Expression support:
- Non-recursive CTEs are expanded to subqueries for compatibility with TDS Endpoint
- Recurve CTEs are converted to hierarchical FetchXML filters where possible

Extended JSON support:
- `OPENJSON` table-valued function
- `JSON_QUERY` function
- `ISJSON` function

Query optimizer improvements:
- Prefer hash joins over merge joins if sorts cannot be folded
- Switch FetchXML sorts to custom sorting after adding joins that require custom paging
- Avoid folding filters to tables in subqueries if the same alias exists in the outer query
- Do not use a left outer join to implement `NOT IN` queries where the subquery uses an inner join

Added `IGNORE_DUP_KEY` query hint to ignore duplicate key errors on insert
Added check for multi-currency issues when aggregating non-base currency fields
Added support for disconnecting instances from Azure Data Studio object explorer
Added plugin log messages in error message output
Clearer progress messages for multi-threaded DML operations
Added autocomplete literal value suggestions for entityname attributes

Fixed use of `UNION` with wildcard columns
Fixed error in nested loop joins with no records from inner source
Fixed use of columns from outer queries in join criteria in subqueries
Fixed time zone mismatch when starting bulk delete jobs
Fixed setting polymorphic lookup fields using TDS Endpoint
Fixed aggregates with very dense data distribution

## [v7.6.1](https://github.com/MarkMpn/Sql4Cds/releases/tag/v7.6.1) - 2023-10-15

Fixed use of `IN` subqueries when data source cannot be converted to FetchXML
Fixed use of `LIKE` filters with data containing embedded returns
Expand Down
Loading