Skip to content

Commit b79fdcf

Browse files
committed
Ensure there are no updated ids duplicated
1 parent 64ad7a7 commit b79fdcf

File tree

4 files changed

+105
-122
lines changed

4 files changed

+105
-122
lines changed

frameworks/CSharp/aspnetcore/benchmark_config.json

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,13 @@
44
"tests": [
55
{
66
"default": {
7+
"plaintext_url": "/plaintext",
8+
"json_url": "/json",
9+
"db_url": "/db",
710
"query_url": "/queries/",
11+
"fortune_url": "/fortunes",
812
"update_url": "/updates/",
13+
"cached_query_url": "/cached-worlds/",
914
"port": 8080,
1015
"approach": "Realistic",
1116
"classification": "Platform",
@@ -20,6 +25,96 @@
2025
"database_os": "Linux",
2126
"display_name": "ASP.NET Core [Platform]",
2227
"notes": ""
28+
},
29+
"aot": {
30+
"plaintext_url": "/plaintext",
31+
"json_url": "/json",
32+
"db_url": "/db",
33+
"query_url": "/queries/",
34+
"fortune_url": "/fortunes",
35+
"update_url": "/updates/",
36+
"cached_query_url": "/cached-worlds/",
37+
"port": 8080,
38+
"approach": "Realistic",
39+
"classification": "Platform",
40+
"database": "Postgres",
41+
"framework": "ASP.NET Core [Platform]",
42+
"language": "C#",
43+
"orm": "Raw",
44+
"platform": ".NET",
45+
"flavor": "NativeAOT",
46+
"webserver": "Kestrel",
47+
"os": "Linux",
48+
"database_os": "Linux",
49+
"display_name": "ASP.NET Core [Platform, AOT]",
50+
"notes": ""
51+
},
52+
"minimal": {
53+
"plaintext_url": "/plaintext",
54+
"json_url": "/json",
55+
"db_url": "/db",
56+
"query_url": "/queries/",
57+
"fortune_url": "/fortunes",
58+
"update_url": "/updates/",
59+
"port": 8080,
60+
"approach": "Realistic",
61+
"classification": "Micro",
62+
"database": "Postgres",
63+
"framework": "ASP.NET Core [Minimal APIs]",
64+
"language": "C#",
65+
"orm": "Micro",
66+
"platform": ".NET",
67+
"flavor": "CoreCLR",
68+
"webserver": "Kestrel",
69+
"os": "Linux",
70+
"database_os": "Linux",
71+
"display_name": "ASP.NET Core [Minimal APIs]",
72+
"notes": "",
73+
"versus": "aspnetcore"
74+
},
75+
"mvc": {
76+
"plaintext_url": "/plaintext",
77+
"json_url": "/json",
78+
"db_url": "/db",
79+
"query_url": "/queries/",
80+
"fortune_url": "/fortunes",
81+
"port": 8080,
82+
"approach": "Realistic",
83+
"classification": "Fullstack",
84+
"database": "Postgres",
85+
"framework": "ASP.NET Core [MVC]",
86+
"language": "C#",
87+
"orm": "Full",
88+
"platform": ".NET",
89+
"flavor": "CoreCLR",
90+
"webserver": "Kestrel",
91+
"os": "Linux",
92+
"database_os": "Linux",
93+
"display_name": "ASP.NET Core [MVC]",
94+
"notes": "",
95+
"versus": "aspnetcore"
96+
},
97+
"mysql": {
98+
"db_url": "/db",
99+
"query_url": "/queries/",
100+
"fortune_url": "/fortunes",
101+
"update_url": "/updates/",
102+
"cached_query_url": "/cached-worlds/",
103+
"port": 8080,
104+
"approach": "Realistic",
105+
"classification": "Platform",
106+
"database": "MySQL",
107+
"framework": "ASP.NET Core [Platform]",
108+
"language": "C#",
109+
"orm": "Raw",
110+
"platform": ".NET",
111+
"flavor": "CoreCLR",
112+
"webserver": "Kestrel",
113+
"os": "Linux",
114+
"database_os": "Linux",
115+
"display_name": "ASP.NET Core [Platform, MySQL]",
116+
"notes": "",
117+
"versus": "aspnetcore"
23118
}
24119
}
25120
]

frameworks/CSharp/aspnetcore/benchmark_config_backup.json

Lines changed: 0 additions & 121 deletions
This file was deleted.

frameworks/CSharp/aspnetcore/src/Minimal/Database/Db.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,13 @@ public async Task<World[]> LoadMultipleUpdatesRows(string? parameter)
7777
results[i] = await ReadSingleRow(db);
7878
ids[i] = results[i].Id;
7979
}
80-
8180
Array.Sort(ids);
8281

82+
// Ensure unique ids by incrementing duplicates
83+
for (var i = 1; i < count; i++)
84+
if (ids[i] <= ids[i - 1])
85+
ids[i] = Math.Min(ids[i - 1] + 1, 10000);
86+
8387
for (var i = 0; i < count; i++)
8488
{
8589
var randomNumber = Random.Shared.Next(1, 10001);

frameworks/CSharp/aspnetcore/src/Platform/Data/RawDbNpgsql.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,11 @@ public async Task<World[]> LoadMultipleUpdatesRows(int count)
136136
}
137137
Array.Sort(ids);
138138

139+
// Ensure unique ids by incrementing duplicates
140+
for (var i = 1; i < count; i++)
141+
if (ids[i] <= ids[i - 1])
142+
ids[i] = Math.Min(ids[i - 1] + 1, 10000);
143+
139144
using var connection = CreateConnection();
140145
await connection.OpenAsync();
141146

0 commit comments

Comments
 (0)