bug fixed and code refactoring
This commit is contained in:
parent
b1dfd648f2
commit
a8b9f5d8b8
|
@ -119,10 +119,13 @@ func (db *mysql) GetColumns(tableName string) ([]string, map[string]*core.Column
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
defer cnn.Close()
|
defer cnn.Close()
|
||||||
|
|
||||||
rows, err := cnn.Query(s, args...)
|
rows, err := cnn.Query(s, args...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
defer rows.Close()
|
||||||
|
|
||||||
cols := make(map[string]*core.Column)
|
cols := make(map[string]*core.Column)
|
||||||
colSeq := make([]string, 0)
|
colSeq := make([]string, 0)
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
|
|
|
@ -276,23 +276,6 @@ func (db *postgres) GetIndexes(tableName string) (map[string]*core.Index, error)
|
||||||
return indexes, nil
|
return indexes, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// PgSeqFilter filter SQL replace ?, ? ... to $1, $2 ...
|
|
||||||
type PgSeqFilter struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *PgSeqFilter) Do(sql string, dialect core.Dialect, table *core.Table) string {
|
|
||||||
segs := strings.Split(sql, "?")
|
|
||||||
size := len(segs)
|
|
||||||
res := ""
|
|
||||||
for i, c := range segs {
|
|
||||||
if i < size-1 {
|
|
||||||
res += c + fmt.Sprintf("$%v", i+1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
res += segs[size-1]
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
func (db *postgres) Filters() []core.Filter {
|
func (db *postgres) Filters() []core.Filter {
|
||||||
return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &PgSeqFilter{}}
|
return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{"$", 1}}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue