Versions in this module Expand all Collapse all v0 v0.0.1 Nov 17, 2023 Changes in this version + var ErrDuplicatedTable = errors.New("table is already created") + type Dataset struct + ID string + ProjectID string + func NewDataset(repo *Repository, projectID string, datasetID string, ...) *Dataset + func (d *Dataset) AddTable(ctx context.Context, tx *sql.Tx, table *Table) error + func (d *Dataset) Content() *bigqueryv2.Dataset + func (d *Dataset) Delete(ctx context.Context, tx *sql.Tx) error + func (d *Dataset) DeleteModel(ctx context.Context, tx *sql.Tx, id string) error + func (d *Dataset) Insert(ctx context.Context, tx *sql.Tx) error + func (d *Dataset) Model(id string) *Model + func (d *Dataset) ModelIDs() []string + func (d *Dataset) Models() []*Model + func (d *Dataset) Routine(id string) *Routine + func (d *Dataset) RoutineIDs() []string + func (d *Dataset) Routines() []*Routine + func (d *Dataset) Table(id string) *Table + func (d *Dataset) TableIDs() []string + func (d *Dataset) Tables() []*Table + func (d *Dataset) UpdateContent(newContent *bigqueryv2.Dataset) + func (d *Dataset) UpdateContentIfExists(newContent *bigqueryv2.Dataset) + type Job struct + ID string + ProjectID string + func NewJob(repo *Repository, projectID, jobID string, content *bigqueryv2.Job, ...) *Job + func (j *Job) Cancel(ctx context.Context) error + func (j *Job) Content() *bigqueryv2.Job + func (j *Job) Delete(ctx context.Context, tx *sql.Tx) error + func (j *Job) Insert(ctx context.Context, tx *sql.Tx) error + func (j *Job) Query() string + func (j *Job) QueryParameters() []*bigqueryv2.QueryParameter + func (j *Job) SetResult(ctx context.Context, tx *sql.Tx, response *internaltypes.QueryResponse, ...) error + func (j *Job) Wait(ctx context.Context) (*internaltypes.QueryResponse, error) + type Model struct + DatasetID string + ID string + ProjectID string + func NewModel(repo *Repository, projectID, datasetID, modelID string, ...) *Model + func (m *Model) Delete(ctx context.Context, tx *sql.Tx) error + func (m *Model) Insert(ctx context.Context, tx *sql.Tx) error + type Project struct + ID string + func NewProject(repo *Repository, id string, datasets []*Dataset, jobs []*Job) *Project + func (p *Project) AddDataset(ctx context.Context, tx *sql.Tx, dataset *Dataset) error + func (p *Project) AddJob(ctx context.Context, tx *sql.Tx, job *Job) error + func (p *Project) Dataset(id string) *Dataset + func (p *Project) DatasetIDs() []string + func (p *Project) Datasets() []*Dataset + func (p *Project) Delete(ctx context.Context, tx *sql.Tx) error + func (p *Project) DeleteDataset(ctx context.Context, tx *sql.Tx, id string) error + func (p *Project) DeleteJob(ctx context.Context, tx *sql.Tx, id string) error + func (p *Project) Insert(ctx context.Context, tx *sql.Tx) error + func (p *Project) Job(id string) *Job + func (p *Project) JobIDs() []string + func (p *Project) Jobs() []*Job + type Repository struct + func NewRepository(db *sql.DB) (*Repository, error) + func (r *Repository) AddDataset(ctx context.Context, tx *sql.Tx, dataset *Dataset) error + func (r *Repository) AddJob(ctx context.Context, tx *sql.Tx, job *Job) error + func (r *Repository) AddModel(ctx context.Context, tx *sql.Tx, model *Model) error + func (r *Repository) AddProject(ctx context.Context, tx *sql.Tx, project *Project) error + func (r *Repository) AddProjectIfNotExists(ctx context.Context, tx *sql.Tx, project *Project) error + func (r *Repository) AddRoutine(ctx context.Context, tx *sql.Tx, routine *Routine) error + func (r *Repository) AddTable(ctx context.Context, tx *sql.Tx, table *Table) error + func (r *Repository) DatasetFromData(projectID string, data *types.Dataset) *Dataset + func (r *Repository) DeleteDataset(ctx context.Context, tx *sql.Tx, dataset *Dataset) error + func (r *Repository) DeleteJob(ctx context.Context, tx *sql.Tx, job *Job) error + func (r *Repository) DeleteModel(ctx context.Context, tx *sql.Tx, model *Model) error + func (r *Repository) DeleteProject(ctx context.Context, tx *sql.Tx, project *Project) error + func (r *Repository) DeleteRoutine(ctx context.Context, tx *sql.Tx, routine *Routine) error + func (r *Repository) DeleteTable(ctx context.Context, tx *sql.Tx, table *Table) error + func (r *Repository) FindAllProjects(ctx context.Context) ([]*Project, error) + func (r *Repository) FindDataset(ctx context.Context, projectID, datasetID string) (*Dataset, error) + func (r *Repository) FindJob(ctx context.Context, projectID, jobID string) (*Job, error) + func (r *Repository) FindModel(ctx context.Context, projectID, datasetID, modelID string) (*Model, error) + func (r *Repository) FindProject(ctx context.Context, id string) (*Project, error) + func (r *Repository) FindProjectWithConn(ctx context.Context, tx *sql.Tx, id string) (*Project, error) + func (r *Repository) FindRoutine(ctx context.Context, projectID, datasetID, routineID string) (*Routine, error) + func (r *Repository) FindTable(ctx context.Context, projectID, datasetID, tableID string) (*Table, error) + func (r *Repository) JobFromData(projectID string, data *types.Job) *Job + func (r *Repository) ModelFromData(projectID, datasetID string, data *types.Model) *Model + func (r *Repository) ProjectFromData(data *types.Project) *Project + func (r *Repository) RoutineFromData(projectID, datasetID string, data *types.Routine) *Routine + func (r *Repository) TableFromData(projectID, datasetID string, data *types.Table) *Table + func (r *Repository) UpdateDataset(ctx context.Context, tx *sql.Tx, dataset *Dataset) error + func (r *Repository) UpdateJob(ctx context.Context, tx *sql.Tx, job *Job) error + func (r *Repository) UpdateModel(ctx context.Context, tx *sql.Tx, model *Model) error + func (r *Repository) UpdateProject(ctx context.Context, tx *sql.Tx, project *Project) error + func (r *Repository) UpdateRoutine(ctx context.Context, tx *sql.Tx, routine *Routine) error + func (r *Repository) UpdateTable(ctx context.Context, tx *sql.Tx, table *Table) error + type Routine struct + DatasetID string + ID string + ProjectID string + func NewRoutine(repo *Repository, projectID, datasetID, routineID string, ...) *Routine + type Table struct + DatasetID string + ID string + ProjectID string + func NewTable(repo *Repository, projectID, datasetID, tableID string, ...) *Table + func (t *Table) Content() (*bigqueryv2.Table, error) + func (t *Table) Delete(ctx context.Context, tx *sql.Tx) error + func (t *Table) Insert(ctx context.Context, tx *sql.Tx) error + func (t *Table) Update(ctx context.Context, tx *sql.Tx, metadata map[string]interface{}) error