Files
email-tracker/external/duckdb/benchmark/trainbenchmark/semaphoreneighbor.benchmark
2025-10-24 19:21:19 -05:00

42 lines
1.2 KiB
Plaintext

# name: benchmark/trainbenchmark/semaphoreneighbor.benchmark
# description: The Train Benchmark's SemaphoreNeighbor query
# group: [trainbenchmark]
load benchmark/trainbenchmark/load.sql
run
SELECT
Route1.exit AS semaphore,
Route1.id AS route1,
Route2.id AS route2,
requires1.Sensor_id AS sensor1,
requires2.Sensor_id AS sensor2,
ct.TrackElement1_id AS te1,
ct.TrackElement2_id AS te2
FROM Route AS Route1
INNER JOIN requires AS requires1
ON Route1.id = requires1.Route_id
INNER JOIN monitoredBy AS mb1
ON requires1.Sensor_id = mb1.Sensor_id
INNER JOIN connectsTo AS ct
ON mb1.TrackElement_id = ct.TrackElement1_id
INNER JOIN monitoredBy AS mb2
ON ct.TrackElement2_id = mb2.TrackElement_id
INNER JOIN requires AS requires2
ON mb2.Sensor_id = requires2.Sensor_id
INNER JOIN Route AS Route2
ON requires2.Route_id = Route2.id
WHERE Route1.id != Route2.id
AND Route1.exit IS NOT NULL
AND (Route2.entry IS NULL OR Route2.entry != Route1.exit) ORDER BY ALL;
result IIIIIII
67 68 213 205 216 210 215
67 68 213 205 222 210 215
67 68 213 205 228 210 215
67 68 213 205 234 210 215
67 68 213 205 246 210 215
67 68 213 205 252 210 215
67 68 213 205 258 210 215
67 68 213 205 264 210 215