Skip to content

Commit 43845d4

Browse files
committed
Invert QueryFeatures item from negative to positive
1 parent e35d87f commit 43845d4

File tree

9 files changed

+116
-9
lines changed

9 files changed

+116
-9
lines changed

Orm/Xtensive.Orm.Firebird/Sql.Drivers.Firebird/v2_5/ServerInfoProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ public override QueryInfo GetQueryInfo()
183183
queryInfo.Features =
184184
QueryFeatures.NamedParameters |
185185
QueryFeatures.ParameterPrefix |
186-
QueryFeatures.ParameterAsColumnNotAllowed |
187186
QueryFeatures.ScalarSubquery |
188187
QueryFeatures.Paging |
189188
QueryFeatures.Limit |

Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/ServiceInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ public override QueryInfo GetQueryInfo()
209209
QueryFeatures.ScalarSubquery |
210210
QueryFeatures.SelfReferencingRowRemovalIsError |
211211
QueryFeatures.StrictJoinSyntax |
212-
QueryFeatures.Batches;
212+
QueryFeatures.Batches |
213+
QueryFeatures.ParameterAsColumn;
213214
return queryInfo;
214215
}
215216

Orm/Xtensive.Orm.Oracle/Sql.Drivers.Oracle/v09/ServerInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,8 @@ public override QueryInfo GetQueryInfo()
195195
QueryFeatures.InsertDefaultValues |
196196
QueryFeatures.UpdateDefaultValues |
197197
QueryFeatures.MultischemaQueries |
198-
QueryFeatures.RowNumber;
198+
QueryFeatures.RowNumber |
199+
QueryFeatures.ParameterAsColumn;
199200
return queryInfo;
200201
}
201202

Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/ServerInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,8 @@ public override QueryInfo GetQueryInfo()
253253
QueryFeatures.InsertDefaultValues |
254254
QueryFeatures.UpdateDefaultValues |
255255
QueryFeatures.MultischemaQueries |
256-
QueryFeatures.ScalarSubquery;
256+
QueryFeatures.ScalarSubquery |
257+
QueryFeatures.ParameterAsColumn;
257258
info.ParameterPrefix = "@";
258259
info.MaxComparisonOperations = 1000000;
259260
info.MaxLength = 1000000;

