fix test
This commit is contained in:
parent
7495ca7297
commit
2d194e4b63
|
@ -3,38 +3,9 @@ package dialects
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"xorm.io/xorm/schemas"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestQuoteFilter_Do(t *testing.T) {
|
|
||||||
f := QuoteFilter{schemas.Quoter{'[', ']', schemas.AlwaysReserve}}
|
|
||||||
var kases = []struct {
|
|
||||||
source string
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
"SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?",
|
|
||||||
"SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [TABLE_SCHEMA] = ? AND [TABLE_NAME] = ? AND [COLUMN_NAME] = ?",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"SELECT 'abc```test```''', `a` FROM b",
|
|
||||||
"SELECT 'abc```test```''', [a] FROM b",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"UPDATE table SET `a` = ~ `a`, `b`='abc`'",
|
|
||||||
"UPDATE table SET [a] = ~ [a], [b]='abc`'",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, kase := range kases {
|
|
||||||
t.Run(kase.source, func(t *testing.T) {
|
|
||||||
assert.EqualValues(t, kase.expected, f.Do(kase.source))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSeqFilter(t *testing.T) {
|
func TestSeqFilter(t *testing.T) {
|
||||||
var kases = map[string]string{
|
var kases = map[string]string{
|
||||||
"SELECT * FROM TABLE1 WHERE a=? AND b=?": "SELECT * FROM TABLE1 WHERE a=$1 AND b=$2",
|
"SELECT * FROM TABLE1 WHERE a=? AND b=?": "SELECT * FROM TABLE1 WHERE a=$1 AND b=$2",
|
||||||
|
|
|
@ -525,7 +525,7 @@ func (db *mssql) ForUpdateSQL(query string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *mssql) Filters() []Filter {
|
func (db *mssql) Filters() []Filter {
|
||||||
return []Filter{ /*&QuoteFilter{db.Quoter()}*/ }
|
return []Filter{}
|
||||||
}
|
}
|
||||||
|
|
||||||
type odbcDriver struct {
|
type odbcDriver struct {
|
||||||
|
|
|
@ -793,7 +793,6 @@ func (db *oracle) GetIndexes(ctx context.Context, tableName string) (map[string]
|
||||||
|
|
||||||
func (db *oracle) Filters() []Filter {
|
func (db *oracle) Filters() []Filter {
|
||||||
return []Filter{
|
return []Filter{
|
||||||
/*&QuoteFilter{db.Quoter()},*/
|
|
||||||
&SeqFilter{Prefix: ":", Start: 1},
|
&SeqFilter{Prefix: ":", Start: 1},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1231,7 +1231,7 @@ func (db *postgres) GetIndexes(ctx context.Context, tableName string) (map[strin
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *postgres) Filters() []Filter {
|
func (db *postgres) Filters() []Filter {
|
||||||
return []Filter{ /*&QuoteFilter{db.Quoter()}, */ &SeqFilter{Prefix: "$", Start: 1}}
|
return []Filter{&SeqFilter{Prefix: "$", Start: 1}}
|
||||||
}
|
}
|
||||||
|
|
||||||
type pqDriver struct {
|
type pqDriver struct {
|
||||||
|
|
|
@ -146,3 +146,30 @@ func TestTrim(t *testing.T) {
|
||||||
assert.EqualValues(t, dst, Quoter{'[', ']', AlwaysReserve}.Trim(src))
|
assert.EqualValues(t, dst, Quoter{'[', ']', AlwaysReserve}.Trim(src))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestReplace(t *testing.T) {
|
||||||
|
q := Quoter{'[', ']', AlwaysReserve}
|
||||||
|
var kases = []struct {
|
||||||
|
source string
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?",
|
||||||
|
"SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [TABLE_SCHEMA] = ? AND [TABLE_NAME] = ? AND [COLUMN_NAME] = ?",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SELECT 'abc```test```''', `a` FROM b",
|
||||||
|
"SELECT 'abc```test```''', [a] FROM b",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"UPDATE table SET `a` = ~ `a`, `b`='abc`'",
|
||||||
|
"UPDATE table SET [a] = ~ [a], [b]='abc`'",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, kase := range kases {
|
||||||
|
t.Run(kase.source, func(t *testing.T) {
|
||||||
|
assert.EqualValues(t, kase.expected, q.Replace(kase.source))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue