Skip to content

Commit a075a0a

Browse files
author
mihaita.tinta
committed
fix schemas
1 parent 32a6c55 commit a075a0a

File tree

6 files changed

+19
-17
lines changed

6 files changed

+19
-17
lines changed

spring-modulith-events/spring-modulith-events-jdbc/src/main/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class JdbcEventPublicationRepository implements EventPublicationRepository, Bean
8181
FROM %s e
8282
LEFT JOIN %s f on f.EVENT_ID = e.ID
8383
WHERE COMPLETION_DATE IS NULL
84-
ORDER BY PUBLICATION_DATE ASC
84+
ORDER BY e.PUBLICATION_DATE ASC, f.FAILED_DATE
8585
""";
8686

8787
private static final String SQL_STATEMENT_FIND_UNCOMPLETED_BEFORE = """
@@ -92,7 +92,7 @@ class JdbcEventPublicationRepository implements EventPublicationRepository, Bean
9292
WHERE
9393
e.COMPLETION_DATE IS NULL
9494
AND e.PUBLICATION_DATE < ?
95-
ORDER BY e.PUBLICATION_DATE ASC
95+
ORDER BY e.PUBLICATION_DATE ASC, f.FAILED_DATE
9696
""";
9797

9898
private static final String SQL_STATEMENT_UPDATE_BY_EVENT_AND_LISTENER_ID = """

spring-modulith-events/spring-modulith-events-jdbc/src/main/resources/schema-mariadb.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ CREATE TABLE IF NOT EXISTS EVENT_PUBLICATION
1111
);
1212
CREATE TABLE IF NOT EXISTS EVENT_FAILED_ATTEMPT_INFO
1313
(
14-
EVENT_ID UUID NOT NULL,
15-
FAILED_DATE TIMESTAMP(9) WITH TIME ZONE,
14+
EVENT_ID VARCHAR(36) NOT NULL,
15+
FAILED_DATE TIMESTAMP(6) NOT NULL,
1616
SERIALIZED_REASON VARCHAR(4000) NOT NULL,
1717
REASON_TYPE VARCHAR(512) NOT NULL,
1818
CONSTRAINT FK_FAILED_EVENT_INFO_EVENT

spring-modulith-events/spring-modulith-events-jdbc/src/main/resources/schema-mysql.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ CREATE TABLE IF NOT EXISTS EVENT_PUBLICATION
1111
);
1212
CREATE TABLE IF NOT EXISTS EVENT_FAILED_ATTEMPT_INFO
1313
(
14-
EVENT_ID UUID NOT NULL,
15-
FAILED_DATE TIMESTAMP(9) WITH TIME ZONE,
14+
EVENT_ID VARCHAR(36) NOT NULL,
15+
FAILED_DATE TIMESTAMP(6) NOT NULL,
1616
SERIALIZED_REASON VARCHAR(4000) NOT NULL,
1717
REASON_TYPE VARCHAR(512) NOT NULL,
1818
CONSTRAINT FK_FAILED_EVENT_INFO_EVENT

spring-modulith-events/spring-modulith-events-jdbc/src/main/resources/schema-postgresql.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ CREATE INDEX IF NOT EXISTS event_publication_by_completion_date_idx ON event_pub
1313
CREATE TABLE IF NOT EXISTS EVENT_FAILED_ATTEMPT_INFO
1414
(
1515
EVENT_ID UUID NOT NULL,
16-
FAILED_DATE TIMESTAMP(9) WITH TIME ZONE,
17-
SERIALIZED_REASON VARCHAR(4000) NOT NULL,
18-
REASON_TYPE VARCHAR(512) NOT NULL,
16+
FAILED_DATE TIMESTAMP WITH TIME ZONE NOT NULL1,
17+
SERIALIZED_REASON TEXT NOT NULL,
18+
REASON_TYPE TEXT NOT NULL,
1919
CONSTRAINT FK_FAILED_EVENT_INFO_EVENT
2020
FOREIGN KEY (EVENT_ID)
2121
REFERENCES EVENT_PUBLICATION(ID)

spring-modulith-events/spring-modulith-events-jdbc/src/main/resources/schema-sqlserver.sql

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ CREATE TABLE EVENT_PUBLICATION
1010
PRIMARY KEY (ID),
1111
INDEX EVENT_PUBLICATION_BY_COMPLETION_DATE_IDX (COMPLETION_DATE)
1212
);
13-
CREATE TABLE IF NOT EXISTS EVENT_FAILED_ATTEMPT_INFO
13+
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'EVENT_FAILED_ATTEMPT_INFO')
14+
CREATE TABLE EVENT_FAILED_ATTEMPT_INFO
1415
(
15-
EVENT_ID UUID NOT NULL,
16-
FAILED_DATE TIMESTAMP(9) WITH TIME ZONE,
16+
EVENT_ID VARCHAR(36) NOT NULL,
17+
FAILED_DATE DATETIME2(6) NOT NULL,
1718
SERIALIZED_REASON VARCHAR(4000) NOT NULL,
1819
REASON_TYPE VARCHAR(512) NOT NULL,
1920
CONSTRAINT FK_FAILED_EVENT_INFO_EVENT

spring-modulith-events/spring-modulith-events-jdbc/src/test/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationRepositoryIntegrationTests.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -432,18 +432,19 @@ void findsPublicationsThatFailedOnce() {
432432
void findsPublicationsThatFailedTwice() {
433433

434434
var first = createPublication(new TestEvent("first"));
435-
Instant now = Instant.now();
435+
Instant firstTry = Instant.now().minusSeconds(10);
436+
Instant secondTry = Instant.now().minusSeconds(5);
436437
IllegalStateException reason1 = new IllegalStateException("failed once");
437438
IllegalStateException reason2 = new IllegalStateException("failed second time");
438-
var entry1 = new JdbcEventPublicationRepository.JdbcFailedAttemptInfo(now, reason1);
439-
var entry2 = new JdbcEventPublicationRepository.JdbcFailedAttemptInfo(now, reason2);
439+
var entry1 = new JdbcEventPublicationRepository.JdbcFailedAttemptInfo(firstTry, reason1);
440+
var entry2 = new JdbcEventPublicationRepository.JdbcFailedAttemptInfo(secondTry, reason2);
440441
doReturn(reason1.toString()).when(serializer).serialize(reason1);
441442
doReturn(reason2.toString()).when(serializer).serialize(reason2);
442443
doReturn(reason1).when(serializer).deserialize(reason1.toString(), reason1.getClass());
443444
doReturn(reason2).when(serializer).deserialize(reason2.toString(), reason2.getClass());
444445

445-
repository.markFailed(first.getIdentifier(), now, reason1);
446-
repository.markFailed(first.getIdentifier(), now, reason2);
446+
repository.markFailed(first.getIdentifier(), firstTry, reason1);
447+
repository.markFailed(first.getIdentifier(), secondTry, reason2);
447448

448449
assertThat(repository.findIncompletePublications())
449450
.extracting(TargetEventPublication::getFailedAttempts)

0 commit comments

Comments
 (0)