Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unity 2 #58617

Open
wants to merge 127 commits into
base: master
Choose a base branch
from
Open

Unity 2 #58617

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
11bd6a8
fixup
qw4990 Dec 30, 2024
0e7ff8e
fixup
qw4990 Dec 30, 2024
431d82a
fixup
qw4990 Dec 30, 2024
7cee48d
fixup
qw4990 Dec 30, 2024
d590357
fixup
qw4990 Dec 30, 2024
b68ea2c
fixup
qw4990 Dec 30, 2024
21fe26f
fixup
qw4990 Dec 30, 2024
d1ef036
fixup
qw4990 Dec 30, 2024
c1dfcf9
fixup
qw4990 Dec 30, 2024
af51705
fixup
qw4990 Dec 30, 2024
058e73d
fixup
qw4990 Dec 30, 2024
3c52cba
fixup
qw4990 Dec 30, 2024
b8d23c2
fixup
qw4990 Dec 31, 2024
fd7f8f2
fixup
qw4990 Dec 31, 2024
f201688
fixup
qw4990 Dec 31, 2024
e864e37
fixup
qw4990 Dec 31, 2024
f9f8215
fixup
qw4990 Dec 31, 2024
3e05672
fixup
qw4990 Dec 31, 2024
53e3f58
fixup
qw4990 Dec 31, 2024
1668c59
fixup
qw4990 Dec 31, 2024
b22b059
fixup
qw4990 Dec 31, 2024
035ec78
fixup
qw4990 Dec 31, 2024
6b0b53a
fixup
qw4990 Dec 31, 2024
6858064
fixup
qw4990 Dec 31, 2024
7c2323f
fixup
qw4990 Dec 31, 2024
cd1a664
fixup
qw4990 Jan 2, 2025
fdddbb8
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 2, 2025
f171e33
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 9, 2025
5909a9c
fixup
qw4990 Jan 9, 2025
859fdf7
fixup
qw4990 Jan 9, 2025
2c7f6cc
fixup
qw4990 Jan 9, 2025
4ae8d7f
fixup
qw4990 Jan 9, 2025
0dc36f2
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 9, 2025
a4dc7ed
fixup
qw4990 Jan 9, 2025
5dbdb9f
fixup
qw4990 Jan 9, 2025
7c65dc5
fixup
qw4990 Jan 9, 2025
5c3a498
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 13, 2025
a7dbaaf
fixpu
qw4990 Jan 13, 2025
2f177ca
fixpu
qw4990 Jan 13, 2025
c3f9ec8
fixpu
qw4990 Jan 13, 2025
9ee38aa
fixup
qw4990 Jan 13, 2025
0fe9764
fixup
qw4990 Jan 13, 2025
8dac713
fixup
qw4990 Jan 13, 2025
e486bfd
fixup
qw4990 Jan 13, 2025
3619ddc
fixup
qw4990 Jan 13, 2025
ef97d77
fixup
qw4990 Jan 13, 2025
fe6a179
fixup
qw4990 Jan 13, 2025
53021a6
fixup
qw4990 Jan 13, 2025
e7eac0f
fixup
qw4990 Jan 13, 2025
d9c9ace
fixup
qw4990 Jan 13, 2025
1d16a93
fixup
qw4990 Jan 13, 2025
92d614e
fixup
qw4990 Jan 13, 2025
b7d57a3
fixup
qw4990 Jan 13, 2025
1b1ab96
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 13, 2025
6bbd9ee
fixup
qw4990 Jan 13, 2025
8ac1ebf
fixup
qw4990 Jan 13, 2025
3b3fc7d
fixup
qw4990 Jan 13, 2025
a58c9e4
fixup
qw4990 Jan 13, 2025
7224656
fixup
qw4990 Jan 13, 2025
541f98c
fixup
qw4990 Jan 13, 2025
2a0f862
fixup
qw4990 Jan 13, 2025
6c236be
fixup
qw4990 Jan 13, 2025
d6f353f
fixup
qw4990 Jan 13, 2025
dab47d1
fixup
qw4990 Jan 13, 2025
2cf1fa0
fixup
qw4990 Jan 13, 2025
ffc03e3
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 14, 2025
2376f51
fixup
qw4990 Jan 14, 2025
9981ce1
fixup
qw4990 Jan 14, 2025
10f9068
fixup
qw4990 Jan 14, 2025
d572cb0
fixup
qw4990 Jan 14, 2025
1bdaea1
fixup
qw4990 Jan 14, 2025
8367d9d
fixup
qw4990 Jan 14, 2025
5c15d4c
fixup
qw4990 Jan 14, 2025
005f6ed
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 15, 2025
339e02d
fixup
qw4990 Jan 15, 2025
0e43374
fixup
qw4990 Jan 15, 2025
2d436ce
fixup
qw4990 Jan 15, 2025
b56efbe
fixup
qw4990 Jan 15, 2025
f5f4080
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 16, 2025
dab5c15
fixup
qw4990 Jan 16, 2025
a437c78
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 22, 2025
545b17b
fixup
qw4990 Jan 22, 2025
82a0bd5
fixup
qw4990 Jan 22, 2025
6cac9bb
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 23, 2025
8eb53cf
fixup
qw4990 Jan 23, 2025
50ea4ce
fixup
qw4990 Jan 23, 2025
9339a35
fixup
qw4990 Jan 23, 2025
9ae1448
fixup
qw4990 Jan 23, 2025
13d9231
fixup
qw4990 Jan 26, 2025
b946e73
fixup
qw4990 Jan 26, 2025
0514a1d
fixup
qw4990 Jan 26, 2025
c4a1718
fixup
qw4990 Jan 26, 2025
fbeaad6
fixup
qw4990 Jan 26, 2025
9adab1f
fixup
qw4990 Jan 26, 2025
9dae0af
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Jan 26, 2025
877d8a8
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Feb 5, 2025
972eb1f
fixup
qw4990 Feb 5, 2025
f0c3893
fixup
qw4990 Feb 5, 2025
4ad3d0c
fixup
qw4990 Feb 5, 2025
8eb2cda
fixup
qw4990 Feb 5, 2025
39ce018
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Feb 10, 2025
f7087ee
fixup
qw4990 Feb 10, 2025
2eed35d
fixup
qw4990 Feb 10, 2025
67cbb59
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Feb 18, 2025
d3c6c51
fixup
qw4990 Feb 18, 2025
188ac59
fixup
qw4990 Feb 18, 2025
55bece1
fixup
qw4990 Feb 18, 2025
a9f604f
fixup
qw4990 Feb 18, 2025
ac50d8b
fixup
qw4990 Feb 18, 2025
5b25884
fixup
qw4990 Feb 18, 2025
5d2aa53
fixup
qw4990 Feb 18, 2025
d3a969d
fixup
qw4990 Feb 18, 2025
efadf58
fixup
qw4990 Feb 18, 2025
99f147d
fixup
qw4990 Feb 18, 2025
75a1ddd
fixup
qw4990 Feb 18, 2025
89fe00e
fixup
qw4990 Feb 18, 2025
fd60006
fixup
qw4990 Feb 18, 2025
49aad76
fixup
qw4990 Feb 18, 2025
032cb31
fixup
qw4990 Feb 18, 2025
5a1c4e7
fixup
qw4990 Feb 18, 2025
0d6831c
fixup
qw4990 Feb 18, 2025
982c5fe
fixup
qw4990 Feb 18, 2025
9787b43
fixup
qw4990 Feb 18, 2025
4d07e5e
fixup
qw4990 Feb 18, 2025
6fcf3f9
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Feb 19, 2025
1622dc2
Merge remote-tracking branch 'upstream/master' into unity-2
qw4990 Feb 20, 2025
4f858fb
fixup
qw4990 Feb 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixup
  • Loading branch information
