Replies: 1 comment 3 replies
-
It's a nice idea, yet I think that having a flag to enable newer behavior would cause very little impact, almost nobody will run with such a flag and there will be little feedback for that reason. But maybe the "version-specific" option would make sense, this way we could introduce new behavior and yet have some sort of fallback to the previous behavior... this of course with a clear and detailed maintenance policy, since this could introduce more complexity to having to maintain two (or more) code branches making the code more ugly to maintain. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We tend to keep backward compatibility even in the case when old behavior was more like a bug rather than a feature.
However, currently, we do not have a preview mode, so it is not clear when things would break and how they would break.
Suppose we want to make a behavior change.
For instance: "convert silent rollback from a falling commit to error".
What do you think if we add:
a) Deprecation logger. "silent rollback" could result in a warning log message.
b) There might be a "disabled by default" option to throw error in case of silent rollback.
c) There might be a "progressive mode" flag that switches pgjdbc to "newer" behavior. Then it would be easier to test the behavior of upcoming versions without sacrificing the backward compatibility. In other words, users add "pgjdbc_progressive_mode=yes" and it switches the relevant options to the newer defaults
d) The default values for the options can probably be made "version-specific". In other words, currently, we have only one default version for each property. However, we could add it like "in 9.2...9.3 it was true by default, then in 42.0 it became false by default". Then users could specify "compatible_with_...=42...", and
WDYT?
Relevant links:
https://kotlinlang.org/docs/whatsnew13.html#progressive-mode
gradle/gradle#16344
Beta Was this translation helpful? Give feedback.
All reactions