diff --git a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorLogModel.java b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorLogModel.java
index 22aadc8a..35d564eb 100644
--- a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorLogModel.java
+++ b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorLogModel.java
@@ -25,23 +25,23 @@
@Entity
@NamedNativeQuery(name = "ErrorLogByrtfeedID",
query = // Retrieve the remaining columns, title and severity from Error and FinalResult tables on matching errorIds.
- "SELECT rowIdentifier, ? AS rtFeedID, errorId AS id, " +
+ "SELECT rowIdentifier, ? AS rtFeedID, Error.errorId AS id, " +
"Error.title, Error.severity, iterationId, occurrence, loggingTime " +
"FROM Error " +
"INNER JOIN " +
// Retrieve the other required column errorId on matching iterationId from MessageLog and UniqueRowIdResult tables.
- "(SELECT rowIdentifier, errorId, iterationId, " +
+ "(SELECT rowIdentifier, MessageLog.errorId, MessageLog.iterationId, " +
"occurrence, loggingTime " +
"FROM MessageLog " +
"INNER JOIN " +
// Retrieve ROWNUM here.
- "(SELECT ROWNUM() AS rowIdentifier, " +
+ "(SELECT ROW_NUMBER() OVER(ORDER BY IterationID) AS rowIdentifier, " +
"IterationID AS iterationId, " +
"feedTimestamp AS occurrence, " +
"IterationTimestamp AS loggingTime " +
"FROM " +
// Retrieve unique IteraionID and IterationTimestamp to get ROWNUM in sequential order.
- "(SELECT DISTINCT errorLog.IterationID, errorLog.IterationTimestamp, errorLog.feedTimestamp " +
+ "(SELECT errorLog.IterationID, errorLog.IterationTimestamp, errorLog.feedTimestamp " +
"FROM " +
"(SELECT GtfsRtFeedIDIteration.IterationID, " +
"GtfsRtFeedIDIteration.IterationTimestamp, " +
@@ -54,8 +54,7 @@
"ON MessageLog.iterationID = GtfsRtFeedIDIteration.IterationID " +
"AND IterationTimestamp >= ? AND IterationTimestamp <= ? " +
") errorLog " +
- "ORDER BY IterationID " +
- ") " +
+ "GROUP BY errorLog.IterationID, errorLog.IterationTimestamp, errorLog.feedTimestamp) t" +
") UniqueRowIdResult " +
"ON MessageLog.iterationId = UniqueRowIdResult.iterationId " +
") FinalResult " +
diff --git a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorSummaryModel.java b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorSummaryModel.java
index a18b3398..274e521b 100644
--- a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorSummaryModel.java
+++ b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewErrorSummaryModel.java
@@ -24,24 +24,24 @@
@XmlRootElement
@Entity
@NamedNativeQuery(name = "ErrorSummaryByrtfeedID",
- query = "SELECT ? AS rtFeedID, errorID AS id, " +
+ query = "SELECT ? AS rtFeedID, Error.errorID AS id, " +
"title, severity, totalCount, lastTime, " +
"lastFeedTime, lastIterationId, lastRowId " +
"FROM Error " +
"INNER JOIN " +
- "(SELECT errorID, MAX(rowIdentifier) AS lastRowId, " +
- "count(*) AS totalCount, MAX(iterationId) AS lastIterationId, " +
+ "(SELECT MessageLog.errorID, MAX(rowIdentifier) AS lastRowId, " +
+ "count(*) AS totalCount, MAX(MessageLog.iterationId) AS lastIterationId, " +
"MAX(iterationTimestamp) AS lastTime, " +
"MAX(feedTimestamp) AS lastFeedTime " +
"FROM MessageLog " +
"INNER JOIN " +
// Retrieve rowIdentifier for each of unique (iterationId, iterationTimestamp)
- "(SELECT ROWNUM() AS rowIdentifier, " +
+ "(SELECT ROW_NUMBER() OVER(ORDER BY iterationID) AS rowIdentifier, " +
"IterationID AS iterationId, " +
"IterationTimestamp AS iterationTimestamp, feedTimestamp " +
"FROM " +
// Retrieve unique IterationID and IterationTimestamp, so that we can get ROWNUM in sequence
- "(SELECT DISTINCT errorLog.IterationID, errorLog.IterationTimestamp, " +
+ "(SELECT errorLog.IterationID, errorLog.IterationTimestamp, " +
"errorLog.feedTimestamp " +
"FROM " +
"(SELECT GtfsRtFeedIDIteration.IterationID, " +
@@ -55,8 +55,7 @@
"ON MessageLog.iterationID = GtfsRtFeedIDIteration.IterationID " +
"AND IterationTimestamp >= ? AND IterationTimestamp <= ? " +
") errorLog " +
- "ORDER BY iterationId " +
- ") " +
+ "GROUP BY errorLog.IterationID, errorLog.IterationTimestamp, errorLog.feedTimestamp) t" +
") UniqueRowIdResult " +
"ON MessageLog.iterationID = UniqueRowIdResult.iterationId " +
"GROUP BY errorId " +
diff --git a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewGtfsRtFeedErrorCountModel.java b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewGtfsRtFeedErrorCountModel.java
index 6fc0ee6c..3bb30052 100644
--- a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewGtfsRtFeedErrorCountModel.java
+++ b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewGtfsRtFeedErrorCountModel.java
@@ -31,7 +31,7 @@
"INNER JOIN " +
"(SELECT errorID, count(*) AS totalCount, " +
"MAX(IterationTimestamp) AS IterationTimestamp, " +
- "MAX(IterationID) AS lastIterationId " +
+ "MAX(MessageLog.IterationID) AS lastIterationId " +
"FROM MessageLog " +
"INNER JOIN " +
"(SELECT IterationID, IterationTimestamp " +
diff --git a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewIterationErrorsModel.java b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewIterationErrorsModel.java
index e7f602fd..2cad17d8 100644
--- a/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewIterationErrorsModel.java
+++ b/gtfs-realtime-validator-lib/src/main/java/edu/usf/cutr/gtfsrtvalidator/lib/model/ViewIterationErrorsModel.java
@@ -25,21 +25,20 @@
@XmlRootElement
@Entity
@NamedNativeQuery(name = "IterationIdErrors",
- query = "SELECT ROWNUM() AS rowId, occurrenceId, " +
- "errorId, title, occurrencePrefix, occurrenceSuffix " +
+ query = "SELECT ROW_NUMBER() OVER(ORDER BY occurrenceId) AS rowId, occurrenceId, " +
+ "Error.errorId, title, occurrencePrefix, occurrenceSuffix " +
"FROM Error " +
"INNER JOIN " +
- "(SELECT messageId, errorId, prefix AS occurrencePrefix, occurrenceId " +
+ "(SELECT Occurrence.messageId, prefix AS occurrencePrefix, occurrenceId " +
"FROM " +
"Occurrence " +
"INNER JOIN " +
- "(SELECT messageId, errorId " +
+ "(SELECT MessageLog.messageId, MessageLog.errorId " +
"FROM MessageLog " +
"WHERE iterationId = ?) MessageLogIteration " +
"ON Occurrence.messageId = MessageLogIteration.messageId " +
- "WHERE messageId = ? ) OccurrenceList " +
- "ON Error.errorId = OccurrenceList.errorId " +
- "ORDER BY occurrenceId ",
+ "WHERE Occurrence.messageId = ? ) OccurrenceList " +
+ "ON Error.errorId = OccurrenceList.errorId ",
resultClass = ViewIterationErrorsModel.class)
public class ViewIterationErrorsModel {
diff --git a/gtfs-realtime-validator-lib/src/test/resources/testSQLScript.sql b/gtfs-realtime-validator-lib/src/test/resources/testSQLScript.sql
index 3a51b971..d1abb33b 100644
--- a/gtfs-realtime-validator-lib/src/test/resources/testSQLScript.sql
+++ b/gtfs-realtime-validator-lib/src/test/resources/testSQLScript.sql
@@ -1,48 +1,69 @@
-
-- Insert records into GtfsFeed table
-INSERT INTO GtfsFeed -- Columns (feedId, agency, fileCheckSum, errorCount, fileLocation, feedUrl, downloadTimestamp)
+SET IDENTITY_INSERT GtfsFeed ON;
+
+
+INSERT INTO GtfsFeed (feedId, agency ,fileChecksum ,errorCount ,fileLocation ,feedUrl ,downloadTimestamp)
+ -- Columns (feedId, agency, fileCheckSum, errorCount, fileLocation, feedUrl, downloadTimestamp)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES(-1, 'America/New_York', NULL, 0, 'dummy', 'dummy', 1))
- WHERE NOT EXISTS (SELECT * FROM GtfsFeed WHERE feedId = -1);
+ (SELECT * FROM (SELECT -1 a, 'America/New_York' b, NULL c, 0 d,
+ 'dummy' e, 'dummy' f, 1 g)t WHERE NOT EXISTS
+ (SELECT * FROM GtfsFeed WHERE feedId = -1));
+SET IDENTITY_INSERT GtfsFeed OFF;
-- Insert records into GtfsRtFeed table
-INSERT INTO GtfsRtFeed -- Columns (rtFeedId, rtFeedUrl, gtfsFeedId)
+SET IDENTITY_INSERT GtfsRtFeed ON;
+
+INSERT INTO GtfsRtFeed (rtFeedId, feedURL, gtfsFeedID)
+ -- Columns (rtFeedId, rtFeedUrl, gtfsFeedId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -1, 'dummy', -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeed WHERE rtFeedId = -1);
+ (SELECT * FROM (SELECT -1 a, 'dummy' b, -1 c)t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeed WHERE rtFeedId = -1));
+SET IDENTITY_INSERT GtfsRtFeed OFF;
+
+
+SET IDENTITY_INSERT GtfsRtFeedIteration ON;
-- Insert records into GtfsRtFeedIteration
-INSERT INTO GtfsRtFeedIteration -- Columns (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
+INSERT INTO GtfsRtFeedIteration (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
+-- Columns (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -2, NULL, 1, NULL, 1, -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -2);
+ (SELECT * FROM (SELECT -2 a, NULL b, 1 c, NULL d, 1 e, -1 f) t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -2));
+
-INSERT INTO GtfsRtFeedIteration
- SELECT * FROM (VALUES( -1, NULL, 2, NULL, 2, -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -1);
+INSERT INTO GtfsRtFeedIteration (IterationID, feedHash, feedTimestamp, feedProtobuf, IterationTimestamp, rtFeedID)
+ (SELECT * FROM (SELECT -1 a, NULL b, 2 c, NULL d, 2 e, -1 f) t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -1));
+SET IDENTITY_INSERT GtfsRtFeedIteration OFF;
-- Insert records into MessageLog table
-INSERT INTO MessageLog -- Columns (messageId, errorDetails, iterationId, errorId)
+SET IDENTITY_INSERT MessageLog ON;
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+-- Columns (messageId, errorDetails, iterationId, errorId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -6, NULL, -2, 'W002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -6);
+ (SELECT * FROM (SELECT -6 a, NULL b, -2 c, 'W002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -6));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -5 a, NULL b, -2 c, 'W001' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -5));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -4 a, NULL b, -2 c, 'E002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -4));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -3 a, NULL b, -2 c, 'W002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -3));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -5, NULL, -2, 'W001'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -5);
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -2 a, NULL b, -2 c, 'W001' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -2));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -4, NULL, -2, 'E002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -4);
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -1 a, NULL b, -2 c, 'E002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -1));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -3, NULL, -1, 'W002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -3);
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -2, NULL, -1, 'W001'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -2);
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -1, NULL, -1, 'E002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -1);
\ No newline at end of file
+SET IDENTITY_INSERT MessageLog OFF;
\ No newline at end of file
diff --git a/gtfs-realtime-validator-webapp/pom.xml b/gtfs-realtime-validator-webapp/pom.xml
index 71e169dc..5fd9e4f8 100644
--- a/gtfs-realtime-validator-webapp/pom.xml
+++ b/gtfs-realtime-validator-webapp/pom.xml
@@ -152,6 +152,14 @@
gtfs-realtime-validator-lib
1.0.0-SNAPSHOT
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 6.2.2.jre8
+ test
+
+
diff --git a/gtfs-realtime-validator-webapp/src/main/resources/hibernate.cfg.xml b/gtfs-realtime-validator-webapp/src/main/resources/hibernate.cfg.xml
index 6c7251e1..3e8909d8 100644
--- a/gtfs-realtime-validator-webapp/src/main/resources/hibernate.cfg.xml
+++ b/gtfs-realtime-validator-webapp/src/main/resources/hibernate.cfg.xml
@@ -1,17 +1,18 @@
-
+
- org.hibernate.dialect.HSQLDialect
- org.hsqldb.jdbcDriver
- jdbc:hsqldb:file:gtfsrthsql;hsqldb.log_data=false
+ org.hibernate.dialect.SQLServer2012Dialect
+ com.microsoft.sqlserver.jdbc.SQLServerDriver
+ jdbc:sqlserver://cutr-db2.forest.usf.edu:1433;databaseName=gtfs-realtime-validator
1
1
1800
50
- sa
-
+
+ passwordgoeshere
update
+ true
diff --git a/gtfs-realtime-validator-webapp/src/test/java/edu/usf/cutr/gtfsrtvalidator/test/queries/QueryTest.java b/gtfs-realtime-validator-webapp/src/test/java/edu/usf/cutr/gtfsrtvalidator/test/queries/QueryTest.java
index 2d838ea5..facee4fd 100644
--- a/gtfs-realtime-validator-webapp/src/test/java/edu/usf/cutr/gtfsrtvalidator/test/queries/QueryTest.java
+++ b/gtfs-realtime-validator-webapp/src/test/java/edu/usf/cutr/gtfsrtvalidator/test/queries/QueryTest.java
@@ -69,15 +69,16 @@ protected void setUp() {
String createQuery = new String(encoded, "UTF-8");
String[] createStatements = createQuery.split(";");
-
+ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
+ Connection con = DriverManager.getConnection("jdbc:sqlserver://my.sqlserver.com:1433;databaseName=gtfs-realtime-validator",
+ "testuser", "testpassword");
for (String createStatement : createStatements) {
- Class.forName("org.hsqldb.jdbcDriver");
- Connection con = DriverManager.getConnection("jdbc:hsqldb:file:gtfsrthsql", "sa", "");
stmt = con.createStatement();
+ System.out.println(createStatement);
stmt.execute(createStatement);
stmt.close();
- con.close();
}
+ con.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
@@ -176,28 +177,27 @@ public void testViewErrorLogModel() {
staticResult.add(viewErrorLogModel);
viewErrorLogModel = new ViewErrorLogModel();
- viewErrorLogModel.setRowId(2);
+ viewErrorLogModel.setRowId(1);
viewErrorLogModel.setGtfsRtId(gtfsRtId);
- viewErrorLogModel.setIterationId(-1);
- viewErrorLogModel.setOccurrence(2);
- viewErrorLogModel.setLoggingTime(2);
- viewErrorLogModel.setId("W001");
- viewErrorLogModel.setSeverity("WARNING");
- viewErrorLogModel.setTitle("Timestamp not populated");
+ viewErrorLogModel.setIterationId(-2);
+ viewErrorLogModel.setOccurrence(1);
+ viewErrorLogModel.setLoggingTime(1);
+ viewErrorLogModel.setId("E002");
+ viewErrorLogModel.setSeverity("ERROR");
+ viewErrorLogModel.setTitle("Unsorted stop_sequence");
viewErrorLogModel.setFormattedTimestamp(gtfsRtFeed.getDateFormat(viewErrorLogModel.getOccurrence(), gtfsRtId));
viewErrorLogModel.setTimeZone(GtfsRtFeed.agencyTimezone);
staticResult.add(viewErrorLogModel);
-
viewErrorLogModel = new ViewErrorLogModel();
viewErrorLogModel.setRowId(2);
viewErrorLogModel.setGtfsRtId(gtfsRtId);
viewErrorLogModel.setIterationId(-1);
viewErrorLogModel.setOccurrence(2);
viewErrorLogModel.setLoggingTime(2);
- viewErrorLogModel.setId("W002");
+ viewErrorLogModel.setId("W001");
viewErrorLogModel.setSeverity("WARNING");
- viewErrorLogModel.setTitle("Vehicle_id not populated");
+ viewErrorLogModel.setTitle("Timestamp not populated");
viewErrorLogModel.setFormattedTimestamp(gtfsRtFeed.getDateFormat(viewErrorLogModel.getOccurrence(), gtfsRtId));
viewErrorLogModel.setTimeZone(GtfsRtFeed.agencyTimezone);
@@ -209,23 +209,23 @@ public void testViewErrorLogModel() {
viewErrorLogModel.setIterationId(-2);
viewErrorLogModel.setOccurrence(1);
viewErrorLogModel.setLoggingTime(1);
- viewErrorLogModel.setId("E002");
- viewErrorLogModel.setSeverity("ERROR");
- viewErrorLogModel.setTitle("Unsorted stop_sequence");
+ viewErrorLogModel.setId("W001");
+ viewErrorLogModel.setSeverity("WARNING");
+ viewErrorLogModel.setTitle("Timestamp not populated");
viewErrorLogModel.setFormattedTimestamp(gtfsRtFeed.getDateFormat(viewErrorLogModel.getOccurrence(), gtfsRtId));
viewErrorLogModel.setTimeZone(GtfsRtFeed.agencyTimezone);
staticResult.add(viewErrorLogModel);
viewErrorLogModel = new ViewErrorLogModel();
- viewErrorLogModel.setRowId(1);
+ viewErrorLogModel.setRowId(2);
viewErrorLogModel.setGtfsRtId(gtfsRtId);
- viewErrorLogModel.setIterationId(-2);
- viewErrorLogModel.setOccurrence(1);
- viewErrorLogModel.setLoggingTime(1);
- viewErrorLogModel.setId("W001");
+ viewErrorLogModel.setIterationId(-1);
+ viewErrorLogModel.setOccurrence(2);
+ viewErrorLogModel.setLoggingTime(2);
+ viewErrorLogModel.setId("W002");
viewErrorLogModel.setSeverity("WARNING");
- viewErrorLogModel.setTitle("Timestamp not populated");
+ viewErrorLogModel.setTitle("Vehicle_id not populated");
viewErrorLogModel.setFormattedTimestamp(gtfsRtFeed.getDateFormat(viewErrorLogModel.getOccurrence(), gtfsRtId));
viewErrorLogModel.setTimeZone(GtfsRtFeed.agencyTimezone);
diff --git a/gtfs-realtime-validator-webapp/src/test/resources/testSQLScript.sql b/gtfs-realtime-validator-webapp/src/test/resources/testSQLScript.sql
index 3a51b971..d1abb33b 100644
--- a/gtfs-realtime-validator-webapp/src/test/resources/testSQLScript.sql
+++ b/gtfs-realtime-validator-webapp/src/test/resources/testSQLScript.sql
@@ -1,48 +1,69 @@
-
-- Insert records into GtfsFeed table
-INSERT INTO GtfsFeed -- Columns (feedId, agency, fileCheckSum, errorCount, fileLocation, feedUrl, downloadTimestamp)
+SET IDENTITY_INSERT GtfsFeed ON;
+
+
+INSERT INTO GtfsFeed (feedId, agency ,fileChecksum ,errorCount ,fileLocation ,feedUrl ,downloadTimestamp)
+ -- Columns (feedId, agency, fileCheckSum, errorCount, fileLocation, feedUrl, downloadTimestamp)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES(-1, 'America/New_York', NULL, 0, 'dummy', 'dummy', 1))
- WHERE NOT EXISTS (SELECT * FROM GtfsFeed WHERE feedId = -1);
+ (SELECT * FROM (SELECT -1 a, 'America/New_York' b, NULL c, 0 d,
+ 'dummy' e, 'dummy' f, 1 g)t WHERE NOT EXISTS
+ (SELECT * FROM GtfsFeed WHERE feedId = -1));
+SET IDENTITY_INSERT GtfsFeed OFF;
-- Insert records into GtfsRtFeed table
-INSERT INTO GtfsRtFeed -- Columns (rtFeedId, rtFeedUrl, gtfsFeedId)
+SET IDENTITY_INSERT GtfsRtFeed ON;
+
+INSERT INTO GtfsRtFeed (rtFeedId, feedURL, gtfsFeedID)
+ -- Columns (rtFeedId, rtFeedUrl, gtfsFeedId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -1, 'dummy', -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeed WHERE rtFeedId = -1);
+ (SELECT * FROM (SELECT -1 a, 'dummy' b, -1 c)t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeed WHERE rtFeedId = -1));
+SET IDENTITY_INSERT GtfsRtFeed OFF;
+
+
+SET IDENTITY_INSERT GtfsRtFeedIteration ON;
-- Insert records into GtfsRtFeedIteration
-INSERT INTO GtfsRtFeedIteration -- Columns (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
+INSERT INTO GtfsRtFeedIteration (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
+-- Columns (iterationId, feedHash, feedTimestamp, feedProtoBuf, iterationTimestamp, rtFeedId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -2, NULL, 1, NULL, 1, -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -2);
+ (SELECT * FROM (SELECT -2 a, NULL b, 1 c, NULL d, 1 e, -1 f) t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -2));
+
-INSERT INTO GtfsRtFeedIteration
- SELECT * FROM (VALUES( -1, NULL, 2, NULL, 2, -1))
- WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -1);
+INSERT INTO GtfsRtFeedIteration (IterationID, feedHash, feedTimestamp, feedProtobuf, IterationTimestamp, rtFeedID)
+ (SELECT * FROM (SELECT -1 a, NULL b, 2 c, NULL d, 2 e, -1 f) t
+ WHERE NOT EXISTS (SELECT * FROM GtfsRtFeedIteration WHERE IterationId = -1));
+SET IDENTITY_INSERT GtfsRtFeedIteration OFF;
-- Insert records into MessageLog table
-INSERT INTO MessageLog -- Columns (messageId, errorDetails, iterationId, errorId)
+SET IDENTITY_INSERT MessageLog ON;
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+-- Columns (messageId, errorDetails, iterationId, errorId)
-- We ensures that record is not inserted if already exists, to avoid primary key constraint violation
- SELECT * FROM (VALUES( -6, NULL, -2, 'W002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -6);
+ (SELECT * FROM (SELECT -6 a, NULL b, -2 c, 'W002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -6));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -5 a, NULL b, -2 c, 'W001' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -5));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -4 a, NULL b, -2 c, 'E002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -4));
+
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -3 a, NULL b, -2 c, 'W002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -3));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -5, NULL, -2, 'W001'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -5);
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -2 a, NULL b, -2 c, 'W001' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -2));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -4, NULL, -2, 'E002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -4);
+INSERT INTO MessageLog (messageId, errorDetails, iterationId, errorId)
+ (SELECT * FROM (SELECT -1 a, NULL b, -2 c, 'E002' d) t
+ WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -1));
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -3, NULL, -1, 'W002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -3);
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -2, NULL, -1, 'W001'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -2);
-INSERT INTO MessageLog
- SELECT * FROM (VALUES( -1, NULL, -1, 'E002'))
- WHERE NOT EXISTS (SELECT * FROM MessageLog WHERE messageId = -1);
\ No newline at end of file
+SET IDENTITY_INSERT MessageLog OFF;
\ No newline at end of file