squirrel icon indicating copy to clipboard operation
squirrel copied to clipboard

Maintainer?

Open digitalcrab opened this issue 6 years ago • 4 comments

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

digitalcrab avatar Jan 27 '20 11:01 digitalcrab

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.

lann avatar Jan 28 '20 16:01 lann

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.

lamg avatar Feb 04 '20 15:02 lamg

I will certainly continue to merge any obviously-correct documentation, bug fix, etc PR.

lann avatar Feb 04 '20 15:02 lann

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.

muir avatar Mar 13 '23 21:03 muir