Skip to content
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

Upcoming breaking changes #8

Closed
tarsius opened this issue Mar 1, 2023 · 2 comments
Closed

Upcoming breaking changes #8

tarsius opened this issue Mar 1, 2023 · 2 comments

Comments

@tarsius
Copy link
Member

tarsius commented Mar 1, 2023

I am getting ready to release EmacSQL at the end of the month. For packages that use that directly, the update is trivial, see magit/emacsql#113.

@wandersoncferreira @r0man, your packages also use closql, and here we cannot get around a breaking change.

Packages that use EmacSQL should not force the user to use the emacsql-sqlite backend, and they should even automatically pick the best backend. Letting users use another backend was more complicated (and ugly) when using closql and I have decided to fix that.

That is a breaking change and you will have to make adjustments. Please do that soon, until you have done so, I cannot publish the updated closql and also won't be able to push the respective changes to forge and epkg. I would like to do so soon, so that a few weeks can pass between now and the next releases of emacsql and closql, so that any issue that might exist has time to bubble up before then.

The change in closql is 4638ee1.

To learn what sort of change you have to make to your package, have a look at the respective commits in forge and epkg. You can find them in the next branches. As you can see, things get simpler.

  • Drop the backend option.
  • Set the class slots of NAME-database.
  • There are now three generic methods to setup and update database, replacing code previously in NAME-db or closql--db-init. You might be able to use the default implementation for some of them. Anything but the call to closql-db should probably be remove from NAME-db.
  • Several generic functions got a closql-database method. (But I haven't done it for all such functions.) Previously that wasn't necessary because a packages derived class also derived from a emacsql-sqlite* class.
  • emacsql-with-connection is a macro not a generic function, so I had to provide a substitute under a new name: closql-with-connection.
@tarsius
Copy link
Member Author

tarsius commented Mar 12, 2023

Have you made any progress? I can wait some more, but at some point I'm gonna have to push the changes to this package.

@tarsius
Copy link
Member Author

tarsius commented Mar 24, 2023

@wandersoncferreira @r0man I am going to merge in approximately one week, unless I hear from you first and you tell me when you will get around to this and that isn't too far in the future. It has already been three weeks and still haven't heard from you two.

@tarsius tarsius pinned this issue Mar 26, 2023
@tarsius tarsius unpinned this issue Apr 7, 2023
@tarsius tarsius closed this as completed Apr 7, 2023
@tarsius tarsius pinned this issue Apr 7, 2023
iyefrat added a commit to iyefrat/doom-emacs that referenced this issue Apr 11, 2023
magit/closql@c3b34a6ec438 -> magit/closql@0a7226331ff1

---

closql c3b34a6ec438 breaks code-review
wandersoncferreira/code-review#245, and the current forge commit (but
forge does have an upstream fix), pinned as a temporary measure to
prevent user breakages

Ref: wandersoncferreira/code-review#245
Ref: magit/closql#8
Fix: doomemacs#7197
iyefrat added a commit to iyefrat/doom-emacs that referenced this issue Apr 11, 2023
magit/closql@c3b34a6ec438 -> magit/closql@0a7226331ff1

---

closql c3b34a6ec438 breaks code-review
wandersoncferreira/code-review#245, and the current forge commit (but
forge does have an upstream fix), pinned as a temporary measure to
prevent user breakages

Ref: wandersoncferreira/code-review#245
Ref: magit/closql#8
Fix: doomemacs#7191
hlissner pushed a commit to doomemacs/doomemacs that referenced this issue Apr 12, 2023
magit/closql@c3b34a6ec438 -> magit/closql@0a7226331ff1

---

closql c3b34a6ec438 breaks code-review
wandersoncferreira/code-review#245, and the current forge commit (but
forge does have an upstream fix), pinned as a temporary measure to
prevent user breakages

Ref: wandersoncferreira/code-review#245
Ref: magit/closql#8
Fix: #7191
dalanicolai added a commit to dalanicolai/code-review that referenced this issue Jul 7, 2023
See magit/closql#8
Unfortunately this commit seems not to completely fix the package
dalanicolai added a commit to dalanicolai/code-review that referenced this issue Jul 7, 2023
See magit/closql#8
Unfortunately this commit seems not to completely fix the package
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant