Skip to content

Commit

Permalink
Merge pull request #43 from tamiflu/fix/enclose-table-name
Browse files Browse the repository at this point in the history
fix: enclose table names in backquote
  • Loading branch information
mackee committed Apr 5, 2024
2 parents 3b28d5d + ff73b43 commit 1260a14
Show file tree
Hide file tree
Showing 11 changed files with 43 additions and 43 deletions.
4 changes: 2 additions & 2 deletions _benchmark/vssquirrel_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func TestSelect__Squirrel(t *testing.T) {
if err != nil {
t.Fatal("unexpected error:", err)
}
if query != "SELECT id, name FROM user WHERE name = ?" {
if query != "SELECT id, name FROM `user` WHERE name = ?" {
t.Fatal("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hogehoge"}) {
Expand All @@ -41,7 +41,7 @@ func TestSelect__Sqlla(t *testing.T) {
if err != nil {
t.Fatal("unexpected error:", err)
}
if query != "SELECT id, name FROM user WHERE name = ?;" {
if query != "SELECT id, name FROM `user` WHERE name = ?;" {
t.Fatal("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hogehoge"}) {
Expand Down
8 changes: 4 additions & 4 deletions _example/user.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions _example/user_external.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions _example/user_item.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions _example/user_sns.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion _example/user_sns_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ func TestSelectUserSNS(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT `id`, `sns_type`, `created_at`, `updated_at` FROM user_sns WHERE `sns_type` = ?;" {
if query != "SELECT `id`, `sns_type`, `created_at`, `updated_at` FROM `user_sns` WHERE `sns_type` = ?;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"GITHUB"}) {
Expand Down
40 changes: 20 additions & 20 deletions _example/user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func TestSelect(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `name` = ?;" {
if query != "SELECT "+columns+" FROM `user` WHERE `name` = ?;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hoge"}) {
Expand All @@ -39,7 +39,7 @@ func TestSelect__OrderByAndLimit(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `name` = ? ORDER BY `id` ASC LIMIT 100;" {
if query != "SELECT "+columns+" FROM `user` WHERE `name` = ? ORDER BY `id` ASC LIMIT 100;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hoge"}) {
Expand All @@ -53,7 +53,7 @@ func TestSelect__InOperator(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `id` IN(?,?,?,?,?);" {
if query != "SELECT "+columns+" FROM `user` WHERE `id` IN(?,?,?,?,?);" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{uint64(1), uint64(2), uint64(3), uint64(4), uint64(5)}) {
Expand All @@ -67,7 +67,7 @@ func TestSelect__NullInt64(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `age` IS NULL;" {
if query != "SELECT "+columns+" FROM `user` WHERE `age` IS NULL;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{}) {
Expand All @@ -81,7 +81,7 @@ func TestSelect__NullInt64__IsNotNull(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `age` IS NOT NULL;" {
if query != "SELECT "+columns+" FROM `user` WHERE `age` IS NOT NULL;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{}) {
Expand All @@ -95,7 +95,7 @@ func TestSelect__ForUpdate(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "SELECT "+columns+" FROM user WHERE `id` = ? FOR UPDATE;" {
if query != "SELECT "+columns+" FROM `user` WHERE `id` = ? FOR UPDATE;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"1"}) {
Expand All @@ -112,7 +112,7 @@ func TestSelect__Or(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT " + columns + " FROM user WHERE (( `id` = ? ) OR ( `id` = ? ));"
expectedQuery := "SELECT " + columns + " FROM `user` WHERE (( `id` = ? ) OR ( `id` = ? ));"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -134,7 +134,7 @@ func TestSelect__OrNull(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT `id`, `user_id`, `item_id`, `is_used`, `has_extension`, `used_at` FROM user_item WHERE `id` IN(?,?) AND (( `used_at` IS NULL ) OR ( `used_at` < ? ));"
expectedQuery := "SELECT `id`, `user_id`, `item_id`, `is_used`, `has_extension`, `used_at` FROM `user_item` WHERE `id` IN(?,?) AND (( `used_at` IS NULL ) OR ( `used_at` < ? ));"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -155,7 +155,7 @@ func TestSelect__JoinClausesAndTableAlias(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT `u`.`id`, `u`.`name`, `u`.`age`, `u`.`rate`, `u`.`icon_image`, `u`.`created_at`, `u`.`updated_at`, ui.item_id, ui.is_used FROM user AS `u` INNER JOIN user_item AS ui ON u.id = ui.user_id WHERE `u`.`name` = ? AND ui.item_id IN (?,?,?) ORDER BY `u`.`id` DESC;"
expectedQuery := "SELECT `u`.`id`, `u`.`name`, `u`.`age`, `u`.`rate`, `u`.`icon_image`, `u`.`created_at`, `u`.`updated_at`, ui.item_id, ui.is_used FROM `user` AS `u` INNER JOIN user_item AS ui ON u.id = ui.user_id WHERE `u`.`name` = ? AND ui.item_id IN (?,?,?) ORDER BY `u`.`id` DESC;"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -174,7 +174,7 @@ func TestSelect__SetColumn(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT `u`.`rate`, COUNT(u.id) FROM user AS `u` GROUP BY `u`.`rate` ORDER BY `u`.`rate` DESC;"
expectedQuery := "SELECT `u`.`rate`, COUNT(u.id) FROM `user` AS `u` GROUP BY `u`.`rate` ORDER BY `u`.`rate` DESC;"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -193,7 +193,7 @@ func TestSelect__GroupByDottedColumn(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT `u`.`rate`, COUNT(u.id) FROM user AS `u` GROUP BY u.rate ORDER BY `u`.`rate` DESC;"
expectedQuery := "SELECT `u`.`rate`, COUNT(u.id) FROM `user` AS `u` GROUP BY u.rate ORDER BY `u`.`rate` DESC;"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -209,7 +209,7 @@ func TestSelect__LikeOperator(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expectedQuery := "SELECT " + columns + " FROM user WHERE `name` LIKE ?;"
expectedQuery := "SELECT " + columns + " FROM `user` WHERE `name` LIKE ?;"
if query != expectedQuery {
t.Error("unexpected query:", query, expectedQuery)
}
Expand All @@ -225,14 +225,14 @@ func TestUpdate(t *testing.T) {
t.Error("unexpected error:", err)
}
switch query {
case "UPDATE user SET `name` = ?, `updated_at` = ? WHERE `id` = ?;":
case "UPDATE `user` SET `name` = ?, `updated_at` = ? WHERE `id` = ?;":
if !reflect.DeepEqual(args[0], "barbar") {
t.Error("unexpected args:", args)
}
if !reflect.DeepEqual(args[2], "1") {
t.Error("unexpected args:", args)
}
case "UPDATE user SET `updated_at` = ?, `name` = ? WHERE `id` = ?;":
case "UPDATE `user` SET `updated_at` = ?, `name` = ? WHERE `id` = ?;":
if !reflect.DeepEqual(args[2], "1") {
t.Error("unexpected args:", args)
}
Expand All @@ -251,7 +251,7 @@ func TestUpdate__InOperator(t *testing.T) {
t.Error("unexpected error:", err)
}
switch query {
case "UPDATE user SET `rate` = ?, `updated_at` = ? WHERE `id` IN(?,?,?);":
case "UPDATE `user` SET `rate` = ?, `updated_at` = ? WHERE `id` IN(?,?,?);":
if !reflect.DeepEqual(args[0], float64(42)) {
t.Errorf("unexpected args: %+v", args[0])
}
Expand All @@ -260,7 +260,7 @@ func TestUpdate__InOperator(t *testing.T) {
t.Errorf("unexpected args: i=%d, %+v", i, args[2:])
}
}
case "UPDATE user SET `updated_at` = ?, `rate` = ? WHERE `id` IN(?,?,?);":
case "UPDATE `user` SET `updated_at` = ?, `rate` = ? WHERE `id` IN(?,?,?);":
if !reflect.DeepEqual(args[1], float64(42)) {
t.Errorf("unexpected args: %+v", args[1])
}
Expand All @@ -281,7 +281,7 @@ func TestInsert(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expected := "INSERT INTO user (`created_at`,`name`) VALUES(?,?);"
expected := "INSERT INTO `user` (`created_at`,`name`) VALUES(?,?);"
if query != expected {
t.Error("unexpected query:", query)
}
Expand All @@ -308,7 +308,7 @@ func TestInsertOnDuplicateKeyUpdate(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
expr := regexp.MustCompile(`^INSERT INTO user \(.*\) VALUES\(\?,\?,\?,\?\) `)
expr := regexp.MustCompile("^INSERT INTO `user` \\(.*\\) VALUES\\(\\?,\\?,\\?,\\?\\) ")
gotSuffix := expr.ReplaceAllString(query, "")
expectedSuffix1 := "ON DUPLICATE KEY UPDATE `age` = ?, `updated_at` = VALUES(`updated_at`);"
expectedSuffix2 := "ON DUPLICATE KEY UPDATE `updated_at` = VALUES(`updated_at`), `age` = ?;"
Expand Down Expand Up @@ -378,7 +378,7 @@ func TestDelete(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "DELETE FROM user WHERE `name` = ?;" {
if query != "DELETE FROM `user` WHERE `name` = ?;" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hogehoge"}) {
Expand All @@ -392,7 +392,7 @@ func TestDelete__In(t *testing.T) {
if err != nil {
t.Error("unexpected error:", err)
}
if query != "DELETE FROM user WHERE `name` IN(?,?);" {
if query != "DELETE FROM `user` WHERE `name` IN(?,?);" {
t.Error("unexpected query:", query)
}
if !reflect.DeepEqual(args, []interface{}{"hogehoge", "fugafuga"}) {
Expand Down
2 changes: 1 addition & 1 deletion template/delete.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func (q {{ $camelName }}DeleteSQL) ToSql() (string, []interface{}, error) {
return "", nil, err
}

query := "DELETE FROM {{ .TableName }}"
query := "DELETE FROM `{{ .TableName }}`"
if wheres != "" {
query += " WHERE" + wheres
}
Expand Down
2 changes: 1 addition & 1 deletion template/insert.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func (q {{ $camelName }}InsertSQL) {{ $camelName }}InsertSQLToSql() (string, []i
return "", []interface{}{}, err
}

query := "INSERT INTO {{ .TableName }} " + qs
query := "INSERT INTO `{{ .TableName }}` " + qs

return query, vs, nil
}
Expand Down
2 changes: 1 addition & 1 deletion template/select.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ func (q {{ $camelName }}SelectSQL) ToSql() (string, []interface{}, error) {
return "", nil, err
}

tableName := "{{ .TableName }}"
tableName := "`{{ .TableName }}`"
if q.tableAlias != "" {
tableName = tableName + " AS " + q.tableAlias
pcs := make([]string, 0, len(q.Columns))
Expand Down
2 changes: 1 addition & 1 deletion template/update.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (q {{ $camelName }}UpdateSQL) ToSql() (string, []interface{}, error) {
return "", []interface{}{}, err
}

query := "UPDATE {{ .TableName }} SET" + setColumns
query := "UPDATE `{{ .TableName }}` SET" + setColumns
if wheres != "" {
query += " WHERE" + wheres
}
Expand Down

0 comments on commit 1260a14

Please sign in to comment.