-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactored the Dialect to use an interface to generate the DB specific SQL. #484
Conversation
This looks sensible. However, it's quite a compatibility break. This could be avoided to a degree (if we ignore binary compatibility) by:
e.g.
I think this would clean up a lot of the "splash damage" around the rest of the codebase. |
...onoutbox-core/src/test/java/com/gruelbox/transactionoutbox/AbstractDefaultPersistorTest.java
Outdated
Show resolved
Hide resolved
Will do. I was trying to keep Dialect an Enum and create a new concept to encapsulate the SQL differences but I'll go ahead and change Dialect to an interface. |
@badgerwithagun Let me know if you see anything else you want updated or want further changes. I feel like the migration code could be refactored as well but wanted to keep this change tight and small. |
transactionoutbox-core/src/main/java/com/gruelbox/transactionoutbox/DialectH2Impl.java
Outdated
Show resolved
Hide resolved
… Dialect. Added base implementations to use in composition/forwarding.
@badgerwithagun Let me know if you see anything else you want updated or want further changes. I feel like the migration code could be refactored as well but wanted to keep this change tight and small. |
Plan to add SQL Server support and this seemed like the time to refactor the Dialect into a proper interface. No functional changes.