Ryan Senior
authored
Driver loading previously was very dependent on what code clojure compiled first. If the Oracle driver was loaded before the plugin directory was examined, it would result in the Oracle driver never being loaded. This is due to clojure code only being loaded once when required and the driver loading code being free floating code that is only evaled when the namespace is loaded. This commit switches that code to be in an -init-driver function that is invoked when the driver is required. This ensures that regardless of code loading order, the driver will be available if it's present. This commit also includes code to fail the build if requested to test on an engine when that engine's driver is not available. Previously if you set ENGINES to "h2,oracle" but had no Oracle driver in the plugins directory, the test would succeed, but only test against H2.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.