diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/AssignVariablesNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/AssignVariablesNode.cs index ea849635..694dc9a5 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/AssignVariablesNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/AssignVariablesNode.cs @@ -137,9 +137,11 @@ public override object Clone() { var clone = new AssignVariablesNode { + BypassCustomPluginExecution = BypassCustomPluginExecution, DataSource = DataSource, Index = Index, Length = Length, + MaxDOP = MaxDOP, Source = (IExecutionPlanNodeInternal)Source.Clone(), Sql = Sql }; diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/DeleteNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/DeleteNode.cs index da2159a7..f8ec5f5b 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/DeleteNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/DeleteNode.cs @@ -235,10 +235,12 @@ public override object Clone() { var clone = new DeleteNode { + BypassCustomPluginExecution = BypassCustomPluginExecution, DataSource = DataSource, Index = Index, Length = Length, LogicalName = LogicalName, + MaxDOP = MaxDOP, PrimaryIdSource = PrimaryIdSource, SecondaryIdSource = SecondaryIdSource, Source = (IExecutionPlanNodeInternal)Source.Clone(), diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/ExecuteAsNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/ExecuteAsNode.cs index d0ffb73c..525cc6de 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/ExecuteAsNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/ExecuteAsNode.cs @@ -116,9 +116,11 @@ public override object Clone() { var clone = new ExecuteAsNode { + BypassCustomPluginExecution = BypassCustomPluginExecution, DataSource = DataSource, Index = Index, Length = Length, + MaxDOP = MaxDOP, Source = (IExecutionPlanNodeInternal)Source.Clone(), Sql = Sql, UserIdSource = UserIdSource diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/InsertNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/InsertNode.cs index c20f80a8..84269c0c 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/InsertNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/InsertNode.cs @@ -219,10 +219,12 @@ public override object Clone() { var clone = new InsertNode { + BypassCustomPluginExecution = BypassCustomPluginExecution, DataSource = DataSource, Index = Index, Length = Length, LogicalName = LogicalName, + MaxDOP = MaxDOP, Source = (IExecutionPlanNodeInternal)Source.Clone(), Sql = Sql }; diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/PrintNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/PrintNode.cs index 23f204e0..2e47b356 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/PrintNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/PrintNode.cs @@ -40,7 +40,10 @@ public object Clone() return new PrintNode { Expression = Expression, - _expression = _expression + _expression = _expression, + Index = Index, + Length = Length, + Sql = Sql }; } diff --git a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/UpdateNode.cs b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/UpdateNode.cs index 8a2ebc5a..7d77471c 100644 --- a/MarkMpn.Sql4Cds.Engine/ExecutionPlan/UpdateNode.cs +++ b/MarkMpn.Sql4Cds.Engine/ExecutionPlan/UpdateNode.cs @@ -175,10 +175,12 @@ public override object Clone() { var clone = new UpdateNode { + BypassCustomPluginExecution = BypassCustomPluginExecution, DataSource = DataSource, Index = Index, Length = Length, LogicalName = LogicalName, + MaxDOP = MaxDOP, PrimaryIdSource = PrimaryIdSource, Source = (IExecutionPlanNodeInternal)Source.Clone(), Sql = Sql diff --git a/MarkMpn.Sql4Cds.Engine/MarkMpn.Sql4Cds.Engine.nuspec b/MarkMpn.Sql4Cds.Engine/MarkMpn.Sql4Cds.Engine.nuspec index 5a47f157..8c0e20aa 100644 --- a/MarkMpn.Sql4Cds.Engine/MarkMpn.Sql4Cds.Engine.nuspec +++ b/MarkMpn.Sql4Cds.Engine/MarkMpn.Sql4Cds.Engine.nuspec @@ -11,13 +11,7 @@ https://markcarrington.dev/sql4cds-icon/ Convert SQL queries to FetchXml and execute them against Dataverse / D365 Convert SQL queries to FetchXml and execute them against Dataverse / D365 - Fixed use of aggregates in SET statement -Fixed cost display in execution plan for SELECT queries -Metadata filter case sensitivity fix -Improved null literal handling -Implemented WAITFOR statement -Fixed use of bulk delete with parameterized queries -Fixed error querying tables with lookup columns with no targets + Fixed bypassing plugins and parallelism on UPDATE/INSERT/DELETE Copyright © 2020 Mark Carrington en-GB SQL CDS diff --git a/MarkMpn.Sql4Cds/MarkMpn.SQL4CDS.nuspec b/MarkMpn.Sql4Cds/MarkMpn.SQL4CDS.nuspec index 28183217..559fb2cd 100644 --- a/MarkMpn.Sql4Cds/MarkMpn.SQL4CDS.nuspec +++ b/MarkMpn.Sql4Cds/MarkMpn.SQL4CDS.nuspec @@ -22,13 +22,7 @@ plugins or integrations by writing familiar SQL and converting it. Using the preview TDS Endpoint, SELECT queries can also be run that aren't convertible to FetchXML. Convert SQL queries to FetchXML and execute them against Dataverse / D365 - Fixed use of aggregates in SET statement -Fixed cost display in execution plan for SELECT queries -Metadata filter case sensitivity fix -Improved null literal handling -Implemented WAITFOR statement -Fixed use of bulk delete with parameterized queries -Fixed error querying tables with lookup columns with no targets + Fixed bypassing plugins and parallelism on UPDATE/INSERT/DELETE Copyright © 2019 Mark Carrington en-GB XrmToolBox SQL CDS