Skip to content

Commit 16b69aa

Browse files
committed
cmd: enable parallelism for squash mode as well
Signed-off-by: Miguel Molina <[email protected]>
1 parent 71b5375 commit 16b69aa

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

cmd/gitbase/command/server.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,12 @@ func (l *jaegerLogrus) Error(s string) {
6868
l.Entry.Error(s)
6969
}
7070

71-
func NewDatabaseEngine(readonly bool, version string, parallelism int) *sqle.Engine {
71+
func NewDatabaseEngine(
72+
readonly bool,
73+
version string,
74+
parallelism int,
75+
squash bool,
76+
) *sqle.Engine {
7277
catalog := sql.NewCatalog()
7378
ab := analyzer.NewBuilder(catalog)
7479
if readonly {
@@ -79,6 +84,10 @@ func NewDatabaseEngine(readonly bool, version string, parallelism int) *sqle.Eng
7984
ab = ab.WithParallelism(parallelism)
8085
}
8186

87+
if squash {
88+
ab = ab.AddPostAnalyzeRule(rule.SquashJoinsRule, rule.SquashJoins)
89+
}
90+
8291
a := ab.Build()
8392
engine := sqle.New(catalog, a, &sqle.Config{
8493
VersionPostfix: version,
@@ -162,7 +171,12 @@ func (c *Server) Execute(args []string) error {
162171

163172
func (c *Server) buildDatabase() error {
164173
if c.engine == nil {
165-
c.engine = NewDatabaseEngine(c.ReadOnly, c.Version, int(c.Parallelism))
174+
c.engine = NewDatabaseEngine(
175+
c.ReadOnly,
176+
c.Version,
177+
int(c.Parallelism),
178+
!c.DisableSquash,
179+
)
166180
}
167181

168182
c.pool = gitbase.NewRepositoryPool()
@@ -183,12 +197,6 @@ func (c *Server) buildDatabase() error {
183197

184198
if !c.DisableSquash {
185199
logrus.Info("squash tables rule is enabled")
186-
a := analyzer.NewBuilder(c.engine.Catalog).
187-
AddPostAnalyzeRule(rule.SquashJoinsRule, rule.SquashJoins).
188-
Build()
189-
190-
a.CurrentDatabase = c.engine.Analyzer.CurrentDatabase
191-
c.engine.Analyzer = a
192200
} else {
193201
logrus.Warn("squash tables rule is disabled")
194202
}

integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ func newSquashEngine() *sqle.Engine {
852852

853853
func newBaseEngine() *sqle.Engine {
854854
foo := gitbase.NewDatabase("foo")
855-
engine := command.NewDatabaseEngine(false, "test", 0)
855+
engine := command.NewDatabaseEngine(false, "test", 0, false)
856856

857857
engine.AddDatabase(foo)
858858
engine.Catalog.RegisterFunctions(function.Functions)

0 commit comments

Comments
 (0)