sqltemplate, dbimpl: Remove single-method function types (#107525)

* Remove dbProviderFunc function.

This removes one extra indirection that made the code bit more difficult to navigate.

* Remove indirection function types implementing single-method interfaces.

This streamlines the code and makes it bit easier to navigate.

* Update pkg/storage/unified/sql/sqltemplate/dialect_mysql.go

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>

---------

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>
This commit is contained in:
Peter Štibraný
2025-07-03 10:38:12 +02:00
committed by GitHub
co-authored by Mustafa Sencer Özcan
parent a68f8107df
commit e076c74869
7 changed files with 69 additions and 127 deletions
@@ -1,20 +1,26 @@
package sqltemplate
// SQLite is an implementation of Dialect for the SQLite DMBS.
var SQLite = sqlite{
argPlaceholderFunc: argFmtSQL92,
name: "sqlite",
var SQLite = sqlite{}
type sqlite struct{}
func (s sqlite) DialectName() string {
return "sqlite"
}
var _ Dialect = SQLite
type sqlite struct {
func (s sqlite) Ident(i string) (string, error) {
// See:
// https://www.sqlite.org/lang_keywords.html
standardIdent
rowLockingClauseMap
argPlaceholderFunc
name
return standardIdent(i)
}
func (s sqlite) ArgPlaceholder(argNum int) string {
return "?"
}
func (s sqlite) SelectFor(s2 ...string) (string, error) {
return rowLockingClauseMap(nil).SelectFor(s2...)
}
func (sqlite) CurrentEpoch() string {