diff --git a/README.md b/README.md index d562d68..b0e46b0 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ It also supports many CRUD syntaxes in SQL. ## Example #### Example 1 -String column `` `users`. `name` `` can be compared to a `string` value, but comparing it to an `int` value will result in a compile error. +String column `users.name` can be compared to a `string` value, but comparing it to an `int` value will result in a compile error. ```go // correct @@ -114,7 +114,7 @@ db, err := sql.Open("mysql", "user:pass@tcp(host:port)/database?parseTime=true&l ### Insert ```go -// INSERT INTO `users` (`id`, `name`, `created_at`) VALUES ({{uuid.New()}}, "name1", {{time.Now()}}), ({{uuid.New()}}, "name2", {{time.Now()}}) +// INSERT INTO users (id, name, created_at) VALUES ({{uuid.New()}}, "name1", {{time.Now()}}), ({{uuid.New()}}, "name2", {{time.Now()}}) affectedRows, err := genorm. Insert(orm.User()). Values(&orm.UserTable{ @@ -132,25 +132,25 @@ affectedRows, err := genorm. ### Select ```go -// SELECT `id`, `name`, `created_at` FROM `users` +// SELECT id, name, created_at FROM users // userValues: []orm.UserTable userValues, err := genorm. Select(orm.User()). GetAll(db) -// SELECT `id`, `name`, `created_at` FROM `users` LIMIT 1 +// SELECT id, name, created_at FROM users LIMIT 1 // userValue: orm.UserTable userValue, err := genorm. Select(orm.User()). Get(db) -// SELECT `id` FROM `users` +// SELECT id FROM users // userIDs: []uuid.UUID userIDs, err := genorm. Pluck(orm.User(), user.IDExpr). GetAll(db) -// SELECT COUNT(`id`) AS `result` FROM `users` LIMIT 1 +// SELECT COUNT(id) AS result FROM users LIMIT 1 // userNum: int64 userNum, err := genorm. Pluck(orm.User(), genorm.Count(user.IDExpr, false)). @@ -159,7 +159,7 @@ userNum, err := genorm. ### Update ```go -// UPDATE `users` SET `name`="name" +// UPDATE users SET name="name" affectedRows, err = genorm. Update(orm.User()). Set( @@ -171,7 +171,7 @@ affectedRows, err = genorm. ### Delete ```go -// DELETE FROM `users` +// DELETE FROM users affectedRows, err = genorm. Delete(orm.User()). Do(db) @@ -180,7 +180,7 @@ affectedRows, err = genorm. ### Join #### Select ```go -// SELECT `users`.`name`, `messages`.`content` FROM `users` INNER JOIN `messages` ON `users`.`id` = `messages`.`user_id` +// SELECT users.name, messages.content FROM users INNER JOIN messages ON users.id = messages.user_id // messageUserValues: []orm.MessageUserTable userID := orm.MessageUserParseExpr(user.ID) userName := orm.MessageUserParse(user.Name) @@ -195,7 +195,7 @@ messageUserValues, err := genorm. #### Update ```go -// UPDATE `users` INNER JOIN `messages` ON `users.id` = `messages`.`id` SET `content`="hello world" +// UPDATE users INNER JOIN messages ON users.id = messages.id SET content="hello world" userIDColumn := orm.MessageUserParseExpr(user.ID) messageUserIDColumn := orm.MessageUserParseExpr(message.UserID) messageContent := orm.MessageUserParse(message.Content) @@ -239,7 +239,7 @@ if err != nil { ### Context ```go -// SELECT `id`, `name`, `created_at` FROM `users` +// SELECT id, name, created_at FROM users // userValues: []orm.UserTable userValues, err := genorm. Select(orm.User()). @@ -247,7 +247,7 @@ userValues, err := genorm. ``` ```go -// INSERT INTO `users` (`id`, `name`, `created_at`) VALUES ({{uuid.New()}}, "name", {{time.Now()}}) +// INSERT INTO users (id, name, created_at) VALUES ({{uuid.New()}}, "name", {{time.Now()}}) affectedRows, err := genorm. Insert(orm.User()). Values(&orm.UserTable{ diff --git a/clause_test.go b/clause_test.go index 0c8b523..877aa30 100644 --- a/clause_test.go +++ b/clause_test.go @@ -127,7 +127,7 @@ func TestWhereConditionClauseGetExprTest(t *testing.T) { { description: "normal", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -199,7 +199,7 @@ func TestGroupClauseSetTest(t *testing.T) { description: "normal", setExprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -209,7 +209,7 @@ func TestGroupClauseSetTest(t *testing.T) { beforeExprs: []*expr{}, setExprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -218,13 +218,13 @@ func TestGroupClauseSetTest(t *testing.T) { description: "condition already set", beforeExprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, setExprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, @@ -301,7 +301,7 @@ func TestGroupClauseExistTest(t *testing.T) { description: "normal", exprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -359,26 +359,26 @@ func TestGroupClauseGetExprTest(t *testing.T) { description: "normal", exprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, - query: "GROUP BY (`hoge`.`huga` = ?)", + query: "GROUP BY (hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "multi exprs", exprs: []*expr{ { - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - query: "GROUP BY (`hoge`.`huga` = ?), (`hoge`.`nya` = ?)", + query: "GROUP BY (hoge.huga = ?), (hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { @@ -465,7 +465,7 @@ func TestOrderClauseAddTest(t *testing.T) { description: "normal", addItem: orderItem{ expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -473,7 +473,7 @@ func TestOrderClauseAddTest(t *testing.T) { afterExprs: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -484,7 +484,7 @@ func TestOrderClauseAddTest(t *testing.T) { description: "desc", addItem: orderItem{ expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Desc, @@ -492,7 +492,7 @@ func TestOrderClauseAddTest(t *testing.T) { afterExprs: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Desc, @@ -504,7 +504,7 @@ func TestOrderClauseAddTest(t *testing.T) { beforeExprs: []orderItem{}, addItem: orderItem{ expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -512,7 +512,7 @@ func TestOrderClauseAddTest(t *testing.T) { afterExprs: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -524,7 +524,7 @@ func TestOrderClauseAddTest(t *testing.T) { beforeExprs: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -532,7 +532,7 @@ func TestOrderClauseAddTest(t *testing.T) { }, addItem: orderItem{ expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, direction: genorm.Asc, @@ -540,14 +540,14 @@ func TestOrderClauseAddTest(t *testing.T) { afterExprs: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, }, { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, direction: genorm.Asc, @@ -565,7 +565,7 @@ func TestOrderClauseAddTest(t *testing.T) { description: "invalid direction", addItem: orderItem{ expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -672,7 +672,7 @@ func TestOrderClauseExistTest(t *testing.T) { items: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, @@ -746,13 +746,13 @@ func TestOrderClauseGetExprTest(t *testing.T) { items: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, }, }, - query: "ORDER BY (`hoge`.`huga` = ?) ASC", + query: "ORDER BY (hoge.huga = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -760,13 +760,13 @@ func TestOrderClauseGetExprTest(t *testing.T) { items: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Desc, }, }, - query: "ORDER BY (`hoge`.`huga` = ?) DESC", + query: "ORDER BY (hoge.huga = ?) DESC", args: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -774,7 +774,7 @@ func TestOrderClauseGetExprTest(t *testing.T) { items: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -786,20 +786,20 @@ func TestOrderClauseGetExprTest(t *testing.T) { items: []orderItem{ { expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, direction: genorm.Asc, }, { expr: &expr{ - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, direction: genorm.Asc, }, }, - query: "ORDER BY (`hoge`.`huga` = ?) ASC, (`hoge`.`nya` = ?) ASC", + query: "ORDER BY (hoge.huga = ?) ASC, (hoge.nya = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { diff --git a/cmd/genorm/generator/codegen/column.go b/cmd/genorm/generator/codegen/column.go index d031be6..d9a5599 100644 --- a/cmd/genorm/generator/codegen/column.go +++ b/cmd/genorm/generator/codegen/column.go @@ -197,7 +197,7 @@ func (clmn *column) sqlColumnsDecl() ast.Decl { Args: []ast.Expr{ &ast.BasicLit{ Kind: token.STRING, - Value: "\"`%s`.`%s`\"", + Value: `"%s.%s"`, }, &ast.CallExpr{ Fun: &ast.SelectorExpr{ diff --git a/cmd/genorm/generator/codegen/table.go b/cmd/genorm/generator/codegen/table.go index 87d01dd..e3c6ec2 100644 --- a/cmd/genorm/generator/codegen/table.go +++ b/cmd/genorm/generator/codegen/table.go @@ -227,20 +227,8 @@ func (tbl *table) exprDecl() ast.Decl { Results: []ast.Expr{ &ast.CallExpr{ Fun: &ast.SelectorExpr{ - X: fmtIdent, - Sel: ast.NewIdent("Sprintf"), - }, - Args: []ast.Expr{ - &ast.BasicLit{ - Kind: token.STRING, - Value: "\"`%s`\"", - }, - &ast.CallExpr{ - Fun: &ast.SelectorExpr{ - X: tbl.recvIdent, - Sel: basicTableTableNameIdent, - }, - }, + X: tbl.recvIdent, + Sel: basicTableTableNameIdent, }, }, ast.NewIdent("nil"), diff --git a/cmd/genorm/generator/parser/parser_test.go b/cmd/genorm/generator/parser/parser_test.go index 83e497f..9c48d68 100644 --- a/cmd/genorm/generator/parser/parser_test.go +++ b/cmd/genorm/generator/parser/parser_test.go @@ -496,6 +496,68 @@ func TestParseStructType(t *testing.T) { RefTables: []*parserRefTable{}, }, }, + { + description: "struct type(tag with double quotes exist) -> success", + name: "a", + s: &ast.StructType{ + Fields: &ast.FieldList{ + List: []*ast.Field{ + { + Names: []*ast.Ident{ + ast.NewIdent("s"), + }, + Type: fieldType, + Tag: &ast.BasicLit{ + Kind: token.STRING, + Value: "`genorm:\"\\\"t\\\"\"`", + }, + }, + }, + }, + }, + table: &parserTable{ + StructName: "a", + Columns: []*parserColumn{ + { + Name: "\"t\"", + FieldName: "s", + Type: fieldType, + }, + }, + RefTables: []*parserRefTable{}, + }, + }, + { + description: "struct type(tag with back quotes exist) -> success", + name: "a", + s: &ast.StructType{ + Fields: &ast.FieldList{ + List: []*ast.Field{ + { + Names: []*ast.Ident{ + ast.NewIdent("s"), + }, + Type: fieldType, + Tag: &ast.BasicLit{ + Kind: token.STRING, + Value: "\"genorm:\\\"`t`\\\"\"", + }, + }, + }, + }, + }, + table: &parserTable{ + StructName: "a", + Columns: []*parserColumn{ + { + Name: "`t`", + FieldName: "s", + Type: fieldType, + }, + }, + RefTables: []*parserRefTable{}, + }, + }, { description: "struct type(ref exist) -> success", name: "a", diff --git a/column.go b/column.go index e40c56b..dd3859e 100644 --- a/column.go +++ b/column.go @@ -2,7 +2,7 @@ package genorm type Column interface { Expr - // SQLColumnName `table_name`.`column_name` + // SQLColumnName table_name.column_name SQLColumnName() string // TableName table_name TableName() string diff --git a/delete.go b/delete.go index 2334931..c1880dc 100644 --- a/delete.go +++ b/delete.go @@ -91,7 +91,7 @@ func (c *DeleteContext[T]) buildQuery() (string, []ExprType, error) { sb := strings.Builder{} - str := "DELETE FROM `" + str := "DELETE FROM " _, err := sb.WriteString(str) if err != nil { return "", nil, fmt.Errorf("write string(%s): %w", str, err) @@ -103,12 +103,6 @@ func (c *DeleteContext[T]) buildQuery() (string, []ExprType, error) { return "", nil, fmt.Errorf("write string(%s): %w", str, err) } - str = "`" - _, err = sb.WriteString(str) - if err != nil { - return "", nil, fmt.Errorf("write string(%s): %w", str, err) - } - if c.whereCondition.exists() { whereQuery, whereArgs, err := c.whereCondition.getExpr() if err != nil { diff --git a/delete_test.go b/delete_test.go index e989a26..f8566d1 100644 --- a/delete_test.go +++ b/delete_test.go @@ -37,17 +37,17 @@ func TestDeleteBuildQuery(t *testing.T) { { description: "normal", tableName: "hoge", - query: "DELETE FROM `hoge`", + query: "DELETE FROM hoge", args: []genorm.ExprType{}, }, { description: "where", tableName: "hoge", whereCondition: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "DELETE FROM `hoge` WHERE (`hoge`.`huga` = ?)", + query: "DELETE FROM hoge WHERE (hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -65,12 +65,12 @@ func TestDeleteBuildQuery(t *testing.T) { { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, }, - query: "DELETE FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC", + query: "DELETE FROM hoge ORDER BY (hoge.huga = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -93,26 +93,26 @@ func TestDeleteBuildQuery(t *testing.T) { { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, { direction: genorm.Desc, expr: expr{ - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, }, - query: "DELETE FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC, (`hoge`.`nya` = ?) DESC", + query: "DELETE FROM hoge ORDER BY (hoge.huga = ?) ASC, (hoge.nya = ?) DESC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "limit", tableName: "hoge", limit: 1, - query: "DELETE FROM `hoge` LIMIT 1", + query: "DELETE FROM hoge LIMIT 1", args: []genorm.ExprType{}, }, } diff --git a/function_test.go b/function_test.go index 4641d09..7bfa035 100644 --- a/function_test.go +++ b/function_test.go @@ -26,17 +26,17 @@ func TestAvg(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "AVG((`hoge`.`huga` = ?))", + expectedQuery: "AVG((hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "distinct", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, distinct: true, - expectedQuery: "AVG(DISTINCT (`hoge`.`huga` = ?))", + expectedQuery: "AVG(DISTINCT (hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -51,9 +51,9 @@ func TestAvg(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "AVG((`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "AVG((hoge.huga = hoge.huga))", expectedArgs: nil, }, } @@ -113,17 +113,17 @@ func TestCount(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "COUNT((`hoge`.`huga` = ?))", + expectedQuery: "COUNT((hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "distinct", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, distinct: true, - expectedQuery: "COUNT(DISTINCT (`hoge`.`huga` = ?))", + expectedQuery: "COUNT(DISTINCT (hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -138,9 +138,9 @@ func TestCount(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "COUNT((`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "COUNT((hoge.huga = hoge.huga))", expectedArgs: nil, }, } @@ -199,9 +199,9 @@ func TestMax(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "MAX((`hoge`.`huga` = ?))", + expectedQuery: "MAX((hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -216,9 +216,9 @@ func TestMax(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "MAX((`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "MAX((hoge.huga = hoge.huga))", expectedArgs: nil, }, } @@ -277,9 +277,9 @@ func TestMin(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "MIN((`hoge`.`huga` = ?))", + expectedQuery: "MIN((hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -294,9 +294,9 @@ func TestMin(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "MIN((`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "MIN((hoge.huga = hoge.huga))", expectedArgs: nil, }, } diff --git a/insert.go b/insert.go index 5ecfb5e..38b613c 100644 --- a/insert.go +++ b/insert.go @@ -98,7 +98,7 @@ func (c *InsertContext[T]) buildQuery() (string, []any, error) { sb := &strings.Builder{} - str := "INSERT INTO `" + str := "INSERT INTO " _, err := sb.WriteString(str) if err != nil { return "", nil, fmt.Errorf("write string(%s): %w", str, err) @@ -110,12 +110,6 @@ func (c *InsertContext[T]) buildQuery() (string, []any, error) { return "", nil, fmt.Errorf("write string(%s): %w", str, err) } - str = "`" - _, err = sb.WriteString(str) - if err != nil { - return "", nil, fmt.Errorf("write string(%s): %w", str, err) - } - var fields []string if c.fields == nil { columns := c.table.Columns() diff --git a/insert_test.go b/insert_test.go index 722b539..31556f5 100644 --- a/insert_test.go +++ b/insert_test.go @@ -46,53 +46,53 @@ func TestInsertBuildQuery(t *testing.T) { { description: "normal", tableName: "hoge", - fields: []string{"`hoge`.`huga`"}, + fields: []string{"hoge.huga"}, values: []map[string]genorm.ColumnFieldExprType{ { - "`hoge`.`huga`": &columnFieldExpr1, + "hoge.huga": &columnFieldExpr1, }, }, - query: "INSERT INTO `hoge` (`hoge`.`huga`) VALUES (?)", + query: "INSERT INTO hoge (hoge.huga) VALUES (?)", args: []any{&columnFieldExpr1}, }, { description: "multi fields", tableName: "hoge", - fields: []string{"`hoge`.`huga`", "`hoge`.`piyo`"}, + fields: []string{"hoge.huga", "hoge.piyo"}, values: []map[string]genorm.ColumnFieldExprType{ { - "`hoge`.`huga`": &columnFieldExpr1, - "`hoge`.`piyo`": &columnFieldExpr2, + "hoge.huga": &columnFieldExpr1, + "hoge.piyo": &columnFieldExpr2, }, }, - query: "INSERT INTO `hoge` (`hoge`.`huga`, `hoge`.`piyo`) VALUES (?, ?)", + query: "INSERT INTO hoge (hoge.huga, hoge.piyo) VALUES (?, ?)", args: []any{&columnFieldExpr1, &columnFieldExpr2}, }, { description: "multi values", tableName: "hoge", - fields: []string{"`hoge`.`huga`"}, + fields: []string{"hoge.huga"}, values: []map[string]genorm.ColumnFieldExprType{ { - "`hoge`.`huga`": &columnFieldExpr1, + "hoge.huga": &columnFieldExpr1, }, { - "`hoge`.`huga`": &columnFieldExpr2, + "hoge.huga": &columnFieldExpr2, }, }, - query: "INSERT INTO `hoge` (`hoge`.`huga`) VALUES (?), (?)", + query: "INSERT INTO hoge (hoge.huga) VALUES (?), (?)", args: []any{&columnFieldExpr1, &columnFieldExpr2}, }, { description: "null value", tableName: "hoge", - fields: []string{"`hoge`.`huga`"}, + fields: []string{"hoge.huga"}, values: []map[string]genorm.ColumnFieldExprType{ { - "`hoge`.`huga`": &columnFieldNull, + "hoge.huga": &columnFieldNull, }, }, - query: "INSERT INTO `hoge` (`hoge`.`huga`) VALUES (NULL)", + query: "INSERT INTO hoge (hoge.huga) VALUES (NULL)", args: []any{}, }, } diff --git a/operator_test.go b/operator_test.go index e65460c..429ac04 100644 --- a/operator_test.go +++ b/operator_test.go @@ -28,12 +28,12 @@ func TestAssign(t *testing.T) { }{ { description: "normal", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: nil, - expr2Query: "(`hoge`.`huga` + ?)", + expr2Query: "(hoge.huga + ?)", expr2Args: []genorm.ExprType{genorm.Wrap(1)}, expected: genorm.NewTableAssignExpr[*mock.MockTable]( - "`hoge`.`huga` = (`hoge`.`huga` + ?)", + "hoge.huga = (hoge.huga + ?)", []genorm.ExprType{genorm.Wrap(1)}, nil, ), @@ -41,13 +41,13 @@ func TestAssign(t *testing.T) { { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` + ?)", + expr2Query: "(hoge.huga + ?)", expr2Args: []genorm.ExprType{genorm.Wrap(1)}, isError: true, }, { description: "nil expr2", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: nil, expr2IsNil: true, isError: true, @@ -55,37 +55,37 @@ func TestAssign(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` + ?)", + expr2Query: "(hoge.huga + ?)", expr2Args: []genorm.ExprType{genorm.Wrap(1)}, isError: true, }, { description: "expr2 error", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: nil, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 with args", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: []genorm.ExprType{genorm.Wrap(2)}, - expr2Query: "(`hoge`.`huga` + ?)", + expr2Query: "(hoge.huga + ?)", expr2Args: []genorm.ExprType{genorm.Wrap(1)}, expected: genorm.NewTableAssignExpr[*mock.MockTable]( - "`hoge`.`huga` = (`hoge`.`huga` + ?)", + "hoge.huga = (hoge.huga + ?)", []genorm.ExprType{genorm.Wrap(2), genorm.Wrap(1)}, nil, ), }, { description: "expr2 no args", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: nil, - expr2Query: "(`hoge`.`huga` + `hoge`.`huga`)", + expr2Query: "(hoge.huga + hoge.huga)", expr2Args: nil, expected: genorm.NewTableAssignExpr[*mock.MockTable]( - "`hoge`.`huga` = (`hoge`.`huga` + `hoge`.`huga`)", + "hoge.huga = (hoge.huga + hoge.huga)", nil, nil, ), @@ -165,11 +165,11 @@ func TestAssignLit(t *testing.T) { }{ { description: "normal", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: nil, lit: genorm.Wrap(1), expected: genorm.NewTableAssignExpr[*mock.MockTable]( - "`hoge`.`huga` = ?", + "hoge.huga = ?", []genorm.ExprType{genorm.Wrap(1)}, nil, ), @@ -188,11 +188,11 @@ func TestAssignLit(t *testing.T) { }, { description: "expr1 with args", - expr1Query: "`hoge`.`huga`", + expr1Query: "hoge.huga", expr1Args: []genorm.ExprType{genorm.Wrap(2)}, lit: genorm.Wrap(1), expected: genorm.NewTableAssignExpr[*mock.MockTable]( - "`hoge`.`huga` = ?", + "hoge.huga = ?", []genorm.ExprType{genorm.Wrap(2), genorm.Wrap(1)}, nil, ), @@ -259,23 +259,23 @@ func TestAnd(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) AND (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) AND (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -283,33 +283,33 @@ func TestAnd(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) AND (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) AND (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) AND (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) AND (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -389,23 +389,23 @@ func TestOr(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) OR (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) OR (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -413,33 +413,33 @@ func TestOr(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) OR (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) OR (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) OR (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) OR (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -519,23 +519,23 @@ func TestXor(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) XOR (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) XOR (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -543,33 +543,33 @@ func TestXor(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) XOR (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) XOR (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) XOR (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) XOR (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -645,9 +645,9 @@ func TestNot(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "(NOT (`hoge`.`huga` = ?))", + expectedQuery: "(NOT (hoge.huga = ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -662,9 +662,9 @@ func TestNot(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "(NOT (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "(NOT (hoge.huga = hoge.huga))", expectedArgs: nil, }, } @@ -727,23 +727,23 @@ func TestEq(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) = (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) = (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -751,33 +751,33 @@ func TestEq(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) = (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) = (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) = (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) = (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -854,10 +854,10 @@ func TestEqLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) = ?)", + expectedQuery: "((hoge.huga = ?) = ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -874,10 +874,10 @@ func TestEqLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) = ?)", + expectedQuery: "((hoge.huga = hoge.huga) = ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -940,23 +940,23 @@ func TestNeq(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) != (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) != (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -964,33 +964,33 @@ func TestNeq(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) != (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) != (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) != (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) != (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -1067,10 +1067,10 @@ func TestNeqLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) != ?)", + expectedQuery: "((hoge.huga = ?) != ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -1087,10 +1087,10 @@ func TestNeqLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) != ?)", + expectedQuery: "((hoge.huga = hoge.huga) != ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -1153,23 +1153,23 @@ func TestLeq(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) <= (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) <= (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -1177,33 +1177,33 @@ func TestLeq(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) <= (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) <= (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) <= (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) <= (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -1280,10 +1280,10 @@ func TestLeqLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) <= ?)", + expectedQuery: "((hoge.huga = ?) <= ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -1300,10 +1300,10 @@ func TestLeqLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) <= ?)", + expectedQuery: "((hoge.huga = hoge.huga) <= ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -1366,23 +1366,23 @@ func TestGeq(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) >= (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) >= (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -1390,33 +1390,33 @@ func TestGeq(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) >= (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) >= (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) >= (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) >= (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -1493,10 +1493,10 @@ func TestGeqLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) >= ?)", + expectedQuery: "((hoge.huga = ?) >= ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -1513,10 +1513,10 @@ func TestGeqLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) >= ?)", + expectedQuery: "((hoge.huga = hoge.huga) >= ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -1579,23 +1579,23 @@ func TestLt(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) < (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) < (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -1603,33 +1603,33 @@ func TestLt(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) < (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) < (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) < (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) < (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -1706,10 +1706,10 @@ func TestLtLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) < ?)", + expectedQuery: "((hoge.huga = ?) < ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -1726,10 +1726,10 @@ func TestLtLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) < ?)", + expectedQuery: "((hoge.huga = hoge.huga) < ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -1792,23 +1792,23 @@ func TestGt(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = ?) > (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = ?) > (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr1", expr1IsNil: true, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "nil expr2", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2IsNil: true, isError: true, @@ -1816,33 +1816,33 @@ func TestGt(t *testing.T) { { description: "expr1 error", expr1Errs: []error{errors.New("expr1 error")}, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, isError: true, }, { description: "expr2 error", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, expr2Errs: []error{errors.New("expr2 error")}, isError: true, }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, - expr2Query: "(`hoge`.`huga` > ?)", + expr2Query: "(hoge.huga > ?)", expr2Args: []genorm.ExprType{genorm.Wrap(2)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) > (`hoge`.`huga` > ?))", + expectedQuery: "((hoge.huga = hoge.huga) > (hoge.huga > ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "expr2 no args", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, - expr2Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr2Query: "(hoge.huga = hoge.huga)", expr2Args: nil, - expectedQuery: "((`hoge`.`huga` = ?) > (`hoge`.`huga` = `hoge`.`huga`))", + expectedQuery: "((hoge.huga = ?) > (hoge.huga = hoge.huga))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, } @@ -1919,10 +1919,10 @@ func TestGtLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = ?) > ?)", + expectedQuery: "((hoge.huga = ?) > ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -1939,10 +1939,10 @@ func TestGtLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lit: genorm.Wrap(true), - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) > ?)", + expectedQuery: "((hoge.huga = hoge.huga) > ?)", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, } @@ -2001,9 +2001,9 @@ func TestIsNull(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "((`hoge`.`huga` = ?) IS NULL)", + expectedQuery: "((hoge.huga = ?) IS NULL)", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -2018,9 +2018,9 @@ func TestIsNull(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) IS NULL)", + expectedQuery: "((hoge.huga = hoge.huga) IS NULL)", expectedArgs: nil, }, } @@ -2079,9 +2079,9 @@ func TestIsNotNull(t *testing.T) { }{ { description: "normal", - exprQuery: "(`hoge`.`huga` = ?)", + exprQuery: "(hoge.huga = ?)", exprArgs: []genorm.ExprType{genorm.Wrap(1)}, - expectedQuery: "((`hoge`.`huga` = ?) IS NOT NULL)", + expectedQuery: "((hoge.huga = ?) IS NOT NULL)", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -2096,9 +2096,9 @@ func TestIsNotNull(t *testing.T) { }, { description: "expr1 no args", - exprQuery: "(`hoge`.`huga` = `hoge`.`huga`)", + exprQuery: "(hoge.huga = hoge.huga)", exprArgs: nil, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) IS NOT NULL)", + expectedQuery: "((hoge.huga = hoge.huga) IS NOT NULL)", expectedArgs: nil, }, } @@ -2162,23 +2162,23 @@ func TestIn(t *testing.T) { { description: "normal", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = ?) IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr", exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, @@ -2187,7 +2187,7 @@ func TestIn(t *testing.T) { { description: "nil exprs", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, isError: true, @@ -2199,7 +2199,7 @@ func TestIn(t *testing.T) { }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, @@ -2208,7 +2208,7 @@ func TestIn(t *testing.T) { { description: "exprs error", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ @@ -2221,78 +2221,78 @@ func TestIn(t *testing.T) { { description: "expr no args", expr: &expr{ - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", args: []genorm.ExprType{}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = hoge.huga) IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "exprs no args", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", args: []genorm.ExprType{}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) IN ((`hoge`.`huga` = `hoge`.`huga`)))", + expectedQuery: "((hoge.huga = ?) IN ((hoge.huga = hoge.huga)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "expr nil args", expr: &expr{ - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = hoge.huga) IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "exprs nil args", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", }, }, - expectedQuery: "((`hoge`.`huga` = ?) IN ((`hoge`.`huga` = `hoge`.`huga`)))", + expectedQuery: "((hoge.huga = ?) IN ((hoge.huga = hoge.huga)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "multiple exprs", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, { - query: "(`hoge`.`nyanya` = ?)", + query: "(hoge.nyanya = ?)", args: []genorm.ExprType{genorm.Wrap(3)}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) IN ((`hoge`.`nyan` = ?), (`hoge`.`nyanya` = ?)))", + expectedQuery: "((hoge.huga = ?) IN ((hoge.nyan = ?), (hoge.nyanya = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2), genorm.Wrap(3)}, }, } @@ -2375,23 +2375,23 @@ func TestNotIn(t *testing.T) { { description: "normal", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = ?) NOT IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "nil expr", exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, @@ -2400,7 +2400,7 @@ func TestNotIn(t *testing.T) { { description: "nil exprs", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, isError: true, @@ -2412,7 +2412,7 @@ func TestNotIn(t *testing.T) { }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, @@ -2421,7 +2421,7 @@ func TestNotIn(t *testing.T) { { description: "exprs error", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ @@ -2434,78 +2434,78 @@ func TestNotIn(t *testing.T) { { description: "expr no args", expr: &expr{ - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", args: []genorm.ExprType{}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) NOT IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = hoge.huga) NOT IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "exprs no args", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", args: []genorm.ExprType{}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN ((`hoge`.`huga` = `hoge`.`huga`)))", + expectedQuery: "((hoge.huga = ?) NOT IN ((hoge.huga = hoge.huga)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "expr nil args", expr: &expr{ - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) NOT IN ((`hoge`.`nyan` = ?)))", + expectedQuery: "((hoge.huga = hoge.huga) NOT IN ((hoge.nyan = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(2)}, }, { description: "exprs nil args", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`huga` = `hoge`.`huga`)", + query: "(hoge.huga = hoge.huga)", }, }, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN ((`hoge`.`huga` = `hoge`.`huga`)))", + expectedQuery: "((hoge.huga = ?) NOT IN ((hoge.huga = hoge.huga)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "multiple exprs", expr: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, exprs: []*expr{ { - query: "(`hoge`.`nyan` = ?)", + query: "(hoge.nyan = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, { - query: "(`hoge`.`nyanya` = ?)", + query: "(hoge.nyanya = ?)", args: []genorm.ExprType{genorm.Wrap(3)}, }, }, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN ((`hoge`.`nyan` = ?), (`hoge`.`nyanya` = ?)))", + expectedQuery: "((hoge.huga = ?) NOT IN ((hoge.nyan = ?), (hoge.nyanya = ?)))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2), genorm.Wrap(3)}, }, } @@ -2584,10 +2584,10 @@ func TestInLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true)}, - expectedQuery: "((`hoge`.`huga` = ?) IN (?))", + expectedQuery: "((hoge.huga = ?) IN (?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -2616,18 +2616,18 @@ func TestInLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) IN (?))", + expectedQuery: "((hoge.huga = hoge.huga) IN (?))", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, { description: "multiple lits", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true), genorm.Wrap(false)}, - expectedQuery: "((`hoge`.`huga` = ?) IN (?, ?))", + expectedQuery: "((hoge.huga = ?) IN (?, ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true), genorm.Wrap(false)}, }, } @@ -2689,10 +2689,10 @@ func TestNotInLit(t *testing.T) { }{ { description: "normal", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true)}, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN (?))", + expectedQuery: "((hoge.huga = ?) NOT IN (?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true)}, }, { @@ -2721,18 +2721,18 @@ func TestNotInLit(t *testing.T) { }, { description: "expr1 no args", - expr1Query: "(`hoge`.`huga` = `hoge`.`huga`)", + expr1Query: "(hoge.huga = hoge.huga)", expr1Args: nil, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true)}, - expectedQuery: "((`hoge`.`huga` = `hoge`.`huga`) NOT IN (?))", + expectedQuery: "((hoge.huga = hoge.huga) NOT IN (?))", expectedArgs: []genorm.ExprType{genorm.Wrap(true)}, }, { description: "multiple lits", - expr1Query: "(`hoge`.`huga` = ?)", + expr1Query: "(hoge.huga = ?)", expr1Args: []genorm.ExprType{genorm.Wrap(1)}, lits: []genorm.WrappedPrimitive[bool]{genorm.Wrap(true), genorm.Wrap(false)}, - expectedQuery: "((`hoge`.`huga` = ?) NOT IN (?, ?))", + expectedQuery: "((hoge.huga = ?) NOT IN (?, ?))", expectedArgs: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(true), genorm.Wrap(false)}, }, } diff --git a/pluck_test.go b/pluck_test.go index 8e8e6ba..98ab6d7 100644 --- a/pluck_test.go +++ b/pluck_test.go @@ -43,12 +43,12 @@ func TestPluckBuildQuery(t *testing.T) { { description: "normal", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge`", + query: "SELECT hoge.huga AS res FROM hoge", args: []genorm.ExprType{}, }, { @@ -57,26 +57,26 @@ func TestPluckBuildQuery(t *testing.T) { errs: []error{errors.New("table error")}, }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, err: true, }, { description: "joined table", tableExpr: expr{ - query: "`hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ?", + query: "hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ?", + query: "SELECT hoge.huga AS res FROM hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "field error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ errs: []error{errors.New("field error")}, @@ -86,55 +86,55 @@ func TestPluckBuildQuery(t *testing.T) { { description: "distinct", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, distinct: true, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, - query: "SELECT DISTINCT `hoge`.`huga` AS res FROM `hoge`", + query: "SELECT DISTINCT hoge.huga AS res FROM hoge", args: []genorm.ExprType{}, }, { description: "group by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` GROUP BY `hoge`.`fuga`", + query: "SELECT hoge.huga AS res FROM hoge GROUP BY hoge.fuga", args: []genorm.ExprType{}, }, { description: "group by with args", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { - query: "`hoge`.`fuga` = ?", + query: "hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` GROUP BY `hoge`.`fuga` = ?", + query: "SELECT hoge.huga AS res FROM hoge GROUP BY hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "group by error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { @@ -146,55 +146,55 @@ func TestPluckBuildQuery(t *testing.T) { { description: "multiple group by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { - query: "`hoge`.`fuga` = ?", + query: "hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { - query: "`hoge`.`piyo` = ?", + query: "hoge.piyo = ?", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` GROUP BY `hoge`.`fuga` = ?, `hoge`.`piyo` = ?", + query: "SELECT hoge.huga AS res FROM hoge GROUP BY hoge.fuga = ?, hoge.piyo = ?", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "having", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, havingCondition: &expr{ - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` GROUP BY `hoge`.`fuga` HAVING `hoge`.`huga` = ?", + query: "SELECT hoge.huga AS res FROM hoge GROUP BY hoge.fuga HAVING hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "having error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, havingCondition: &expr{ @@ -205,25 +205,25 @@ func TestPluckBuildQuery(t *testing.T) { { description: "where", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, whereCondition: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` WHERE (`hoge`.`huga` = ?)", + query: "SELECT hoge.huga AS res FROM hoge WHERE (hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "where error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, whereCondition: &expr{ errs: []error{errors.New("where error")}, @@ -233,30 +233,30 @@ func TestPluckBuildQuery(t *testing.T) { { description: "order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, orderItems: []orderItem{ { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC", + query: "SELECT hoge.huga AS res FROM hoge ORDER BY (hoge.huga = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "order by error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, orderItems: []orderItem{ { @@ -271,76 +271,76 @@ func TestPluckBuildQuery(t *testing.T) { { description: "multi order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, orderItems: []orderItem{ { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, { direction: genorm.Desc, expr: expr{ - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, }, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC, (`hoge`.`nya` = ?) DESC", + query: "SELECT hoge.huga AS res FROM hoge ORDER BY (hoge.huga = ?) ASC, (hoge.nya = ?) DESC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "limit", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, limit: 1, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` LIMIT 1", + query: "SELECT hoge.huga AS res FROM hoge LIMIT 1", args: []genorm.ExprType{}, }, { description: "offset", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, offset: 1, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` OFFSET 1", + query: "SELECT hoge.huga AS res FROM hoge OFFSET 1", args: []genorm.ExprType{}, }, { description: "for update", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, lockType: genorm.ForUpdate, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` FOR UPDATE", + query: "SELECT hoge.huga AS res FROM hoge FOR UPDATE", args: []genorm.ExprType{}, }, { description: "for share", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fieldExpr: expr{ - query: "`hoge`.`huga`", + query: "hoge.huga", }, lockType: genorm.ForShare, - query: "SELECT `hoge`.`huga` AS res FROM `hoge` FOR SHARE", + query: "SELECT hoge.huga AS res FROM hoge FOR SHARE", args: []genorm.ExprType{}, }, } diff --git a/relation/relation_test.go b/relation/relation_test.go index 594b312..c743feb 100644 --- a/relation/relation_test.go +++ b/relation/relation_test.go @@ -33,53 +33,53 @@ func TestJoinedTableName(t *testing.T) { description: "normal", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, - query: "(`hoge` CROSS JOIN `fuga`)", + query: "(hoge CROSS JOIN fuga)", args: []genorm.ExprType{}, }, { description: "onExpr", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, onExpr: &expr{ - query: "(`hoge`.`id` = `fuga`.`id`)", + query: "(hoge.id = fuga.id)", }, - query: "(`hoge` INNER JOIN `fuga` ON (`hoge`.`id` = `fuga`.`id`))", + query: "(hoge INNER JOIN fuga ON (hoge.id = fuga.id))", args: []genorm.ExprType{}, }, { description: "onExpr with args", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, onExpr: &expr{ - query: "(`hoge`.`id` = ?)", + query: "(hoge.id = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "(`hoge` INNER JOIN `fuga` ON (`hoge`.`id` = ?))", + query: "(hoge INNER JOIN fuga ON (hoge.id = ?))", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "onExpr with error", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, onExpr: &expr{ errs: []error{errors.New("onExpr error")}, @@ -90,13 +90,13 @@ func TestJoinedTableName(t *testing.T) { description: "baseTable with args", relationType: join, baseExpr: expr{ - query: "(`hoge` INNER JOIN `fuga` ON (`fuga`.`id` = ?))", + query: "(hoge INNER JOIN fuga ON (fuga.id = ?))", args: []genorm.ExprType{genorm.Wrap(1)}, }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, - query: "((`hoge` INNER JOIN `fuga` ON (`fuga`.`id` = ?)) CROSS JOIN `fuga`)", + query: "((hoge INNER JOIN fuga ON (fuga.id = ?)) CROSS JOIN fuga)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { @@ -106,7 +106,7 @@ func TestJoinedTableName(t *testing.T) { errs: []error{errors.New("error")}, }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, err: true, }, @@ -114,20 +114,20 @@ func TestJoinedTableName(t *testing.T) { description: "refTable with args", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "(`fuga` INNER JOIN `piyo` ON (`piyo`.`id` = ?))", + query: "(fuga INNER JOIN piyo ON (piyo.id = ?))", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "(`hoge` CROSS JOIN (`fuga` INNER JOIN `piyo` ON (`piyo`.`id` = ?)))", + query: "(hoge CROSS JOIN (fuga INNER JOIN piyo ON (piyo.id = ?)))", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "refTable with error", relationType: join, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ errs: []error{errors.New("error")}, @@ -138,30 +138,30 @@ func TestJoinedTableName(t *testing.T) { description: "left join", relationType: leftJoin, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, onExpr: &expr{ - query: "(`hoge`.`id` = `fuga`.`id`)", + query: "(hoge.id = fuga.id)", }, - query: "(`hoge` LEFT JOIN `fuga` ON (`hoge`.`id` = `fuga`.`id`))", + query: "(hoge LEFT JOIN fuga ON (hoge.id = fuga.id))", args: []genorm.ExprType{}, }, { description: "right join", relationType: rightJoin, baseExpr: expr{ - query: "`hoge`", + query: "hoge", }, refTableExpr: expr{ - query: "`fuga`", + query: "fuga", }, onExpr: &expr{ - query: "(`hoge`.`id` = `fuga`.`id`)", + query: "(hoge.id = fuga.id)", }, - query: "(`hoge` RIGHT JOIN `fuga` ON (`hoge`.`id` = `fuga`.`id`))", + query: "(hoge RIGHT JOIN fuga ON (hoge.id = fuga.id))", args: []genorm.ExprType{}, }, } diff --git a/select_test.go b/select_test.go index e18cca2..d34bc1b 100644 --- a/select_test.go +++ b/select_test.go @@ -50,16 +50,16 @@ func TestSelectBuildQuery(t *testing.T) { { description: "normal", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge`", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge", args: []genorm.ExprType{}, }, { @@ -71,7 +71,7 @@ func TestSelectBuildQuery(t *testing.T) { { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, err: true, @@ -79,143 +79,143 @@ func TestSelectBuildQuery(t *testing.T) { { description: "multiple fields", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, { tableName: "hoge", columnName: "piyo", - sqlColumnName: "`hoge`.`piyo`", + sqlColumnName: "hoge.piyo", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0, `hoge`.`piyo` AS hoge_piyo_0 FROM `hoge`", + query: "SELECT hoge.huga AS hoge_huga_0, hoge.piyo AS hoge_piyo_0 FROM hoge", args: []genorm.ExprType{}, }, { description: "field set", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, isFieldSet: true, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge`", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge", args: []genorm.ExprType{}, }, { description: "multiple fields set", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, isFieldSet: true, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, { tableName: "hoge", columnName: "piyo", - sqlColumnName: "`hoge`.`piyo`", + sqlColumnName: "hoge.piyo", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0, `hoge`.`piyo` AS hoge_piyo_0 FROM `hoge`", + query: "SELECT hoge.huga AS hoge_huga_0, hoge.piyo AS hoge_piyo_0 FROM hoge", args: []genorm.ExprType{}, }, { description: "joined table", tableExpr: expr{ - query: "`hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ?", + query: "hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ?", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "distinct", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, distinct: true, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, - query: "SELECT DISTINCT `hoge`.`huga` AS hoge_huga_0 FROM `hoge`", + query: "SELECT DISTINCT hoge.huga AS hoge_huga_0 FROM hoge", args: []genorm.ExprType{}, }, { description: "group by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` GROUP BY `hoge`.`fuga`", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge GROUP BY hoge.fuga", args: []genorm.ExprType{}, }, { description: "group by with args", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ { - query: "`hoge`.`fuga` = ?", + query: "hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` GROUP BY `hoge`.`fuga` = ?", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge GROUP BY hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "group by error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ @@ -228,67 +228,67 @@ func TestSelectBuildQuery(t *testing.T) { { description: "multiple group by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ { - query: "`hoge`.`fuga` = ?", + query: "hoge.fuga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { - query: "`hoge`.`piyo` = ?", + query: "hoge.piyo = ?", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` GROUP BY `hoge`.`fuga` = ?, `hoge`.`piyo` = ?", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge GROUP BY hoge.fuga = ?, hoge.piyo = ?", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "having", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, havingCondition: &expr{ - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` GROUP BY `hoge`.`fuga` HAVING `hoge`.`huga` = ?", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge GROUP BY hoge.fuga HAVING hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "having error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, groupExprs: []expr{ { - query: "`hoge`.`fuga`", + query: "hoge.fuga", }, }, havingCondition: &expr{ @@ -299,32 +299,32 @@ func TestSelectBuildQuery(t *testing.T) { { description: "where", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, whereCondition: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` WHERE (`hoge`.`huga` = ?)", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge WHERE (hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "where error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, whereCondition: &expr{ @@ -335,37 +335,37 @@ func TestSelectBuildQuery(t *testing.T) { { description: "order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, orderItems: []orderItem{ { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge ORDER BY (hoge.huga = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "order by error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, orderItems: []orderItem{ @@ -381,96 +381,96 @@ func TestSelectBuildQuery(t *testing.T) { { description: "multi order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, orderItems: []orderItem{ { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, { direction: genorm.Desc, expr: expr{ - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, }, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` ORDER BY (`hoge`.`huga` = ?) ASC, (`hoge`.`nya` = ?) DESC", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge ORDER BY (hoge.huga = ?) ASC, (hoge.nya = ?) DESC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "limit", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, limit: 1, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` LIMIT 1", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge LIMIT 1", args: []genorm.ExprType{}, }, { description: "offset", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, offset: 1, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` OFFSET 1", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge OFFSET 1", args: []genorm.ExprType{}, }, { description: "for update", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, lockType: genorm.ForUpdate, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` FOR UPDATE", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge FOR UPDATE", args: []genorm.ExprType{}, }, { description: "for share", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, fields: []field{ { tableName: "hoge", columnName: "huga", - sqlColumnName: "`hoge`.`huga`", + sqlColumnName: "hoge.huga", }, }, lockType: genorm.ForShare, - query: "SELECT `hoge`.`huga` AS hoge_huga_0 FROM `hoge` FOR SHARE", + query: "SELECT hoge.huga AS hoge_huga_0 FROM hoge FOR SHARE", args: []genorm.ExprType{}, }, } diff --git a/table.go b/table.go index ef534f8..cb95ef1 100644 --- a/table.go +++ b/table.go @@ -4,7 +4,7 @@ type Table interface { Expr New() Table Columns() []Column - // ColumnMap key: `table_name`.`column_name` + // ColumnMap key: table_name.column_name ColumnMap() map[string]ColumnFieldExprType GetErrors() []error } diff --git a/update_test.go b/update_test.go index 1b65e11..03e7396 100644 --- a/update_test.go +++ b/update_test.go @@ -38,76 +38,76 @@ func TestUpdateBuildQuery(t *testing.T) { { description: "normal", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, - query: "UPDATE `hoge` SET `hoge`.`huga` = ?", + query: "UPDATE hoge SET hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { description: "joined table", tableExpr: expr{ - query: "`hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ?", + query: "hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - query: "UPDATE `hoge` JOIN `fuga` ON `hoge`.`id` = `fuga`.`id` AND `hoge`.`huga` = ? SET `hoge`.`huga` = ?", + query: "UPDATE hoge JOIN fuga ON hoge.id = fuga.id AND hoge.huga = ? SET hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "multi assign", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, { - query: "`hoge`.`nya` = ?", + query: "hoge.nya = ?", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, - query: "UPDATE `hoge` SET `hoge`.`huga` = ?, `hoge`.`nya` = ?", + query: "UPDATE hoge SET hoge.huga = ?, hoge.nya = ?", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "where", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, whereCondition: &expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, - query: "UPDATE `hoge` SET `hoge`.`huga` = ? WHERE (`hoge`.`huga` = ?)", + query: "UPDATE hoge SET hoge.huga = ? WHERE (hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "where error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -119,11 +119,11 @@ func TestUpdateBuildQuery(t *testing.T) { { description: "order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -131,22 +131,22 @@ func TestUpdateBuildQuery(t *testing.T) { { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, }, - query: "UPDATE `hoge` SET `hoge`.`huga` = ? ORDER BY (`hoge`.`huga` = ?) ASC", + query: "UPDATE hoge SET hoge.huga = ? ORDER BY (hoge.huga = ?) ASC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2)}, }, { description: "order by error", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -163,11 +163,11 @@ func TestUpdateBuildQuery(t *testing.T) { { description: "multi order by", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, @@ -175,34 +175,34 @@ func TestUpdateBuildQuery(t *testing.T) { { direction: genorm.Asc, expr: expr{ - query: "(`hoge`.`huga` = ?)", + query: "(hoge.huga = ?)", args: []genorm.ExprType{genorm.Wrap(2)}, }, }, { direction: genorm.Desc, expr: expr{ - query: "(`hoge`.`nya` = ?)", + query: "(hoge.nya = ?)", args: []genorm.ExprType{genorm.Wrap(3)}, }, }, }, - query: "UPDATE `hoge` SET `hoge`.`huga` = ? ORDER BY (`hoge`.`huga` = ?) ASC, (`hoge`.`nya` = ?) DESC", + query: "UPDATE hoge SET hoge.huga = ? ORDER BY (hoge.huga = ?) ASC, (hoge.nya = ?) DESC", args: []genorm.ExprType{genorm.Wrap(1), genorm.Wrap(2), genorm.Wrap(3)}, }, { description: "limit", tableExpr: expr{ - query: "`hoge`", + query: "hoge", }, assignExprs: []expr{ { - query: "`hoge`.`huga` = ?", + query: "hoge.huga = ?", args: []genorm.ExprType{genorm.Wrap(1)}, }, }, limit: 1, - query: "UPDATE `hoge` SET `hoge`.`huga` = ? LIMIT 1", + query: "UPDATE hoge SET hoge.huga = ? LIMIT 1", args: []genorm.ExprType{genorm.Wrap(1)}, }, }