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

Reverse engineering of Dynamics CRM TDS endpoint and Synapse Serverless SQL Pool #29122

Merged
merged 8 commits into from
Nov 20, 2022

Conversation

ErikEJ
Copy link
Contributor

@ErikEJ ErikEJ commented Sep 16, 2022

…Synapse Serverless SQL Pool SKUs for query only operations

Index query breaks on TDS endpoint, but we can just skip it

sys.views does not exist on TDS endpoint

No temporal, memory optimized or sequences in these engines

Rephrase of FK query due to lack of schema functions on TDS endpoint

Smoke tested against both engines with a CRM schema

fixes #29121

…Synapse Serverless SQL Pool SKUs for query only operations

Index query breaks on TDS endpoint, but we can just skip it

sys.views does not exist on TDS endpoint

No temporal, memory optimized or sequences in these engines

Rephrase of FK query due to lack of schema functions on TDS endpoint

Smoke tested against both engines with a CRM schema

fixes dotnet#29121
@ErikEJ ErikEJ changed the title Issue 29121 Reverse engineering of Dynamics CRM TDS endpoint and Synapse Serverless SQL Pool Sep 16, 2022
=> _compatibilityLevel >= 110 && _engineEdition != 6;
=> _compatibilityLevel >= 110 && (_engineEdition is not 6 and not 11 and not 1000);

private bool SupportsViewsAndIndexes()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at all these functions and their usages, may be we should cache them in private field.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_compatibilityLevel and _engineEdition are already private fields

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we could cache the function outputs (i.e. _supportsTemporalTable), though the perf impact here would probably be negligible (it's scaffolding after all).

@ErikEJ
Copy link
Contributor Author

ErikEJ commented Oct 25, 2022

@smitpatel @roji Any more I need to do here - or are you just busy?

@roji
Copy link
Member

roji commented Oct 25, 2022

@ErikEJ sorry this didn't receive any attention. I'll likely be very busy until 7.0 is released, if nobody else on the team picks this up until then I'll revisit this.

@ErikEJ
Copy link
Contributor Author

ErikEJ commented Oct 25, 2022

@roji Thanks, as suspected you are very busy - no rush... 😄

@ErikEJ
Copy link
Contributor Author

ErikEJ commented Nov 16, 2022

@roji are we there yet? 😄

@roji
Copy link
Member

roji commented Nov 16, 2022

@ErikEJ almost 🤣

Am slowly getting control of my backlog, promise to review in the next couple of days,

@roji roji closed this Nov 16, 2022
@roji roji reopened this Nov 16, 2022
Copy link
Member

@roji roji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall, see small comments.

=> _compatibilityLevel >= 110 && _engineEdition != 6;
=> _compatibilityLevel >= 110 && (_engineEdition is not 6 and not 11 and not 1000);

private bool SupportsViewsAndIndexes()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we could cache the function outputs (i.e. _supportsTemporalTable), though the perf impact here would probably be negligible (it's scaffolding after all).

@ErikEJ
Copy link
Contributor Author

ErikEJ commented Nov 19, 2022

Are all comments properly addressed now?

Copy link
Member

@roji roji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @ErikEJ! You forgot one SupportsViewsAndIndexes (does not compile), will merge after that's fixed.

@ErikEJ
Copy link
Contributor Author

ErikEJ commented Nov 19, 2022

Build break fixed

@roji roji merged commit 9ea1e7f into dotnet:main Nov 20, 2022
@roji
Copy link
Member

roji commented Nov 20, 2022

Thanks @ErikEJ!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reverse engineer Synapse Serverless SQL Pool and Dynamics 365 TDS Endpoint
4 participants