This commit is contained in:
jdl
2024-11-19 16:30:42 +01:00
parent 0d8cc762c0
commit 9070d8cfc0
6 changed files with 43 additions and 24 deletions

View File

@@ -10,6 +10,7 @@ type schema struct {
}
type table struct {
driver string //
Name string // Name in SQL
Type string // Go type
NoInsert bool
@@ -29,6 +30,19 @@ type column struct {
// ----------------------------------------------------------------------------
func (t *table) translateQuery(in string) string {
if t.driver == DRIVER_SQLITE {
return in
}
i := 1
for strings.Contains(in, "?") {
in = strings.Replace(in, "?", fmt.Sprintf("$%d", i), 1)
i++
}
return in
}
func (t *table) colSQLNames() []string {
names := make([]string, len(t.Columns))
for i := range names {
@@ -72,7 +86,7 @@ func (t *table) InsertQuery() string {
b.WriteString(`?`)
}
b.WriteString(`)`)
return b.String()
return t.translateQuery(b.String())
}
func (t *table) InsertArgs() string {
@@ -116,7 +130,7 @@ func (t *table) UpdateQuery() string {
b.WriteString(` ` + c.SqlName + `=?`)
}
return b.String()
return t.translateQuery(b.String())
}
func (t *table) UpdateArgs() string {
@@ -166,7 +180,7 @@ func (t *table) UpdateFullQuery() string {
b.WriteString(` ` + c.SqlName + `=?`)
}
return b.String()
return t.translateQuery(b.String())
}
func (t *table) UpdateFullArgs() string {
@@ -222,7 +236,7 @@ func (t *table) DeleteQuery() string {
b.WriteString(col.SqlName)
b.WriteString(`=?`)
}
return b.String()
return t.translateQuery(b.String())
}
func (t *table) DeleteArgs() string {
@@ -248,7 +262,7 @@ func (t *table) GetQuery() string {
}
b.WriteString(col.SqlName + `=?`)
}
return b.String()
return t.translateQuery(b.String())
}
func (t *table) ScanArgs() string {