@golemio/pid 2.6.6 → 2.6.7-dev.834780584
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/00_clear_test_data.sql +4 -4
- package/db/example/03_ropidgtfs_dump.sql +10 -1
- package/db/example/14_nightDelays.sql +16 -8
- package/db/migrations/postgresql/20230327121511-departure-view.js +53 -0
- package/db/migrations/postgresql/sqls/20220915123941-partitioned-departures-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20230307124639-positions-internal-down.sql +1 -1
- package/db/migrations/postgresql/sqls/20230327121511-departure-view-down.sql +81 -0
- package/db/migrations/postgresql/sqls/20230327121511-departure-view-up.sql +37 -0
- package/dist/integration-engine/queueDefinitions.js +10 -0
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +13 -7
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +50 -45
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.d.ts +4 -3
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +50 -18
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/{DeparturesRepository.d.ts → precomputed/DeparturesRepository.d.ts} +2 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +132 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +9 -0
- package/dist/integration-engine/ropid-gtfs/{RopidGTFSMinMaxSequencesModel.js → data-access/precomputed/MinMaxStopSequencesRepository.js} +34 -33
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +9 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +135 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +11 -0
- package/dist/integration-engine/ropid-gtfs/{RopidGTFSScheduledTripsModel.js → data-access/precomputed/TripScheduleRepository.js} +27 -26
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/data-access/{index.js → precomputed/index.js} +3 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.d.ts +5 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js +10 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -3
- package/dist/integration-engine/ropid-gtfs/index.js +0 -3
- package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/utils.js +5 -4
- package/dist/integration-engine/ropid-gtfs/utils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +3 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +18 -18
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +1 -1
- package/dist/output-gateway/pid/data-access/DeparturesRepository.js +0 -6
- package/dist/output-gateway/pid/data-access/DeparturesRepository.js.map +1 -1
- package/dist/output-gateway/pid/middleware/checkTimeFromMiddleware.js +2 -2
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -3
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +15 -15
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +0 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +5 -18
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +0 -1
- package/docs/implementation_documentation.md +30 -10
- package/docs/openapi-output.yaml +1 -1
- package/package.json +4 -3
- package/db/example/99_precomputed_tables.sql +0 -169
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.d.ts +0 -19
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +0 -21
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.d.ts +0 -19
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js +0 -142
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js +0 -162
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/index.d.ts +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/index.js.map +0 -1
|
@@ -25,10 +25,10 @@ TRUNCATE
|
|
|
25
25
|
"vehiclepositions_metro_runs_messages",
|
|
26
26
|
"vehiclepositions_vehicle_descriptors",
|
|
27
27
|
"ropid_departures_directions",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
28
|
+
"ropidgtfs_precomputed_trip_schedule_actual",
|
|
29
|
+
"ropidgtfs_precomputed_services_calendar_actual",
|
|
30
|
+
"ropidgtfs_precomputed_minmax_stop_sequences_actual",
|
|
31
|
+
"ropidgtfs_precomputed_departures";
|
|
32
32
|
|
|
33
33
|
ALTER SEQUENCE ropid_departures_directions_id_seq RESTART;
|
|
34
34
|
ALTER SEQUENCE ropid_departures_presets_id_seq RESTART;
|
|
@@ -4,7 +4,9 @@ INSERT INTO ropidgtfs_agency_actual (agency_fare_url, agency_id, agency_lang, ag
|
|
|
4
4
|
|
|
5
5
|
WITH init_values AS (SELECT NOW()::DATE AS now_date)
|
|
6
6
|
INSERT INTO ropidgtfs_calendar_actual (end_date, friday, monday, saturday, service_id, start_date, sunday, thursday, tuesday, wednesday, create_batch_id, created_at, created_by, update_batch_id, updated_at, updated_by)
|
|
7
|
-
VALUES
|
|
7
|
+
VALUES
|
|
8
|
+
(TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'), 1, 1, 1, '1111111-1', TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'), 1, 1, 1, 1, NULL, '2019-05-27 03:20:15.632+00', NULL, NULL, '2019-05-27 03:20:15.632+00', NULL),
|
|
9
|
+
(TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'), 1, 1, 1, '1111100-1', TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'), 1, 1, 1, 1, -1, '2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL);
|
|
8
10
|
|
|
9
11
|
INSERT INTO ropidgtfs_routes_actual (agency_id, is_night, is_regional, is_substitute_transport, route_color, route_desc, route_id, route_long_name, route_short_name, route_text_color, route_type, route_url, create_batch_id, created_at, created_by, update_batch_id, updated_at, updated_by)
|
|
10
12
|
VALUES ('99', '0', '0', '0', '00A562', NULL, 'L991', 'Nemocnice Motol - Petřiny - Skalka - Depo Hostivař', 'A', 'FFFFFF', '1', 'https://pid.cz/linka/A', NULL, '2019-05-27 03:20:15.738+00', NULL, NULL, '2019-05-27 03:20:15.738+00', NULL);
|
|
@@ -535,6 +537,13 @@ INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id",
|
|
|
535
537
|
VALUES
|
|
536
538
|
(E'L991',1,E'1111100-1',E'991_1_210419',3,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
|
|
537
539
|
|
|
540
|
+
INSERT INTO ropidgtfs_trips_actual (trip_id,bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
541
|
+
('991_1_210419',1,NULL,0,0,'L991','0000001-1','L991V2','Nemocnice Motol',NULL,NULL,1,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
|
|
542
|
+
|
|
543
|
+
INSERT INTO ropidgtfs_stop_times_actual (trip_id,stop_sequence,arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,timepoint,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
544
|
+
('991_1_210419',1,'22:45:10',NULL,'22:45:10',NULL,'0','0',0.0,NULL,'U476Z102P',NULL,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL),
|
|
545
|
+
('991_1_210419',2,'22:46:20',NULL,'22:46:50',NULL,'0','0',0.80665,NULL,'U400Z102P',NULL,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
|
|
546
|
+
|
|
538
547
|
-- <<<
|
|
539
548
|
|
|
540
549
|
|
|
@@ -4,18 +4,26 @@ update vehiclepositions_trips set gtfs_date = TO_TIMESTAMP(start_timestamp/1000)
|
|
|
4
4
|
/* test data for night delay */
|
|
5
5
|
INSERT INTO vehiclepositions_trips
|
|
6
6
|
(cis_line_id, cis_trip_number, run_number, cis_line_short_name, created_at, gtfs_route_id, gtfs_route_short_name, gtfs_trip_id, id, updated_at, start_cis_stop_id, start_cis_stop_platform_code, start_time, start_timestamp, vehicle_type_id, wheelchair_accessible, create_batch_id, created_by, update_batch_id, updated_by, agency_name_scheduled, origin_route_name, agency_name_real, vehicle_registration_number, gtfs_trip_headsign, start_asw_stop_id, gtfs_route_type, gtfs_block_id, last_position_id, is_canceled, end_timestamp, gtfs_trip_short_name, last_position_context, internal_run_number, internal_route_name,gtfs_date)
|
|
7
|
-
VALUES(NULL, NULL, 65, NULL, '2023-03-21 00:00:15.399', 'L94', '94', '94_979_230320', '2023-03-21T01:30:00+01:00_94_979_230320_8388', '2023-03-21 02:44:25.833', NULL, NULL, '01:30:00', 1679358600000, 6, false, NULL, NULL, NULL, NULL, 'DP PRAHA', '94', 'DP PRAHA', 8388, 'Sídliště Barrandov', NULL, 0, NULL, 554214346, NULL, 1679362800000, NULL, NULL, 65, '94',
|
|
7
|
+
VALUES(NULL, NULL, 65, NULL, '2023-03-21 00:00:15.399', 'L94', '94', '94_979_230320', '2023-03-21T01:30:00+01:00_94_979_230320_8388', '2023-03-21 02:44:25.833', NULL, NULL, '01:30:00', 1679358600000, 6, false, NULL, NULL, NULL, NULL, 'DP PRAHA', '94', 'DP PRAHA', 8388, 'Sídliště Barrandov', NULL, 0, NULL, 554214346, NULL, 1679362800000, NULL, NULL, 65, '94',current_date - interval '1 day');
|
|
8
8
|
|
|
9
9
|
INSERT INTO vehiclepositions_positions
|
|
10
10
|
(created_at, delay, delay_stop_arrival, delay_stop_departure, next_stop_id, shape_dist_traveled, is_canceled, lat, lng, origin_time, origin_timestamp, tracking, trips_id, create_batch_id, created_by, update_batch_id, updated_at, updated_by, id, bearing, cis_last_stop_id, cis_last_stop_sequence, last_stop_id, last_stop_sequence, next_stop_sequence, speed, last_stop_arrival_time, last_stop_departure_time, next_stop_arrival_time, next_stop_departure_time, asw_last_stop_id, state_process, state_position, this_stop_id, this_stop_sequence, tcp_event, last_stop_headsign, last_stop_name, next_stop_name, this_stop_name, valid_to, scheduled_timestamp)
|
|
11
|
-
VALUES('2023-03-21 02:44:25.787', 10, NULL, NULL, 'U1019Z2P', 22.263, NULL, 50.03141, 14.36749, '02:44:20', 1679363060000, 2, '2023-03-21T01:30:00+01:00_94_979_230320_8388', NULL, NULL, NULL, '2023-03-21 02:44:25.822', NULL, 554214346, 257, NULL, NULL, 'U1019Z2P', 8, 8, NULL, 1679362800000, 1679362800000, 1679362800000, 1679362800000, '10190002', 'processed', 'on_track', '10190002', NULL, 'V', NULL, 'Sídliště Barrandov', NULL, NULL,
|
|
11
|
+
VALUES('2023-03-21 02:44:25.787', 10, NULL, NULL, 'U1019Z2P', 22.263, NULL, 50.03141, 14.36749, '02:44:20', 1679363060000, 2, '2023-03-21T01:30:00+01:00_94_979_230320_8388', NULL, NULL, NULL, '2023-03-21 02:44:25.822', NULL, 554214346, 257, NULL, NULL, 'U1019Z2P', 8, 8, NULL, 1679362800000, 1679362800000, 1679362800000, 1679362800000, '10190002', 'processed', 'on_track', '10190002', NULL, 'V', NULL, 'Sídliště Barrandov', NULL, NULL, NULL, 1679362800000);
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
WITH init_values AS (SELECT NOW()::DATE AS now_date)
|
|
14
|
+
INSERT INTO ropidgtfs_calendar_actual (end_date,friday,monday,saturday,service_id,start_date,sunday,thursday,tuesday,wednesday,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
15
|
+
(TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'),1,1,1,'1111111-3',TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'),1,1,1,1,-1,'2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL);
|
|
14
16
|
|
|
15
|
-
INSERT INTO
|
|
16
|
-
(stop_sequence, stop_headsign, pickup_type, drop_off_type, arrival_time, arrival_datetime, departure_time, departure_datetime, stop_id, stop_name, platform_code, wheelchair_boarding, min_stop_sequence, max_stop_sequence, trip_id, trip_headsign, trip_short_name, wheelchair_accessible, service_id, "date", route_short_name, route_type, route_id, is_night, is_regional, is_substitute_transport, next_stop_sequence, next_stop_id, last_stop_sequence, last_stop_id, part_index)
|
|
17
|
-
VALUES(8, NULL, '3', '3', '25:38:00', '2023-03-21 01:38:00.000', '25:38:00', '2023-03-21 01:38:00.000', 'U873Z1P', 'Poštovská', 'A', 1, 1, 47, '94_979_230320', 'Sídliště Barrandov', NULL, 2, '1111111-3', '2023-03-20', '94', '0', 'L94', '1', '0', '0', 9, 'U1052Z1P', 7, 'U75Z1P', 'U873');
|
|
18
|
-
|
|
19
|
-
INSERT INTO ropidgtfs_stops
|
|
17
|
+
INSERT INTO ropidgtfs_stops_actual
|
|
20
18
|
(location_type, parent_station, platform_code, stop_id, stop_lat, stop_lon, stop_name, stop_url, wheelchair_boarding, zone_id, create_batch_id, created_at, created_by, update_batch_id, updated_at, updated_by, level_id, stop_code, stop_desc, stop_timezone, asw_node_id, asw_stop_id)
|
|
21
19
|
VALUES(0, NULL, 'A', 'U873Z1P', 50.110622, 14.508335, 'Poštovská', NULL, 1, 'P', NULL, '2023-03-21 05:47:11.042', NULL, NULL, '2023-03-21 05:47:11.042', NULL, NULL, NULL, NULL, NULL, 873, 1);
|
|
20
|
+
|
|
21
|
+
INSERT INTO ropidgtfs_stop_times_actual (arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,stop_sequence,timepoint,trip_id,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
22
|
+
('25:38:00',NULL,'25:38:00',NULL,'3','3',0.0,NULL,'U873Z1P',8,NULL,'94_979_230320',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
|
|
23
|
+
('25:39:00',NULL,'25:39:00',NULL,'3','3',0.0,NULL,NULL,9,NULL,'94_979_230320',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL);
|
|
24
|
+
|
|
25
|
+
INSERT INTO ropidgtfs_routes_actual (agency_id,is_night,is_regional,is_substitute_transport,route_color,route_desc,route_id,route_long_name,route_short_name,route_text_color,route_type,route_url,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
26
|
+
('99','0','0','0','00A562',NULL,'L94','Dummy','94','FFFFFF','1','',-1,'2022-10-24 10:18:51.722+02',NULL,-1,'2022-10-24 10:18:51.722+02',NULL);
|
|
27
|
+
|
|
28
|
+
INSERT INTO ropidgtfs_trips_actual (bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_id,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
29
|
+
(1,NULL,1,0,'L94','1111111-3','L94VX','Sídliště Barrandov','94_979_230320',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20230327121511-departure-view-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20230327121511-departure-view-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -37,3 +37,5 @@ CREATE INDEX ropidgtfs_departures_stop_id_idx ON ropidgtfs_departures_actual USI
|
|
|
37
37
|
CREATE UNIQUE INDEX ropidgtfs_departures_unique_id ON ropidgtfs_departures_actual USING btree (service_id, date, trip_id, stop_sequence);
|
|
38
38
|
|
|
39
39
|
ALTER TABLE ropidgtfs_departures_actual INHERIT ropidgtfs_departures;
|
|
40
|
+
|
|
41
|
+
DROP FUNCTION departure_part (text, text, boolean);
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
DROP FUNCTION gtfs_timestamp (varchar, date);
|
|
2
|
+
|
|
3
|
+
CREATE OR REPLACE FUNCTION departure_part (par_stop_id text, t_schema text, is_tmp boolean DEFAULT false)
|
|
4
|
+
RETURNS integer
|
|
5
|
+
LANGUAGE plpgsql
|
|
6
|
+
AS $function$
|
|
7
|
+
declare txt_sql text;
|
|
8
|
+
declare master_table_name text;
|
|
9
|
+
begin
|
|
10
|
+
txt_sql = 'SET search_path TO ' || t_schema || ';';
|
|
11
|
+
|
|
12
|
+
if is_tmp = true then
|
|
13
|
+
txt_sql = txt_sql ||' ALTER TABLE IF EXISTS ropidgtfs_departures_' || trim(par_stop_id) || ' RENAME TO ropidgtfs_departures_' || trim(par_stop_id) || '_drop;';
|
|
14
|
+
master_table_name = 'ropidgtfs_departures_tmp';
|
|
15
|
+
else
|
|
16
|
+
master_table_name = 'ropidgtfs_departures';
|
|
17
|
+
end if;
|
|
18
|
+
|
|
19
|
+
txt_sql = txt_sql || ' CREATE TABLE IF NOT EXISTS ropidgtfs_departures_' || trim(par_stop_id);
|
|
20
|
+
txt_sql = txt_sql || ' PARTITION OF ' || master_table_name || ' FOR VALUES IN (''' || trim(par_stop_id) || ''')';
|
|
21
|
+
execute txt_sql;
|
|
22
|
+
return 0;
|
|
23
|
+
end;
|
|
24
|
+
$function$
|
|
25
|
+
;
|
|
26
|
+
|
|
27
|
+
ALTER TABLE ropidgtfs_precomputed_services_calendar rename to ropidgtfs_services_first14days;
|
|
28
|
+
ALTER TABLE ropidgtfs_precomputed_services_calendar_actual rename to ropidgtfs_services_first14days_actual;
|
|
29
|
+
|
|
30
|
+
ALTER TABLE ropidgtfs_precomputed_minmax_stop_sequences rename to ropidgtfs_trips_minmaxsequences;
|
|
31
|
+
ALTER TABLE ropidgtfs_precomputed_minmax_stop_sequences_actual rename to ropidgtfs_trips_minmaxsequences_actual;
|
|
32
|
+
|
|
33
|
+
ALTER TABLE ropidgtfs_precomputed_trip_schedule rename to ropidgtfs_scheduled_trips;
|
|
34
|
+
ALTER TABLE ropidgtfs_precomputed_trip_schedule_actual rename to ropidgtfs_scheduled_trips_actual;
|
|
35
|
+
|
|
36
|
+
CREATE TABLE ropidgtfs_departures (
|
|
37
|
+
stop_sequence smallint NOT NULL,
|
|
38
|
+
stop_headsign varchar(70) NULL,
|
|
39
|
+
pickup_type char(1) NULL,
|
|
40
|
+
drop_off_type char(1) NULL,
|
|
41
|
+
arrival_time varchar(20) NULL,
|
|
42
|
+
arrival_datetime timestamptz NULL,
|
|
43
|
+
departure_time varchar(20) NULL,
|
|
44
|
+
departure_datetime timestamptz NULL,
|
|
45
|
+
stop_id varchar(25) NOT NULL,
|
|
46
|
+
stop_name varchar(100) NULL,
|
|
47
|
+
platform_code varchar(10) NULL,
|
|
48
|
+
wheelchair_boarding smallint NULL,
|
|
49
|
+
min_stop_sequence smallint NULL,
|
|
50
|
+
max_stop_sequence smallint NULL,
|
|
51
|
+
trip_id varchar(50) NOT NULL,
|
|
52
|
+
trip_headsign varchar(100) NOT NULL,
|
|
53
|
+
trip_short_name varchar(30) NULL,
|
|
54
|
+
wheelchair_accessible smallint NULL,
|
|
55
|
+
service_id varchar(30) NULL,
|
|
56
|
+
"date" date NULL,
|
|
57
|
+
route_short_name varchar(50) NULL,
|
|
58
|
+
route_type char(1) NULL,
|
|
59
|
+
route_id varchar(20) NULL,
|
|
60
|
+
is_night char(1) NULL,
|
|
61
|
+
is_regional char(1) NULL,
|
|
62
|
+
is_substitute_transport char(1) NULL,
|
|
63
|
+
next_stop_sequence smallint NULL,
|
|
64
|
+
next_stop_id varchar(30) NULL,
|
|
65
|
+
last_stop_sequence smallint NULL,
|
|
66
|
+
last_stop_id varchar(30) NULL,
|
|
67
|
+
part_index varchar(4) NOT NULL
|
|
68
|
+
) partition by list(part_index);
|
|
69
|
+
|
|
70
|
+
SELECT departure_part(part_index, split_part(current_setting('search_path'), ',', 1)) FROM
|
|
71
|
+
(SELECT DISTINCT left(stop_id, 4) part_index FROM ropidgtfs_stops) as parts;
|
|
72
|
+
|
|
73
|
+
INSERT INTO ropidgtfs_departures
|
|
74
|
+
SELECT *, left(stop_id, 4) part_index FROM ropidgtfs_precomputed_departures;
|
|
75
|
+
|
|
76
|
+
CREATE INDEX ropidgtfs_departures_stop_idx ON ropidgtfs_departures USING btree (stop_id);
|
|
77
|
+
CREATE INDEX ropidgtfs_departures_part_index_idx ON ropidgtfs_departures USING btree (part_index);
|
|
78
|
+
CREATE UNIQUE INDEX ropidgtfs_departures_unique_idx ON ropidgtfs_departures USING btree (part_index, service_id, date, trip_id, stop_sequence);
|
|
79
|
+
|
|
80
|
+
DROP TABLE ropidgtfs_precomputed_departures;
|
|
81
|
+
DROP TABLE IF EXISTS ropidgtfs_precomputed_departures_tmp;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
DROP FUNCTION departure_part (text, text, boolean);
|
|
2
|
+
|
|
3
|
+
ALTER TABLE ropidgtfs_services_first14days rename to ropidgtfs_precomputed_services_calendar;
|
|
4
|
+
ALTER TABLE ropidgtfs_services_first14days_actual rename to ropidgtfs_precomputed_services_calendar_actual;
|
|
5
|
+
|
|
6
|
+
ALTER TABLE ropidgtfs_trips_minmaxsequences rename to ropidgtfs_precomputed_minmax_stop_sequences;
|
|
7
|
+
ALTER TABLE ropidgtfs_trips_minmaxsequences_actual rename to ropidgtfs_precomputed_minmax_stop_sequences_actual;
|
|
8
|
+
|
|
9
|
+
ALTER TABLE ropidgtfs_scheduled_trips rename to ropidgtfs_precomputed_trip_schedule;
|
|
10
|
+
ALTER TABLE ropidgtfs_scheduled_trips_actual rename to ropidgtfs_precomputed_trip_schedule_actual;
|
|
11
|
+
|
|
12
|
+
CREATE TABLE ropidgtfs_precomputed_departures
|
|
13
|
+
AS SELECT * FROM ropidgtfs_departures WHERE "date" = current_date;
|
|
14
|
+
ALTER TABLE ropidgtfs_precomputed_departures drop column part_index;
|
|
15
|
+
CREATE INDEX ropidgtfs_precomputed_departures_stop_id_idx ON ropidgtfs_precomputed_departures USING btree (stop_id);
|
|
16
|
+
CREATE UNIQUE INDEX ropidgtfs_precomputed_departures_unique_idx ON ropidgtfs_precomputed_departures USING btree (date, trip_id, stop_sequence);
|
|
17
|
+
|
|
18
|
+
DROP TABLE ropidgtfs_departures;
|
|
19
|
+
DROP TABLE IF EXISTS ropidgtfs_departures_tmp;
|
|
20
|
+
|
|
21
|
+
CREATE OR REPLACE FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date)
|
|
22
|
+
RETURNS timestamptz AS
|
|
23
|
+
$$
|
|
24
|
+
BEGIN
|
|
25
|
+
RETURN CASE
|
|
26
|
+
WHEN (date_part('hour'::text, (gtfs_time)::interval) > (23)::double precision) THEN make_timestamptz((date_part('year'::text, (target_date + '1 day'::interval)))::integer, (date_part('month'::text, (target_date + '1 day'::interval)))::integer, (date_part('day'::text, (target_date + '1 day'::interval)))::integer, ((date_part('hour'::text, (gtfs_time)::interval))::integer - 24), (date_part('minute'::text, (gtfs_time)::interval))::integer, date_part('second'::text, (gtfs_time)::interval), 'Europe/Prague'::text)
|
|
27
|
+
ELSE make_timestamptz((date_part('year'::text, target_date))::integer, (date_part('month'::text, target_date))::integer, (date_part('day'::text, target_date))::integer, (date_part('hour'::text, (gtfs_time)::interval))::integer, (date_part('minute'::text, (gtfs_time)::interval))::integer, date_part('second'::text, (gtfs_time)::interval), 'Europe/Prague'::text)
|
|
28
|
+
END;
|
|
29
|
+
END;
|
|
30
|
+
$$
|
|
31
|
+
LANGUAGE plpgsql;
|
|
32
|
+
|
|
33
|
+
COMMENT ON FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date) IS '
|
|
34
|
+
Converts a time string from GTFS feed to a timestamp.
|
|
35
|
+
If the GTFS time string represents a time later than 23:59, the timestamp returned will be for the day following the target date, with the hour adjusted accordingly.
|
|
36
|
+
Otherwise, the timestamp returned will be for the target date.
|
|
37
|
+
';
|
|
@@ -53,6 +53,16 @@ const queueDefinitions = [
|
|
|
53
53
|
worker: RopidGTFSWorker_1.RopidGTFSWorker,
|
|
54
54
|
workerMethod: "checkSavedRowsAndReplaceTables",
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
name: "refreshPrecomputedTables",
|
|
58
|
+
options: {
|
|
59
|
+
deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
|
|
60
|
+
deadLetterRoutingKey: "dead",
|
|
61
|
+
messageTtl: 59 * 60 * 1000, // 59 minutes
|
|
62
|
+
},
|
|
63
|
+
worker: RopidGTFSWorker_1.RopidGTFSWorker,
|
|
64
|
+
workerMethod: "refreshPrecomputedTables",
|
|
65
|
+
},
|
|
56
66
|
{
|
|
57
67
|
name: "checkForNewDeparturesPresets",
|
|
58
68
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AACjE,iEAA4C;AAC5C,yEAAsE;AAGtE;;GAEG;AACH,MAAM,gBAAgB,GAAuB;IACzC,+BAA+B;IAC/B;QACI,IAAI,EAAE,sBAAS,CAAC,IAAI;QACpB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC7E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,sBAAsB;aACvC;YACD;gBACI,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,gCAAgC;aACjD;YACD;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,8BAA8B;aAC/C;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,2BAA2B;aAC5C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
|
|
1
|
+
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AACjE,iEAA4C;AAC5C,yEAAsE;AAGtE;;GAEG;AACH,MAAM,gBAAgB,GAAuB;IACzC,+BAA+B;IAC/B;QACI,IAAI,EAAE,sBAAS,CAAC,IAAI;QACpB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC7E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,sBAAsB;aACvC;YACD;gBACI,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,gCAAgC;aACjD;YACD;gBACI,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,0BAA0B;aAC3C;YACD;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,8BAA8B;aAC/C;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,2BAA2B;aAC5C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { MetaStateEnum, RopidMetadataModel } from "../shared";
|
|
2
|
+
import { Model, Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
interface IMetadataTable {
|
|
4
|
+
key: string;
|
|
5
|
+
tn: string;
|
|
6
|
+
}
|
|
3
7
|
export declare enum DatasetEnum {
|
|
4
8
|
PID_GTFS = "PID_GTFS",
|
|
5
9
|
CIS_STOPS = "CIS_STOPS",
|
|
@@ -8,11 +12,11 @@ export declare enum DatasetEnum {
|
|
|
8
12
|
DEPARTURES_PRESETS = "DEPARTURES_PRESETS"
|
|
9
13
|
}
|
|
10
14
|
export declare class RopidGTFSMetadataModel extends RopidMetadataModel {
|
|
11
|
-
/** Precomputed data
|
|
15
|
+
/** Precomputed data repositories */
|
|
12
16
|
private departuresRepository;
|
|
13
|
-
private
|
|
14
|
-
private
|
|
15
|
-
private
|
|
17
|
+
private minMaxStopSequencesRepository;
|
|
18
|
+
private tripScheduleRepository;
|
|
19
|
+
private servicesCalendarRepository;
|
|
16
20
|
constructor();
|
|
17
21
|
checkSavedTmpTables: (dataset: string, version: number) => Promise<void>;
|
|
18
22
|
checkAllTablesHasSavedState: (datasets: Array<{
|
|
@@ -26,5 +30,7 @@ export declare class RopidGTFSMetadataModel extends RopidMetadataModel {
|
|
|
26
30
|
}>) => Promise<boolean>;
|
|
27
31
|
updateState: (dataset: string, name: string, state: MetaStateEnum, version: number) => Promise<any>;
|
|
28
32
|
getNumberOfDownloadRetries: (dataset: string, version: number) => Promise<number>;
|
|
29
|
-
|
|
33
|
+
replaceStaticTables: (tables: Array<Model<IMetadataTable>>, t: Transaction) => Promise<void>;
|
|
34
|
+
replacePrecomputedTables: (t: Transaction) => Promise<void>;
|
|
30
35
|
}
|
|
36
|
+
export {};
|
|
@@ -13,17 +13,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.RopidGTFSMetadataModel = exports.DatasetEnum = void 0;
|
|
16
|
-
const
|
|
17
|
-
const
|
|
16
|
+
const precomputed_1 = require("./data-access/precomputed");
|
|
17
|
+
const utils_1 = require("./utils");
|
|
18
|
+
const shared_1 = require("../shared");
|
|
19
|
+
const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
|
|
18
20
|
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
19
21
|
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const RopidGTFSMinMaxSequencesModel_1 = require("./RopidGTFSMinMaxSequencesModel");
|
|
24
|
-
const RopidGTFSScheduledTripsModel_1 = require("./RopidGTFSScheduledTripsModel");
|
|
25
|
-
const RopidGTFSServicesFirst14daysModel_1 = require("./RopidGTFSServicesFirst14daysModel");
|
|
26
|
-
const utils_1 = require("./utils");
|
|
22
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
23
|
+
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
24
|
+
const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
|
|
27
25
|
var DatasetEnum;
|
|
28
26
|
(function (DatasetEnum) {
|
|
29
27
|
DatasetEnum["PID_GTFS"] = "PID_GTFS";
|
|
@@ -47,7 +45,7 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
|
|
|
47
45
|
});
|
|
48
46
|
const tablesArray = [];
|
|
49
47
|
tables.map((table) => {
|
|
50
|
-
tablesArray.push(`'${ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName}
|
|
48
|
+
tablesArray.push(`'${ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}'`);
|
|
51
49
|
});
|
|
52
50
|
const result = yield this.sequelizeModel.sequelize.query(`
|
|
53
51
|
SELECT table_name AS name, count_rows(table_schema, table_name) AS total
|
|
@@ -103,33 +101,8 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
|
|
|
103
101
|
})),
|
|
104
102
|
},
|
|
105
103
|
});
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
helpers_1.log.info(`Datasets: replacing table ${pgTableName}`);
|
|
109
|
-
const tableNameActual = pgTableName + "_actual";
|
|
110
|
-
const tableNameTmp = pgTableName + "_tmp";
|
|
111
|
-
const indexQuery = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions
|
|
112
|
-
? (0, utils_1.buildAlterIndexQuery)(ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions)
|
|
113
|
-
: "";
|
|
114
|
-
return connection.query(`
|
|
115
|
-
LOCK "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName} IN EXCLUSIVE MODE;
|
|
116
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} NO INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
117
|
-
DROP TABLE IF EXISTS "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual};
|
|
118
|
-
${indexQuery}
|
|
119
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} RENAME TO ${tableNameActual};
|
|
120
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD create_batch_id int8 NULL;
|
|
121
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD COLUMN created_at timestamptz NULL DEFAULT now();
|
|
122
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD created_by varchar(150) NULL;
|
|
123
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD update_batch_id int8 NULL;
|
|
124
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD COLUMN updated_at timestamptz NULL DEFAULT now();
|
|
125
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD updated_by varchar(150) NULL;
|
|
126
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
127
|
-
`, { transaction: t });
|
|
128
|
-
}));
|
|
129
|
-
yield Promise.all(promises);
|
|
130
|
-
helpers_1.log.info(`Datasets: replacing tmp tables finished`);
|
|
131
|
-
yield this.replacePrecomputedTmpTables(t);
|
|
132
|
-
helpers_1.log.info(`Datasets: replacing precomputed tables finished`);
|
|
104
|
+
yield this.replaceStaticTables(tables, t);
|
|
105
|
+
yield this.replacePrecomputedTables(t);
|
|
133
106
|
// save meta
|
|
134
107
|
yield this.sequelizeModel.bulkCreate(datasetInfo.map((el) => ({
|
|
135
108
|
dataset: el.dataset,
|
|
@@ -194,16 +167,48 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
|
|
|
194
167
|
}
|
|
195
168
|
return +numberOfRetries.dataValues.retries;
|
|
196
169
|
});
|
|
197
|
-
this.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
170
|
+
this.replaceStaticTables = (tables, t) => __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
const connection = connectors_1.PostgresConnector.getConnection();
|
|
172
|
+
for (const table of tables) {
|
|
173
|
+
const pgTableName = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName;
|
|
174
|
+
helpers_1.log.info(`Datasets: replacing table ${pgTableName}`);
|
|
175
|
+
const tableNameActual = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Actual;
|
|
176
|
+
const tableNameTmp = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
|
|
177
|
+
const tableNameDrop = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Drop;
|
|
178
|
+
const indexQuery = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions
|
|
179
|
+
? (0, utils_1.buildAlterIndexQuery)(ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions)
|
|
180
|
+
: "";
|
|
181
|
+
yield connection.query(`
|
|
182
|
+
LOCK "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName} IN EXCLUSIVE MODE;
|
|
183
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} NO INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
184
|
+
${indexQuery}
|
|
185
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD create_batch_id int8 NULL;
|
|
186
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD COLUMN created_at timestamptz NULL DEFAULT now();
|
|
187
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD created_by varchar(150) NULL;
|
|
188
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD update_batch_id int8 NULL;
|
|
189
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD COLUMN updated_at timestamptz NULL DEFAULT now();
|
|
190
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD updated_by varchar(150) NULL;
|
|
191
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} RENAME TO ${tableNameDrop};
|
|
192
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} RENAME TO ${tableNameActual};
|
|
193
|
+
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
194
|
+
DROP TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameDrop};
|
|
195
|
+
`, { transaction: t });
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
this.replacePrecomputedTables = (t) => __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
helpers_1.log.info(`Datasets: replacing table ${this.servicesCalendarRepository["tableName"]}`);
|
|
200
|
+
yield this.servicesCalendarRepository.replaceByTmp(t);
|
|
201
|
+
helpers_1.log.info(`Datasets: replacing table ${this.minMaxStopSequencesRepository["tableName"]}`);
|
|
202
|
+
yield this.minMaxStopSequencesRepository.replaceByTmp(t);
|
|
203
|
+
helpers_1.log.info(`Datasets: replacing table ${this.tripScheduleRepository["tableName"]}`);
|
|
204
|
+
yield this.tripScheduleRepository.replaceByTmp(t);
|
|
205
|
+
helpers_1.log.info(`Datasets: replacing table ${this.departuresRepository["tableName"]}`);
|
|
201
206
|
yield this.departuresRepository.replaceByTmp(t);
|
|
202
207
|
});
|
|
203
|
-
this.departuresRepository = new
|
|
204
|
-
this.
|
|
205
|
-
this.
|
|
206
|
-
this.
|
|
208
|
+
this.departuresRepository = new precomputed_1.DeparturesRepository();
|
|
209
|
+
this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
|
|
210
|
+
this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
|
|
211
|
+
this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
|
|
207
212
|
}
|
|
208
213
|
}
|
|
209
214
|
exports.RopidGTFSMetadataModel = RopidGTFSMetadataModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSMetadataModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"RopidGTFSMetadataModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,9 @@ export declare class RopidGTFSWorker extends BaseWorker {
|
|
|
21
21
|
private transformationDeparturesPresets;
|
|
22
22
|
/** Precomputed data repositories */
|
|
23
23
|
private departuresRepository;
|
|
24
|
-
private
|
|
25
|
-
private
|
|
26
|
-
private
|
|
24
|
+
private minMaxStopSequencesRepository;
|
|
25
|
+
private tripScheduleRepository;
|
|
26
|
+
private servicesCalendarRepository;
|
|
27
27
|
private metaModel;
|
|
28
28
|
private redisModel;
|
|
29
29
|
private departuresPresetsModel;
|
|
@@ -58,6 +58,7 @@ export declare class RopidGTFSWorker extends BaseWorker {
|
|
|
58
58
|
* Queue listener method - verify tmp tables and replace public
|
|
59
59
|
*/
|
|
60
60
|
checkSavedRowsAndReplaceTables: (msg: AMQPMessage) => Promise<boolean>;
|
|
61
|
+
refreshPrecomputedTables: () => Promise<void>;
|
|
61
62
|
/**
|
|
62
63
|
* Queue listener method - triggers processing of DEPARTURES_PRESETS dataset
|
|
63
64
|
*/
|