Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var NewCsvData = newCsvData
View Source
var NewCsvSchema = newCsvSchema
View Source
var NewSpannerAccessor = func(ctx context.Context, dbURI string) (spanneraccessor.SpannerAccessor, error) { return spanneraccessor.NewSpannerAccessorClientImplWithSpannerClient(ctx, dbURI) }
Functions ¶
func StringToBool ¶
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 ¶
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 ¶
Click to show internal directories.
Click to hide internal directories.