snowsql

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TiDB2SnowflakeTypeMap map[string]string = map[string]string{
	"text":       "TEXT",
	"tinytext":   "TEXT",
	"mediumtext": "TEXT",
	"longtext":   "TEXT",
	"blob":       "BINARY",
	"tinyblob":   "BINARY",

	"varchar":            "VARCHAR",
	"char":               "CHAR",
	"binary":             "BINARY",
	"varbinary":          "BINARY",
	"tinyint":            "NUMBER",
	"smallint":           "NUMBER",
	"int":                "NUMBER",
	"mediumint":          "NUMBER",
	"bigint":             "NUMBER",
	"tinyint unsigned":   "NUMBER",
	"smallint unsigned":  "NUMBER",
	"int unsigned":       "NUMBER",
	"mediumint unsigned": "NUMBER",
	"bigint unsigned":    "NUMBER",
	"float":              "FLOAT",
	"float unsigned":     "FLOAT",
	"double":             "FLOAT",
	"double unsigned":    "FLOAT",
	"decimal":            "NUMBER",
	"numeric":            "NUMBER",
	"bool":               "BOOLEAN",
	"boolean":            "BOOLEAN",
	"date":               "DATE",
	"datetime":           "DATETIME",
	"timestamp":          "TIMESTAMP",
	"time":               "TIME",
}

TiDB2SnowflakeTypeMap is a map from TiDB type to Snowflake type.

Functions

func CreateExternalStage

func CreateExternalStage(db *sql.DB, stageName, s3WorkspaceURL string, cred *credentials.Value) error

func DropStage

func DropStage(db *sql.DB, stageName string) error

func GenCreateSchema

func GenCreateSchema(sourceDatabase string, sourceTable string, sourceTiDBConn *sql.DB) (string, error)

func GenDDLViaColumnsDiff

func GenDDLViaColumnsDiff(prevColumns []cloudstorage.TableCol, curTableDef cloudstorage.TableDefinition) ([]string, error)

func GenMergeInto

func GenMergeInto(tableDef cloudstorage.TableDefinition, filePath string, stageName string) string

func GetColumnModifyString

func GetColumnModifyString(diff *tidbsql.ColumnDiff) (string, error)

func GetDefaultString added in v0.0.3

func GetDefaultString(val interface{}) string

func GetSnowflakeColumnString

func GetSnowflakeColumnString(column cloudstorage.TableCol) (string, error)

GetSnowflakeColumnString returns a string describing the column in Snowflake, e.g. "id INT NOT NULL DEFAULT '0'" Refer to: https://dev.mysql.com/doc/refman/8.0/en/data-types.html https://docs.snowflake.com/en/sql-reference/intro-summary-data-types

func GetSnowflakeTypeString

func GetSnowflakeTypeString(column cloudstorage.TableCol) (string, error)

func LoadSnapshotFromStage

func LoadSnapshotFromStage(db *sql.DB, targetTable, stageName, filePath string) error

Types

type SnowflakeConfig

type SnowflakeConfig struct {
	AccountId string
	Warehouse string
	User      string
	Pass      string
	Database  string
	Schema    string
}

func (*SnowflakeConfig) OpenDB

func (config *SnowflakeConfig) OpenDB() (*sql.DB, error)

Open a connection to Snowflake.

type SnowflakeConnector

type SnowflakeConnector struct {
	// contains filtered or unexported fields
}

A Wrapper of snowflake connection. It implements the coreinterfaces.Connector interface.

func NewSnowflakeConnector

func NewSnowflakeConnector(sfConfig *SnowflakeConfig, stageName string, storageURI *url.URL, credentials *credentials.Value) (*SnowflakeConnector, error)

func (*SnowflakeConnector) Close

func (sc *SnowflakeConnector) Close()

func (*SnowflakeConnector) CopyTableSchema

func (sc *SnowflakeConnector) CopyTableSchema(sourceDatabase string, sourceTable string, sourceTiDBConn *sql.DB) error

func (*SnowflakeConnector) ExecDDL

func (sc *SnowflakeConnector) ExecDDL(tableDef cloudstorage.TableDefinition) error

func (*SnowflakeConnector) InitSchema

func (sc *SnowflakeConnector) InitSchema(columns []cloudstorage.TableCol) error

func (*SnowflakeConnector) LoadIncrement

func (sc *SnowflakeConnector) LoadIncrement(tableDef cloudstorage.TableDefinition, filePath string) error

func (*SnowflakeConnector) LoadSnapshot

func (sc *SnowflakeConnector) LoadSnapshot(targetTable, filePath string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL