Maintainer?
Hi guys, hi @lann
I noticed that you put "is complete" in the readme. What are the plans? I would be more than happy to help with maintenance (within this repo or transfer).
Maksim
Honestly, I think squirrel has reached the end of its useful evolution without breaking backward compat. Most issues/PRs have been for adding dialect-specific features, which I don't think the current architecture supports well. As mentioned in the README, I'd be happy to link to a serious fork or spiritual successor.
Right now https://godoc.org/github.com/Masterminds/squirrel is showing that the documentation should be read in https://pkg.go.dev/github.com/Masterminds/squirrel. Changing the documentation link in the README is an improvement that wouldn't hurt anyone.
I will certainly continue to merge any obviously-correct documentation, bug fix, etc PR.
Is someone willing to take up the work?
I suspect @lann is mostly correct about dialect-specific features but those features are important. A first major change might be to replace the PlaceholderFormat() method with a Dialect() method that sets the placeholder along with forming a basis for dialect-specific support. Many dialect differences could be smoothed over by squirrel.
Just today, I'm wanting to do JOIN within DELETE and UPDATE and that is handled differently between PostgreSQL and MySQL.
On the other hand, almost every RDMS supports common table expressions (not supported and sorely missed), and UNION/INTERSECT/EXCEPT (not supported) so there are important features that could be added without breaking backwards compatibility.
I don't have time to take this on, but I would contribute some if someone else led the effort. I might contribute something to support bulk insert (very dialect dependent, easy in PostgreSQL, pretty hard in MySQL).
Also very dialect-dependent is almost everything to do with JSON operators. Making a common interface would be great if it's even possible.