import_file

package
v1.0.1-0...-23bcde9 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NewCsvData = newCsvData
View Source
var NewCsvSchema = newCsvSchema

Functions

func ResetReader

func ResetReader(dumpReader *os.File, fileUri string) (*os.File, error)

func StringToBool

func StringToBool(s string) bool

Types

type ColumnDefinition

type ColumnDefinition struct {
	Name    string `json:"name"`
	Type    string `json:"type"` // e.g., "INT64", "STRING(MAX)", "TIMESTAMP", "DATE"
	NotNull bool   `json:"notNull"`
	PkOrder int    `json:"primaryKeyOrder"` // defines the order in the PK for the table, 0 means absence.
}

ColumnDefinition represents the definition of a Spanner table column.

type CsvData

type CsvData interface {
	ImportData(ctx context.Context, spannerInfoSchema *spanner.InfoSchemaImpl, dialect string, conv *internal.Conv, commonInfoSchema common.InfoSchemaInterface, csv csv.CsvInterface) error
}

type CsvDataImpl

type CsvDataImpl struct {
	ProjectId         string
	InstanceId        string
	DbName            string
	TableName         string
	SourceUri         string
	CsvFieldDelimiter string
	SourceFileReader  file_reader.FileReader
}

func (*CsvDataImpl) ImportData

func (source *CsvDataImpl) ImportData(ctx context.Context, spannerInfoSchema *spanner.InfoSchemaImpl, dialect string, conv *internal.Conv, commonInfoSchema common.InfoSchemaInterface, csv csv.CsvInterface) error

type CsvSchema

type CsvSchema interface {
	CreateSchema(ctx context.Context, dialect string, sp spanneraccessor.SpannerAccessor) error
}

type CsvSchemaImpl

type CsvSchemaImpl struct {
	ProjectId        string
	InstanceId       string
	DbName           string
	TableName        string
	SchemaUri        string
	SchemaFileReader file_reader.FileReader
}

func (*CsvSchemaImpl) CreateSchema

func (source *CsvSchemaImpl) CreateSchema(ctx context.Context, dialect string, sp spanneraccessor.SpannerAccessor) error

type ImportFromDump

type ImportFromDump interface {
	CreateSchema(ctx context.Context, dialect string) (*internal.Conv, error)
	ImportData(ctx context.Context, conv *internal.Conv) error
}

func NewImportFromDump

func NewImportFromDump(
	projectId string,
	instanceId string,
	databaseName string,
	dumpUri string,
	sourceFormat string,
	dbURI string,
	sp spanneraccessor.SpannerAccessor,
	sourceReader file_reader.FileReader) (ImportFromDump, error)

type ImportFromDumpImpl

type ImportFromDumpImpl struct {
	ProjectId    string
	InstanceId   string
	DatabaseName string
	DumpUri      string

	SourceFormat    string
	SpannerAccessor spanneraccessor.SpannerAccessor
	// contains filtered or unexported fields
}

func (*ImportFromDumpImpl) CreateSchema

func (source *ImportFromDumpImpl) CreateSchema(ctx context.Context, dialect string) (*internal.Conv, error)

CreateSchema Process database dump file. Convert schema to spanner DDL. Update the provided database with the schema.

func (*ImportFromDumpImpl) ImportData

func (source *ImportFromDumpImpl) ImportData(ctx context.Context, conv *internal.Conv) error

ImportData process database dump file. Convert insert statement to spanner mutation. Load data into spanner.

type MockCsvData

type MockCsvData struct {
	ImportDataFn func(ctx context.Context, spannerInfoSchema *spanner.InfoSchemaImpl, dialect string, conv *internal.Conv, commonInfoSchema common.InfoSchemaInterface, csv csv.CsvInterface) error
}

MockCsvData for testing.

func (*MockCsvData) ImportData

func (m *MockCsvData) ImportData(ctx context.Context, spannerInfoSchema *spanner.InfoSchemaImpl, dialect string, conv *internal.Conv, commonInfoSchema common.InfoSchemaInterface, csv csv.CsvInterface) error

type MockCsvSchema

type MockCsvSchema struct {
	CreateSchemaFn func(ctx context.Context, dialect string, sp spanneraccessor.SpannerAccessor) error
}

MockCsvSchema for testing.

func (*MockCsvSchema) CreateSchema

func (m *MockCsvSchema) CreateSchema(ctx context.Context, dialect string, sp spanneraccessor.SpannerAccessor) error

type PrimaryKey

type PrimaryKey struct {
	Name    string
	PkOrder int // defines the order in the PK for the table, 0 means absence.
}

Jump to

Keyboard shortcuts

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