bug fixed for In method
This commit is contained in:
parent
9787c02273
commit
f898f5d6a4
20
statement.go
20
statement.go
|
@ -758,7 +758,7 @@ func (statement *Statement) genInSql() (string, []interface{}) {
|
||||||
args := make([]interface{}, 0)
|
args := make([]interface{}, 0)
|
||||||
for _, params := range statement.inColumns {
|
for _, params := range statement.inColumns {
|
||||||
inStrs = append(inStrs, fmt.Sprintf("(%v IN (%v))",
|
inStrs = append(inStrs, fmt.Sprintf("(%v IN (%v))",
|
||||||
statement.Engine.Quote(params.colName),
|
statement.Engine.autoQuote(params.colName),
|
||||||
strings.Join(makeArray("?", len(params.args)), ",")))
|
strings.Join(makeArray("?", len(params.args)), ",")))
|
||||||
args = append(args, params.args...)
|
args = append(args, params.args...)
|
||||||
}
|
}
|
||||||
|
@ -783,8 +783,8 @@ func (statement *Statement) attachInSql() {
|
||||||
func col2NewCols(columns ...string) []string {
|
func col2NewCols(columns ...string) []string {
|
||||||
newColumns := make([]string, 0)
|
newColumns := make([]string, 0)
|
||||||
for _, col := range columns {
|
for _, col := range columns {
|
||||||
strings.Replace(col, "`", "", -1)
|
col = strings.Replace(col, "`", "", -1)
|
||||||
strings.Replace(col, `"`, "", -1)
|
col = strings.Replace(col, `"`, "", -1)
|
||||||
ccols := strings.Split(col, ",")
|
ccols := strings.Split(col, ",")
|
||||||
for _, c := range ccols {
|
for _, c := range ccols {
|
||||||
newColumns = append(newColumns, strings.TrimSpace(c))
|
newColumns = append(newColumns, strings.TrimSpace(c))
|
||||||
|
@ -793,11 +793,21 @@ func col2NewCols(columns ...string) []string {
|
||||||
return newColumns
|
return newColumns
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (engine *Engine) autoQuote(col string) string {
|
||||||
|
col = strings.Replace(col, "`", "", -1)
|
||||||
|
col = strings.Replace(col, engine.QuoteStr(), "", -1)
|
||||||
|
fields := strings.Split(strings.TrimSpace(col), ".")
|
||||||
|
for i, field := range fields {
|
||||||
|
fields[i] = engine.Quote(field)
|
||||||
|
}
|
||||||
|
return strings.Join(fields, ".")
|
||||||
|
}
|
||||||
|
|
||||||
func (statement *Statement) col2NewColsWithQuote(columns ...string) []string {
|
func (statement *Statement) col2NewColsWithQuote(columns ...string) []string {
|
||||||
newColumns := make([]string, 0)
|
newColumns := make([]string, 0)
|
||||||
for _, col := range columns {
|
for _, col := range columns {
|
||||||
strings.Replace(col, "`", "", -1)
|
col = strings.Replace(col, "`", "", -1)
|
||||||
strings.Replace(col, statement.Engine.QuoteStr(), "", -1)
|
col = strings.Replace(col, statement.Engine.QuoteStr(), "", -1)
|
||||||
ccols := strings.Split(col, ",")
|
ccols := strings.Split(col, ",")
|
||||||
for _, c := range ccols {
|
for _, c := range ccols {
|
||||||
fields := strings.Split(strings.TrimSpace(c), ".")
|
fields := strings.Split(strings.TrimSpace(c), ".")
|
||||||
|
|
Loading…
Reference in New Issue