From ce1d3bb4882b5e5bc8fb6ad6494583ac50479b7a Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 21 Feb 2020 09:11:12 +0800 Subject: [PATCH] Fix test --- engine_table.go | 5 +++-- session_query_test.go | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/engine_table.go b/engine_table.go index 21365dde..001d72e7 100644 --- a/engine_table.go +++ b/engine_table.go @@ -26,11 +26,12 @@ func (engine *Engine) tbNameWithSchema(v string) string { } func isSubQuery(tbName string) bool { - if len(tbName) <= 6 { + const selStr = "select" + if len(tbName) <= len(selStr)+1 { return false } - return strings.EqualFold(tbName[:5], "select") || strings.EqualFold(tbName[:6], "(select") + return strings.EqualFold(tbName[:len(selStr)], selStr) || strings.EqualFold(tbName[:len(selStr)+1], "("+selStr) } // TableName returns table name with schema prefix if has diff --git a/session_query_test.go b/session_query_test.go index c77695f6..7e72357f 100644 --- a/session_query_test.go +++ b/session_query_test.go @@ -371,15 +371,16 @@ func TestJoinWithSubQuery(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, cnt) + tbName := testEngine.Quote(testEngine.TableName("join_with_sub_query_depart", true)) var querys []JoinWithSubQuery1 - err = testEngine.Join("INNER", builder.Select("id").From(testEngine.Quote(testEngine.TableName("join_with_sub_query_depart", true))), + err = testEngine.Join("INNER", builder.Select("id").From(tbName), "join_with_sub_query_depart.id = join_with_sub_query1.depart_id").Find(&querys) assert.NoError(t, err) assert.EqualValues(t, 1, len(querys)) assert.EqualValues(t, q, querys[0]) querys = make([]JoinWithSubQuery1, 0, 1) - err = testEngine.Join("INNER", "(SELECT id FROM `join_with_sub_query_depart`) join_with_sub_query_depart", "join_with_sub_query_depart.id = join_with_sub_query1.depart_id"). + err = testEngine.Join("INNER", "(SELECT id FROM "+tbName+") join_with_sub_query_depart", "join_with_sub_query_depart.id = join_with_sub_query1.depart_id"). Find(&querys) assert.NoError(t, err) assert.EqualValues(t, 1, len(querys))