Orm/Xtensive.Orm.SqlServer/Sql.Drivers.SqlServer/v09/ServerInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,8 @@ public override QueryInfo GetQueryInfo()
201201
QueryFeatures.MultischemaQueries |
202202
QueryFeatures.MultidatabaseQueries |
203203
QueryFeatures.ScalarSubquery |
204-
QueryFeatures.PagingRequiresOrderBy;
204+
QueryFeatures.PagingRequiresOrderBy |
205+
QueryFeatures.ParameterAsColumn;
205206
return queryInfo;
206207
}
207208

Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/ServerInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ public override QueryInfo GetQueryInfo()
174174
| QueryFeatures.Offset
175175
| QueryFeatures.InsertDefaultValues
176176
| QueryFeatures.StrictJoinSyntax
177-
| QueryFeatures.ScalarSubquery;
177+
| QueryFeatures.ScalarSubquery
178+
| QueryFeatures.ParameterAsColumn;
178179
return queryInfo;
179180
}
180181

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using NUnit.Framework;
5+
using Xtensive.Orm.Model;
6+
using Before = Xtensive.Orm.Tests.Upgrade.WeirdSequenceErrorModel.Before;
7+
using After = Xtensive.Orm.Tests.Upgrade.WeirdSequenceErrorModel.After;
8+
9+
namespace Xtensive.Orm.Tests.Upgrade.WeirdSequenceErrorModel
10+
{
11+
namespace Before
12+
{
13+
[HierarchyRoot(InheritanceSchema.ConcreteTable)]
14+
public class VisitDriveTime : Entity
15+
{
16+
[Key, Field]
17+
public long Id { get; set; }
18+
19+
public VisitDriveTime(Session session) : base(session)
20+
{
21+
}
22+
}
23+
24+
[TableMapping("VisitDriveTime")]
25+
[HierarchyRoot]
26+
public class VisitTripInfo : Entity
27+
{
28+
[Key, Field]
29+
public long Id { get; private set; }
30+
31+
public VisitTripInfo(Session session) : base(session)
32+
{
33+
}
34+
}
35+
}
36+
37+
namespace After
38+
{
39+
[HierarchyRoot(InheritanceSchema.ConcreteTable)]
40+
public class VisitDriveTime : Entity
41+
{
42+
[Key, Field]
43+
public long Id { get; set; }
44+
45+
public VisitDriveTime(Session session) : base(session)
46+
{
47+
}
48+
}
49+
50+
[TableMapping("VisitDriveTime")]
51+
[HierarchyRoot]
52+
//[Index(nameof(Id), Name = "PK_VisitDriveTime")]
53+
public class VisitTripInfo : Entity
54+
{
55+
[Key, Field]
56+
public long Id { get; private set; }
57+
58+
public VisitTripInfo(Session session) : base(session)
59+
{
60+
}
61+
}
62+
}
63+
}
64+
65+
namespace Xtensive.Orm.Tests.Upgrade
66+
{
67+
[TestFixture]
68+
public class WeirdSequenceError
69+
{
70+
[Test]
71+
public void OnlyNamespaceChangeTest()
72+
{
73+
var initConfig = DomainConfigurationFactory.Create();
74+
initConfig.Types.Register(typeof(Before.VisitDriveTime));
75+
initConfig.UpgradeMode = DomainUpgradeMode.Recreate;
76+
77+
using (var domain = Domain.Build(initConfig)) { }
78+
79+
var upgradeConfig = DomainConfigurationFactory.Create();
80+
upgradeConfig.Types.Register(typeof(After.VisitDriveTime));
81+
upgradeConfig.UpgradeMode = DomainUpgradeMode.Default;
82+
83+
using (var domain = Domain.Build(upgradeConfig)) { }
84+
}
85+
86+
[Test]
87+
public void MainDomainTest()
88+
{
89+
var initConfig = DomainConfigurationFactory.Create();
90+
initConfig.Types.Register(typeof(Before.VisitDriveTime));
91+
initConfig.UpgradeMode = DomainUpgradeMode.Recreate;
92+
93+
using (var domain = Domain.Build(initConfig)) { }
94+
95+
var upgradeConfig = DomainConfigurationFactory.Create();
96+
upgradeConfig.Types.Register(typeof(After.VisitTripInfo));
97+
upgradeConfig.UpgradeMode = DomainUpgradeMode.Default;
98+
99+
using (var domain = Domain.Build(upgradeConfig)) { }
100+
101+
}
102+
}
103+
}

Orm/Xtensive.Orm/Orm/Providers/SqlCompiler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ public SqlCompiler(HandlerAccessor handlers, CompilerConfiguration configuration
565565
providerInfo = Handlers.ProviderInfo;
566566
temporaryTablesSupported = DomainHandler.TemporaryTableManager.Supported;
567567
forceApplyViaReference = handlers.ProviderInfo.ProviderName.Equals(WellKnown.Provider.PostgreSql);
568-
useParameterForTypeId = !Driver.ServerInfo.Query.Features.HasFlag(Sql.Info.QueryFeatures.ParameterAsColumnNotAllowed);
568+
useParameterForTypeId = Driver.ServerInfo.Query.Features.HasFlag(Sql.Info.QueryFeatures.ParameterAsColumn);
569569

570570
if (!providerInfo.Supports(ProviderFeatures.FullFeaturedBooleanExpressions)) {
571571
booleanExpressionConverter = new BooleanExpressionConverter(Driver);

Orm/Xtensive.Orm/Sql/Info/QueryFeatures.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ public enum QueryFeatures
148148
DeleteLimit = 1 << 25,
149149

150150
/// <summary>
151-
/// Indicates that RDBMS does not support SQL parameter in selected columns of SELECT statement.
151+
/// Indicates that RDBMS supports SQL parameter in selected columns of SELECT statement.
152152
/// </summary>
153-
ParameterAsColumnNotAllowed = 1 << 26,
153+
ParameterAsColumn = 1 << 26,
154154

155155
/// <summary>
156156
/// Indicates that RDBMS supports paging operators (<see cref="Limit"/> and <see cref="Offset"/>).

0 commit comments

Comments
 (0)