package large

import (
	"database/sql"

	"github.com/pingcap/errors"
)

func cleanTask(task CleanTask, db *sql.DB) error {
	return task.DropTable(db)
}

type BaseCleanTask struct{}

func (_ BaseCleanTask) DropTable(db *sql.DB) error {
	sql1 := "drop table if exists sbtest1"
	sql2 := "drop table if exists sbtest2"
	_, err := db.Exec(sql1)
	if err != nil {
		return errors.WithStack(err)
	}
	_, err = db.Exec(sql2)
	if err != nil {
		return errors.WithStack(err)
	}
	return nil
}

func DefaultCleanTask() CleanTask {
	return BaseCleanTask{}
}

type DummyCleanTask struct{}

func (_ DummyCleanTask) DropTable(db *sql.DB) error {
	return nil
}
