Skip to content

Commit 31757cb

Browse files
added .editorconfig
1 parent c19b220 commit 31757cb

File tree

14 files changed

+76
-123
lines changed

14 files changed

+76
-123
lines changed

.editorconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
root = true
2+
3+
[*.cs]
4+
5+
csharp_style_expression_bodied_methods = true:suggestion

.github/scripts/format-all-dotnet-code.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ set -eu
44

55
DIR="$1"
66
SLN_FILE="$2"
7-
PROFILE="$3"
87

98
cd "$DIR"
109

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: Install ReSharper
3434
run: dotnet tool install -g JetBrains.ReSharper.GlobalTools
3535
- name: format all files with auto-formatter
36-
run: bash ./.github/scripts/format-all-dotnet-code.sh ${{ matrix.source-dir }} ${{ matrix.solutionFile }} "Custom Cleanup"
36+
run: bash ./.github/scripts/format-all-dotnet-code.sh ${{ matrix.source-dir }} ${{ matrix.solutionFile }}
3737
- name: Check repository diff
3838
run: bash ./.github/scripts/check-work-copy-equals-to-committed.sh "auto-format broken"
3939

src/EfCore.Ydb/src/Migrations/Internal/YdbHistoryRepository.cs

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -71,28 +71,17 @@ public override string GetEndIfScript()
7171
throw new NotImplementedException();
7272
}
7373

74-
private sealed class YdbMigrationDatabaseLock : IMigrationsDatabaseLock
74+
private sealed class YdbMigrationDatabaseLock(
75+
string name,
76+
IHistoryRepository historyRepository,
77+
YdbRelationalConnection ydbConnection
78+
) : IMigrationsDatabaseLock
7579
{
76-
public IYdbRelationalConnection Connection { get; }
77-
private readonly string _name;
78-
private volatile string _pid;
80+
private IYdbRelationalConnection Connection { get; } = ydbConnection.Clone();
81+
private volatile string _pid = null!;
7982
private CancellationTokenSource? _watchDogToken;
8083

81-
public YdbMigrationDatabaseLock(
82-
string name,
83-
IHistoryRepository historyRepository,
84-
YdbRelationalConnection ydbConnection
85-
)
86-
{
87-
_name = name;
88-
HistoryRepository = historyRepository;
89-
Connection = ydbConnection.Clone();
90-
}
91-
92-
public async Task Lock(
93-
int timeoutInSeconds,
94-
CancellationToken cancellationToken = default
95-
)
84+
public async Task Lock(int timeoutInSeconds, CancellationToken cancellationToken = default)
9685
{
9786
if (_watchDogToken != null)
9887
{
@@ -102,16 +91,15 @@ public async Task Lock(
10291
await Connection.OpenAsync(cancellationToken);
10392
await using (var command = Connection.DbConnection.CreateCommand())
10493
{
105-
command.CommandText =
106-
"""
107-
CREATE TABLE IF NOT EXISTS shedlock (
108-
name Text NOT NULL,
109-
locked_at Timestamp NOT NULL,
110-
lock_until Timestamp NOT NULL,
111-
locked_by Text NOT NULL,
112-
PRIMARY KEY(name)
113-
);
114-
""";
94+
command.CommandText = """
95+
CREATE TABLE IF NOT EXISTS shedlock (
96+
name Text NOT NULL,
97+
locked_at Timestamp NOT NULL,
98+
lock_until Timestamp NOT NULL,
99+
locked_by Text NOT NULL,
100+
PRIMARY KEY(name)
101+
);
102+
""";
115103
await command.ExecuteNonQueryAsync(cancellationToken);
116104
}
117105

@@ -120,11 +108,12 @@ PRIMARY KEY(name)
120108
var lockAcquired = false;
121109
for (var i = 0; i < 10; i++)
122110
{
123-
if (await UpdateLock(_name, timeoutInSeconds))
111+
if (await UpdateLock(name, timeoutInSeconds))
124112
{
125113
lockAcquired = true;
126114
break;
127115
}
116+
128117
await Task.Delay(TimeSpan.FromMilliseconds(500), cancellationToken);
129118
}
130119

@@ -138,16 +127,14 @@ PRIMARY KEY(name)
138127
{
139128
while (true)
140129
{
130+
// ReSharper disable once PossibleLossOfFraction
141131
await Task.Delay(TimeSpan.FromSeconds(timeoutInSeconds / 2), _watchDogToken.Token);
142-
await UpdateLock(_name, timeoutInSeconds);
132+
await UpdateLock(name, timeoutInSeconds);
143133
}
144134
})!, _watchDogToken.Token);
145135
}
146136

147-
private async Task<bool> UpdateLock(
148-
string name,
149-
int timeoutInSeconds
150-
)
137+
private async Task<bool> UpdateLock(string name, int timeoutInSeconds)
151138
{
152139
var command = Connection.DbConnection.CreateCommand();
153140
command.CommandText =
@@ -162,7 +149,7 @@ UPSERT INTO shedlock (name, locked_at, lock_until, locked_by)
162149
""";
163150
command.Parameters.Add(new YdbParameter("name", DbType.String, name));
164151
command.Parameters.Add(new YdbParameter("locked_by", DbType.String, _pid));
165-
152+
166153
try
167154
{
168155
await command.ExecuteNonQueryAsync();
@@ -186,13 +173,13 @@ private async Task DisposeInternalAsync()
186173
{
187174
await _watchDogToken.CancelAsync();
188175
}
189-
176+
190177
_watchDogToken = null;
191178
await using var connection = Connection.DbConnection.CreateCommand();
192179
connection.CommandText = "DELETE FROM shedlock WHERE name = '{_name}' AND locked_by = '{PID}';";
193180
await connection.ExecuteNonQueryAsync();
194181
}
195182

196-
public IHistoryRepository HistoryRepository { get; }
183+
public IHistoryRepository HistoryRepository { get; } = historyRepository;
197184
}
198185
}

src/EfCore.Ydb/src/Query/Internal/Translators/StubTranslator.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99
namespace EfCore.Ydb.Query.Internal.Translators;
1010

1111
// TODO: Remove this class. Temporary stub for debug only
12-
public class StubTranslator(YdbSqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator, IMemberTranslator
12+
public class StubTranslator : IMethodCallTranslator, IMemberTranslator
1313
{
14-
private readonly YdbSqlExpressionFactory _expressionFactory = sqlExpressionFactory;
15-
1614
public SqlExpression? Translate(
1715
SqlExpression? instance,
1816
MethodInfo method,

src/EfCore.Ydb/src/Query/Internal/Translators/YdbQueryableAggregateMethodTranslator.cs

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ public class YdbQueryableAggregateMethodTranslator(
2929
: method;
3030
switch (methodInfo.Name)
3131
{
32-
case nameof(Queryable.Average)
33-
when (QueryableMethods.IsAverageWithoutSelector(methodInfo)
34-
|| QueryableMethods.IsAverageWithSelector(methodInfo))
35-
&& source.Selector is SqlExpression averageSqlExpression:
32+
case nameof(Queryable.Average) when
33+
(QueryableMethods.IsAverageWithoutSelector(methodInfo) ||
34+
QueryableMethods.IsAverageWithSelector(methodInfo))
35+
&& source.Selector is SqlExpression averageSqlExpression:
3636
var averageInputType = averageSqlExpression.Type;
3737
if (averageInputType == typeof(int)
3838
|| averageInputType == typeof(long))
@@ -59,10 +59,10 @@ public class YdbQueryableAggregateMethodTranslator(
5959
averageSqlExpression.Type,
6060
averageSqlExpression.TypeMapping);
6161

62-
case nameof(Queryable.Count)
63-
when methodInfo == QueryableMethods.CountWithoutPredicate
64-
|| methodInfo == QueryableMethods.CountWithPredicate:
65-
var countSqlExpression = (source.Selector as SqlExpression) ?? sqlExpressionFactory.Fragment("*");
62+
case nameof(Queryable.Count) when
63+
methodInfo == QueryableMethods.CountWithoutPredicate ||
64+
methodInfo == QueryableMethods.CountWithPredicate:
65+
var countSqlExpression = source.Selector as SqlExpression ?? sqlExpressionFactory.Fragment("*");
6666
return sqlExpressionFactory.Convert(
6767
sqlExpressionFactory.Function(
6868
"COUNT",
@@ -73,21 +73,20 @@ public class YdbQueryableAggregateMethodTranslator(
7373
typeof(int),
7474
typeMappingSource.FindMapping(typeof(int)));
7575

76-
case nameof(Queryable.LongCount)
77-
when methodInfo == QueryableMethods.LongCountWithoutPredicate
78-
|| methodInfo == QueryableMethods.LongCountWithPredicate:
79-
var longCountSqlExpression = (source.Selector as SqlExpression) ?? sqlExpressionFactory.Fragment("*");
76+
case nameof(Queryable.LongCount) when
77+
methodInfo == QueryableMethods.LongCountWithoutPredicate ||
78+
methodInfo == QueryableMethods.LongCountWithPredicate:
79+
var longCountSqlExpression = source.Selector as SqlExpression ?? sqlExpressionFactory.Fragment("*");
8080
return sqlExpressionFactory.Function(
8181
"COUNT",
8282
[longCountSqlExpression],
8383
nullable: false,
8484
argumentsPropagateNullability: ArrayUtil.FalseArrays[1],
8585
typeof(long));
8686

87-
case nameof(Queryable.Max)
88-
when (methodInfo == QueryableMethods.MaxWithoutSelector
89-
|| methodInfo == QueryableMethods.MaxWithSelector)
90-
&& source.Selector is SqlExpression maxSqlExpression:
87+
case nameof(Queryable.Max) when
88+
(methodInfo == QueryableMethods.MaxWithoutSelector || methodInfo == QueryableMethods.MaxWithSelector)
89+
&& source.Selector is SqlExpression maxSqlExpression:
9190
return sqlExpressionFactory.Function(
9291
"MAX",
9392
[maxSqlExpression],
@@ -96,10 +95,9 @@ public class YdbQueryableAggregateMethodTranslator(
9695
maxSqlExpression.Type,
9796
maxSqlExpression.TypeMapping);
9897

99-
case nameof(Queryable.Min)
100-
when (methodInfo == QueryableMethods.MinWithoutSelector
101-
|| methodInfo == QueryableMethods.MinWithSelector)
102-
&& source.Selector is SqlExpression minSqlExpression:
98+
case nameof(Queryable.Min) when
99+
(methodInfo == QueryableMethods.MinWithoutSelector || methodInfo == QueryableMethods.MinWithSelector)
100+
&& source.Selector is SqlExpression minSqlExpression:
103101
return sqlExpressionFactory.Function(
104102
"MIN",
105103
[minSqlExpression],

src/EfCore.Ydb/src/Query/Internal/YdbMemberTranslatorProvider.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@ public sealed class YdbMemberTranslatorProvider : RelationalMemberTranslatorProv
77
{
88
public YdbMemberTranslatorProvider(RelationalMemberTranslatorProviderDependencies dependencies) : base(dependencies)
99
{
10-
var sqlExpressionFactory = (YdbSqlExpressionFactory)dependencies.SqlExpressionFactory;
11-
1210
AddTranslators(
1311
[
14-
new StubTranslator(sqlExpressionFactory)
12+
new StubTranslator()
1513
]
1614
);
1715
}

src/EfCore.Ydb/src/Query/Internal/YdbMethodCallTranslatorProvider.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ public YdbMethodCallTranslatorProvider(
99
RelationalMethodCallTranslatorProviderDependencies dependencies
1010
) : base(dependencies)
1111
{
12-
var sqlExpressionFactory = (YdbSqlExpressionFactory)dependencies.SqlExpressionFactory;
1312
AddTranslators(
1413
[
15-
new StubTranslator(sqlExpressionFactory)
14+
new StubTranslator()
1615
]
1716
);
1817
}

src/EfCore.Ydb/src/Query/Internal/YdbQuerySqlGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,14 +265,14 @@ protected override Expression VisitJsonScalar(JsonScalarExpression jsonScalarExp
265265

266266
switch (pathSegment)
267267
{
268-
case { PropertyName: string propertyName }:
268+
case { PropertyName: { } propertyName }:
269269
Sql
270270
.Append(isFirst ? "" : ".")
271271
.Append(Dependencies.SqlGenerationHelper.DelimitJsonPathElement(propertyName));
272272
break;
273273
case { ArrayIndex: SqlConstantExpression arrayIndex }:
274274
Sql.Append("[");
275-
Visit(pathSegment.ArrayIndex);
275+
Visit(arrayIndex);
276276
Sql.Append("]");
277277
break;
278278
default:

src/EfCore.Ydb/src/Query/Internal/YdbQueryableMethodTranslatingExpressionVisitor.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ public class YdbQueryableMethodTranslatingExpressionVisitor
1010
private readonly YdbTypeMappingSource? _typeMappingSource;
1111
private readonly YdbSqlExpressionFactory _sqlExpressionFactory;
1212

13-
1413
public YdbQueryableMethodTranslatingExpressionVisitor(
1514
QueryableMethodTranslatingExpressionVisitorDependencies dependencies,
1615
RelationalQueryableMethodTranslatingExpressionVisitorDependencies relationalDependencies,

0 commit comments

Comments
 (0)