Fix use hint with join bug (#2384)
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2384
This commit is contained in:
parent
743f3bcab8
commit
cc28d99161
|
@ -184,6 +184,7 @@ func (statement *Statement) writeFrom(w *builder.BytesWriter) error {
|
|||
statement.writeStrings(" FROM "),
|
||||
statement.writeTableName,
|
||||
statement.writeAlias,
|
||||
statement.writeIndexHints,
|
||||
statement.writeJoins,
|
||||
)
|
||||
}
|
||||
|
@ -254,7 +255,6 @@ func (statement *Statement) writeSelect(buf *builder.BytesWriter, columnStr stri
|
|||
return statement.writeMultiple(buf,
|
||||
statement.writeSelectColumns(columnStr),
|
||||
statement.writeFrom,
|
||||
statement.writeIndexHints,
|
||||
statement.writeWhere,
|
||||
statement.writeGroupBy,
|
||||
statement.writeHaving,
|
||||
|
|
|
@ -65,7 +65,7 @@ func TestEnableSessionId(t *testing.T) {
|
|||
|
||||
func TestIndexHint(t *testing.T) {
|
||||
assert.NoError(t, PrepareEngine())
|
||||
assertSync(t, new(Userinfo))
|
||||
assertSync(t, new(Userinfo), new(Userdetail))
|
||||
if testEngine.Dialect().URI().DBType != "mysql" {
|
||||
return
|
||||
}
|
||||
|
@ -78,4 +78,11 @@ func TestIndexHint(t *testing.T) {
|
|||
|
||||
_, err = testEngine.Table("userinfo").IndexHint("USE", "GROUP BY", "UQE_userinfo_username").Get(new(Userinfo))
|
||||
assert.NoError(t, err)
|
||||
|
||||
// with join
|
||||
_, err = testEngine.Table("userinfo").
|
||||
Join("LEFT", "userdetail", "userinfo.id = userdetail.id").
|
||||
IndexHint("USE", "", "UQE_userinfo_username").
|
||||
Get(new(Userinfo))
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue