Skip to content

Commit

Permalink
feat: add merge and replace merge without partition
Browse files Browse the repository at this point in the history
  • Loading branch information
deryrahman authored and Dery Rahman Ahaddienata committed Oct 11, 2024
1 parent 42a6804 commit e37c061
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 33 deletions.
8 changes: 4 additions & 4 deletions max2max/internal/loader/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ func GetLoader(name string, logger *slog.Logger) (Loader, error) {
// return NewReplaceLoader(logger), nil
// case REPLACE_ALL:
// return NewReplaceAllLoader(logger), nil
// case MERGE:
// return NewMergeLoader(logger), nil
// case MERGE_REPLACE:
// return NewMergeReplaceLoader(logger), nil
case MERGE:
return NewMergeLoader(logger)
case MERGE_REPLACE:
return NewReplaceMergeLoader(logger)
default:
err := fmt.Errorf("loader %s not found", name)
return nil, errors.WithStack(err)
Expand Down
12 changes: 6 additions & 6 deletions max2max/internal/loader/merge.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ type mergeLoader struct {
logger *slog.Logger
}

func NewMergeLoader(logger *slog.Logger) *mergeLoader {
func NewMergeLoader(logger *slog.Logger) (*mergeLoader, error) {
return &mergeLoader{
logger: logger,
}
}, nil
}

func (l *mergeLoader) GetQuery(tableID, query string) string {
return "-- TODO merge loader"
func (l *mergeLoader) GetQuery(_, query string) string {
return query
}

func (l *mergeLoader) GetPartitionedQuery(tableID, query string, partitionName []string) string {
return "-- TODO merge loader"
func (l *mergeLoader) GetPartitionedQuery(_, query string, _ []string) string {
return query
}
23 changes: 0 additions & 23 deletions max2max/internal/loader/merge_replace.go

This file was deleted.

24 changes: 24 additions & 0 deletions max2max/internal/loader/replace_merge.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package loader

import (
"fmt"
"log/slog"
)

type replaceMergeLoader struct {
logger *slog.Logger
}

func NewReplaceMergeLoader(logger *slog.Logger) (*replaceMergeLoader, error) {
return &replaceMergeLoader{
logger: logger,
}, nil
}

func (l *replaceMergeLoader) GetQuery(tableID, query string) string {
return fmt.Sprintf("INSERT OVERWRITE TABLE %s %s", tableID, query)
}

func (l *replaceMergeLoader) GetPartitionedQuery(tableID, query string, partitionName []string) string {
return "-- TODO merge replace loader"
}

0 comments on commit e37c061

Please sign in to comment.