Coder Social home page Coder Social logo

Comments (2)

csummers avatar csummers commented on July 17, 2024 1

This a good question and one that I considered when we added the next.jdbc adapter. A few thoughts around this issue:

The trade-offs for any team/project encountering this switch would vary, but doing so would potentially break lots of code bases in unexpected ways. For this reason alone, I think it is unlikely that the default clojure.java.jdbc adapter is replaced with next.jdbc.

However, having a default in the first place, while meant to make things easier for users, may have been a mistake. A more likely scenario is that we remove any "magic" and do not load a default adapter at all. Instead, we would require that users add the appropriate adapter library to their deps and set the adapter on startup. This would level the user experience across all adapters, and also bring to light the fact that there is an underlying library doing the jdbc work. Some of the questions/issues over the years have come from users' lack of awareness of this detail.

It's still a big change to move to no default, but I think the breakage would be a "stop the world" event vs. a potentially quiet "something's not working" surprise. A big change like this would need to happen in a major release. I'd also like to consider if and how to make any change like this as painless as possible.

I'll keep this open as we think on this.

from hugsql.

ieugen avatar ieugen commented on July 17, 2024

I also think that having a no-default and letting users chose either one version is a good option.
This can be as easy as having a dependency on the classpath and selecting the implementation when configuring.
I would like to have the option of choosing what gets on the classpath.

from hugsql.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.