Documentation
¶
Overview ¶
functions to create and verify our schema. Should rely only on database/sql
Index ¶
- func CreateActivitiesTable(db *sql.DB) error
- func CreateActivityIdsToUpdateView(db *sql.DB) error
- func CreateDedupedEtlView(db *sql.DB) error
- func CreateETLSequence(db *sql.DB) error
- func CreateETLTable(db *sql.DB) error
- func CreateExpandStreamsMacro(db *sql.DB) error
- func CreateMacros(db *sql.DB) error
- func CreateNewActivitiesView(db *sql.DB) error
- func CreateNewStreamsView(db *sql.DB) error
- func CreateStreamsTable(db *sql.DB) error
- func CreateTempETLTable(db *sql.DB) error
- func CreateTypes(db *sql.DB) error
- func InitSchema(db *sql.DB) error
- func ValidateSchema(db *sql.DB) error
- type DuckdbFlags
- type DuckdbStrava
- func (sdb *DuckdbStrava) Close() error
- func (sdb *DuckdbStrava) DB() *sql.DB
- func (sdb *DuckdbStrava) FilterKnownActivityIds(activityIds []int64) ([]int64, error)
- func (sdb *DuckdbStrava) InitAndValidateSchema() error
- func (sdb *DuckdbStrava) MergeActivities() error
- func (sdb *DuckdbStrava) OpenDB() error
- func (sdb *DuckdbStrava) UploadActivityJson(activities []util.Jsonable) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateActivitiesTable ¶
TODO: add primary key back once duckdb supports transaction updates to primary key (see indexes doc)
func CreateDedupedEtlView ¶
func CreateETLSequence ¶
func CreateETLTable ¶
func CreateMacros ¶
func CreateNewActivitiesView ¶
func CreateNewStreamsView ¶
func CreateStreamsTable ¶
TODO: add primary key back once duckdb supports transaction updates to primary key (see indexes doc)
func CreateTempETLTable ¶
func CreateTypes ¶
func InitSchema ¶
func ValidateSchema ¶
verify that the expected tables exist in the database. Databases may implicitly create a new db instead of providing an error so this should be called when we expect an existing db. TODO assert types and views
Types ¶
type DuckdbFlags ¶
type DuckdbFlags struct {
DbFileName string
}
func (*DuckdbFlags) NewStravaDatabase ¶
func (f *DuckdbFlags) NewStravaDatabase() (intsql.StravaDatabase, error)
NewStravaDatabase implements intsql.Flags.
func (*DuckdbFlags) PostProcessFlags ¶
func (df *DuckdbFlags) PostProcessFlags(fs *flag.FlagSet) error
type DuckdbStrava ¶
type DuckdbStrava struct {
// contains filtered or unexported fields
}
func New ¶
func New(dbFileName string) DuckdbStrava
func (*DuckdbStrava) Close ¶
func (sdb *DuckdbStrava) Close() error
func (*DuckdbStrava) DB ¶
func (sdb *DuckdbStrava) DB() *sql.DB
func (*DuckdbStrava) FilterKnownActivityIds ¶
func (sdb *DuckdbStrava) FilterKnownActivityIds(activityIds []int64) ([]int64, error)
func (*DuckdbStrava) InitAndValidateSchema ¶
func (sdb *DuckdbStrava) InitAndValidateSchema() error
func (*DuckdbStrava) MergeActivities ¶
func (sdb *DuckdbStrava) MergeActivities() error
func (*DuckdbStrava) OpenDB ¶
func (sdb *DuckdbStrava) OpenDB() error
func (*DuckdbStrava) UploadActivityJson ¶
func (sdb *DuckdbStrava) UploadActivityJson(activities []util.Jsonable) error
Click to show internal directories.
Click to hide internal directories.