qw4990 committed Dec 31, 2024
commit e864e378c83a3a293ff9ce8f37e04f80f0b79b46
36 changes: 35 additions & 1 deletion pkg/planner/core/common_plan_gen.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,47 @@
package core

import (
"context"
"encoding/json"
"fmt"
"github.com/pingcap/tidb/pkg/bindinfo"
"github.com/pingcap/tidb/pkg/domain"
"github.com/pingcap/tidb/pkg/parser"
"github.com/pingcap/tidb/pkg/parser/ast"
"github.com/pingcap/tidb/pkg/parser/model"

"github.com/pingcap/tidb/pkg/planner/core/base"
"github.com/pingcap/tidb/pkg/util/hint"
)

func (e *Explain) unityPlanAll() {
func (e *Explain) unityPlanAll() (string, error) {
p := parser.New()
stmt, err := p.ParseOneStmt(e.SCtx().GetSessionVars().StmtCtx.OriginalSQL, "", "")
if err != nil {
return "", err
}
tableNames := bindinfo.CollectTableNames(stmt)
for _, t := range tableNames {
fmt.Println("?>>>>>>>>>> ", t.Name)
fmt.Println(">>>>>> ", e.tableIndexNames(t))
}
return "", nil
}

func (e *Explain) tableIndexNames(t *ast.TableName) (idxNames []string) {
is := domain.GetDomain(e.SCtx()).InfoSchema()
schema := t.Schema
if schema.L == "" {
schema = model.NewCIStr(e.SCtx().GetSessionVars().CurrentDB)
}
tt, err := is.TableByName(context.Background(), schema, t.Name)
if err != nil {
panic(err)
}
for _, idx := range tt.Indices() {
idxNames = append(idxNames, idx.Meta().Name.O)
}
return
}

func (e *Explain) unityPlanOne() (string, error) {
Expand Down
6 changes: 5 additions & 1 deletion pkg/planner/core/common_plans.go
Original file line number Diff line number Diff line change
Expand Up @@ -1033,7 +1033,11 @@ func (e *Explain) RenderResult() error {
}
e.Rows = append(e.Rows, []string{planJSON})
case types.ExplainFormatUnityPlanAll:
panic("TODO")
planJSON, err := e.unityPlanOne()
if err != nil {
return err
}
e.Rows = append(e.Rows, []string{planJSON})
case types.ExplainFormatUnityJoin:
panic("TODO")
default:
Expand Down