[bug] Escape reserved words used as identifier.
This commit is contained in:
parent
63c1fd6430
commit
3019fdbbb2
10 changed files with 226 additions and 4 deletions
|
|
@ -291,7 +291,7 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
testutils.AssertFileNamesEqual(t, modelFiles, "all_types.go", "all_types_view.go", "employee.go", "link.go",
|
||||
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go")
|
||||
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go")
|
||||
|
||||
testutils.AssertFileContent(t, modelDir+"all_types.go", "\npackage model", allTypesModelContent)
|
||||
|
||||
|
|
@ -299,7 +299,7 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
testutils.AssertFileNamesEqual(t, tableFiles, "all_types.go", "employee.go", "link.go",
|
||||
"person.go", "person_phone.go", "weird_names_table.go")
|
||||
"person.go", "person_phone.go", "weird_names_table.go", "user.go")
|
||||
|
||||
testutils.AssertFileContent(t, tableDir+"all_types.go", "\npackage table", allTypesTableContent)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -328,3 +328,54 @@ FROM test_sample."WEIRD NAMES TABLE";
|
|||
WeirdColuName16: "Doe",
|
||||
})
|
||||
}
|
||||
|
||||
func TestReserwedWordEscape(t *testing.T) {
|
||||
stmt := SELECT(User.AllColumns).
|
||||
FROM(User)
|
||||
|
||||
//fmt.Println(stmt.DebugSql())
|
||||
|
||||
testutils.AssertDebugStatementSql(t, stmt, `
|
||||
SELECT "User"."column" AS "User.column",
|
||||
"User"."check" AS "User.check",
|
||||
"User".ceil AS "User.ceil",
|
||||
"User".commit AS "User.commit",
|
||||
"User"."create" AS "User.create",
|
||||
"User"."default" AS "User.default",
|
||||
"User"."desc" AS "User.desc",
|
||||
"User".empty AS "User.empty",
|
||||
"User".float AS "User.float",
|
||||
"User".join AS "User.join",
|
||||
"User".like AS "User.like",
|
||||
"User".max AS "User.max",
|
||||
"User".rank AS "User.rank"
|
||||
FROM test_sample."User";
|
||||
`)
|
||||
|
||||
var dest []model.User
|
||||
|
||||
err := stmt.Query(db, &dest)
|
||||
assert.NoError(t, err)
|
||||
|
||||
testutils.PrintJson(dest)
|
||||
|
||||
testutils.AssertJSON(t, dest, `
|
||||
[
|
||||
{
|
||||
"Column": "Column",
|
||||
"Check": "CHECK",
|
||||
"Ceil": "CEIL",
|
||||
"Commit": "COMMIT",
|
||||
"Create": "CREATE",
|
||||
"Default": "DEFAULT",
|
||||
"Desc": "DESC",
|
||||
"Empty": "EMPTY",
|
||||
"Float": "FLOAT",
|
||||
"Join": "JOIN",
|
||||
"Like": "LIKE",
|
||||
"Max": "MAX",
|
||||
"Rank": "RANK"
|
||||
}
|
||||
]
|
||||
`)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue