> On Jan 8, 2025, at 11:56 PM, Henry <henry.adisuma...@gmail.com> wrote: > > I am not aware of any SQL wrapper in Go, but then I didn't look hard enough. > At work, we implemented our own SQL wrapper for a few databases we commonly > work with. In .Net, you have LINQ, but LINQ is a query-only language. But the > idea is the same, which is to provide a common interface when working with > data sources. That way you can switch databases with minimal changes to your > project code. Working with SQL and its dialects and dealing with each > database's quirkiness is quite time consuming.
As someone with off-and-on SQL experience on a variety of platforms starting in the mid 90's, I completely empathize with your concerns. I even designed my own such approach last year, but never implemented it because the scope was too intimidating, and I did not know how to support myself while developing it. The problem with the concept, however, is that although the concept has real value there are no known implementations of said concept[1] other than (at least one) internal solution(s) as you mention, where the sponsor also owns the cost of all maintenance and enhancements. But not being in the business of selling such a solution[2] means not enough use-cases are tested ensuring the design is not really robust and is not broad enough to cover all reasonable use-cases. I would love to see someone produce such a solution. However, given the fact that we have had SQL for right at 50 years[3], I am not holding my breath. #fwiw -Mike 1 — LINQ being an admitted subset and with a design that requires embedding into the language is unfortunately not a complete solution and it couples concerns. 2 — This is the core vs. context problem that Geoffrey Moore wrote about where companies should invest in R&D for their core businesses vs all those things they need to do to deliver on their core, aka "the context." IOW, unless one's business is to sell an agnostic SQL wrapper solution, investing in developing a SQL wrapper solution is just an expense and will likely never produce a world class product (with the caveat being if it is open-sourced — like React — but then internal-only solutions by-definition are not.) 3 — https://en.wikipedia.org/wiki/SQL#History -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/9A49DA81-78F2-4C22-8B3D-8E9A35CA3D83%40newclarity.net.