Removal of Ebean ORM

Discussion in 'API Discussion' started by md_5, Nov 17, 2016.

?

Remove Ebean?

  1. Yes

  2. No

Results are only viewable after voting.
Thread Status:
Not open for further replies.
  1. sothatsit

    Patron

    What "MySQL" is in Spigot?
     
  2. Choco

    Moderator

    com.mysql.jdbc. That package contains classes all related to MySQL. Although Java does have an SQL implementation, there is a proper external library for it, and it's shaded into the server jar
     
  3. sothatsit

    Patron

    Oh strange...

    I've always just used the classes from the java.sql package, or c3p0 for connection pooling. The java.sql and com.mysql.jdbc implementations look like they function the exact same, no clue why you would use the additional dependency.

    "proper external library" implying that Java's implementation is not "proper"?
     
  4. Puremin0rez

    Moderator

    I agree that if it's removed, it should not be replaced with anything. Plugins should manage their own dependencies, not the server software IMO.
     
    • Agree Agree x 1
  5. Choco

    Moderator

    I'm not implying that at all. It is proper. Though com.mysql.jdbc is the vendor-specific implementation of MySQL which contains classes that can manage the back-end of databases, whereas Java's implementation only handles common implementations

    This stackoverflow thread will explain it better than myself
    http://stackoverflow.com/a/14153754
     
  6. sothatsit

    Patron

    I would vote for not replacing it.

    Pros of replacing it:
    Plugin's don't have to load mysql credentials from config.
    Plugin's don't have to shade in a library for connection pooling.
    Owner's only have to put their mysql credentials in one config file.

    Cons of replacing it:
    I know a lot of servers use different mysql credentials for each plugin for security reasons, this would not allow that.
    Potentially another library in the jar that is not used very much and cannot be updated due to backwards compatibility.

    I don't agree with the bs that no libraries should be included in spigot only because "Plugins should manage their own dependencies". That is dumb.

    Ah ok, that makes more sense. Interesting :)
     
    • Like Like x 2
  7. md_5

    Administrator Developer

    Do you actually know anyone aside from zPermissions that uses this?
     
  8. Lets agree to disagree that spigot should add some sort of mysql lib and api in, hikaricp is the best bet. Instead of having hundreds of devs spending wasteless time on creating their own shitty sql system lets just collaboratively create a mysql system for spigot that implements hikaricp.
     
    • Agree Agree x 1
  9. sothatsit

    Patron

    I think i saw one other plugin once that used the Ebean ORM. It wasn't a popular plugin though. Don't remember exactly why i was looking at it, might have been trying to help them fix something. Otherwise I've never seen any other plugins using it.

    Just to make sure I'm being clear, those pros and cons are for implementing a connection pooling library into Spigot like HikariCP or C3P0, not for pros and cons of removing the Ebean ORM.
     
  10. md_5

    Administrator Developer

    We will not add new libraries to the Bukkit API, because once we do that we can almost never update them.
    Even just bumping MySQL a few point releases has caused complaints, and the SQLite change this release has been several years in the making.
    Plugin developers should embed what they like because then its their issue if it breaks / is outdated, not ours.

    As for the rest of this thread - it's pretty clear that the majority don't care - about 95% want it removed. Given that zPermissions is pretty much the only plugin in existence that uses this, that's that. If people still want to use it they can embed it within their plugin.
     
    • Like x 4
    • Agree x 1
    • Winner x 1
    • Informative x 1
    • Friendly x 1
Thread Status:
Not open for further replies.