snapshot of https://github.com/sqlc-dev/sqlc.git (main, 2026-09-16; blobs > 131072B omitted)
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
This commit is contained in:
33
internal/codegen/sdk/sdk.go
Normal file
33
internal/codegen/sdk/sdk.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package sdk
|
||||
|
||||
import (
|
||||
"github.com/sqlc-dev/sqlc/internal/pattern"
|
||||
"github.com/sqlc-dev/sqlc/internal/plugin"
|
||||
)
|
||||
|
||||
func DataType(n *plugin.Identifier) string {
|
||||
if n.Schema != "" {
|
||||
return n.Schema + "." + n.Name
|
||||
} else {
|
||||
return n.Name
|
||||
}
|
||||
}
|
||||
|
||||
func MatchString(pat, target string) bool {
|
||||
matcher, err := pattern.MatchCompile(pat)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return matcher.MatchString(target)
|
||||
}
|
||||
|
||||
func SameTableName(tableID, f *plugin.Identifier, defaultSchema string) bool {
|
||||
if tableID == nil {
|
||||
return false
|
||||
}
|
||||
schema := tableID.Schema
|
||||
if tableID.Schema == "" {
|
||||
schema = defaultSchema
|
||||
}
|
||||
return tableID.Catalog == f.Catalog && schema == f.Schema && tableID.Name == f.Name
|
||||
}
|
||||
42
internal/codegen/sdk/utils.go
Normal file
42
internal/codegen/sdk/utils.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package sdk
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"unicode"
|
||||
)
|
||||
|
||||
func LowerTitle(s string) string {
|
||||
if s == "" {
|
||||
return s
|
||||
}
|
||||
|
||||
a := []rune(s)
|
||||
a[0] = unicode.ToLower(a[0])
|
||||
return string(a)
|
||||
}
|
||||
|
||||
func Title(s string) string {
|
||||
return strings.Title(s)
|
||||
}
|
||||
|
||||
// Go string literals cannot contain backtick. If a string contains
|
||||
// a backtick, replace it the following way:
|
||||
//
|
||||
// input:
|
||||
//
|
||||
// SELECT `group` FROM foo
|
||||
//
|
||||
// output:
|
||||
//
|
||||
// SELECT ` + "`" + `group` + "`" + ` FROM foo
|
||||
//
|
||||
// # The escaped string must be rendered inside an existing string literal
|
||||
//
|
||||
// A string cannot be escaped twice
|
||||
func EscapeBacktick(s string) string {
|
||||
return strings.Replace(s, "`", "`+\"`\"+`", -1)
|
||||
}
|
||||
|
||||
func DoubleSlashComment(s string) string {
|
||||
return "// " + strings.ReplaceAll(s, "\n", "\n// ")
|
||||
}
|
||||
28
internal/codegen/sdk/utils_test.go
Normal file
28
internal/codegen/sdk/utils_test.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package sdk
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestLowerTitle(t *testing.T) {
|
||||
|
||||
// empty
|
||||
if LowerTitle("") != "" {
|
||||
t.Fatal("expected empty title to remain empty")
|
||||
}
|
||||
|
||||
// all lowercase
|
||||
if LowerTitle("lowercase") != "lowercase" {
|
||||
t.Fatal("expected no changes when input is all lowercase")
|
||||
}
|
||||
|
||||
// all uppercase
|
||||
if LowerTitle("UPPERCASE") != "uPPERCASE" {
|
||||
t.Fatal("expected first rune to be lower when input is all uppercase")
|
||||
}
|
||||
|
||||
// Title Case
|
||||
if LowerTitle("Title Case") != "title Case" {
|
||||
t.Fatal("expected first rune to be lower when input is Title Case")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user