Documentation
¶
Index ¶
- Variables
- type Adapter
- type PostgresAdapter
- func (adapter *PostgresAdapter) Close() error
- func (adapter *PostgresAdapter) CopyInsert(ents []interface{}) error
- func (adapter *PostgresAdapter) Create() error
- func (adapter *PostgresAdapter) DBX() sqlx.Ext
- func (adapter *PostgresAdapter) Find(dest interface{}, args ...interface{}) error
- func (adapter *PostgresAdapter) Get(dest interface{}, qstr string, args ...interface{}) error
- func (adapter *PostgresAdapter) Insert(ent interface{}) (int, error)
- func (adapter *PostgresAdapter) MultiInsert(ents []interface{}) ([]int, error)
- func (adapter *PostgresAdapter) Open() error
- func (adapter *PostgresAdapter) Select(dest interface{}, qstr string, args ...interface{}) error
- func (adapter *PostgresAdapter) Sqrl() sq.StatementBuilderType
- func (adapter *PostgresAdapter) Tx(cb func(Adapter) error) error
- func (adapter *PostgresAdapter) Update(ent interface{}, columns ...string) error
- type QueryLogger
- func (p *QueryLogger) Beginx() (*sqlx.Tx, error)
- func (p *QueryLogger) Exec(query string, args ...interface{}) (sql.Result, error)
- func (p *QueryLogger) Query(query string, args ...interface{}) (*sql.Rows, error)
- func (p *QueryLogger) QueryRow(query string, args ...interface{}) *sql.Row
- func (p *QueryLogger) QueryRowx(query string, args ...interface{}) *sqlx.Row
- func (p *QueryLogger) Queryx(query string, args ...interface{}) (*sqlx.Rows, error)
- type Reader
- func (reader *Reader) Agencies() chan tl.Agency
- func (reader *Reader) CalendarDates() chan tl.CalendarDate
- func (reader *Reader) Calendars() chan tl.Calendar
- func (reader *Reader) Close() error
- func (reader *Reader) FareAttributes() chan tl.FareAttribute
- func (reader *Reader) FareRules() chan tl.FareRule
- func (reader *Reader) FeedInfos() chan tl.FeedInfo
- func (reader *Reader) Frequencies() chan tl.Frequency
- func (reader *Reader) Levels() chan tl.Level
- func (reader *Reader) Open() error
- func (reader *Reader) Pathways() chan tl.Pathway
- func (reader *Reader) ReadEntities(c interface{}) error
- func (reader *Reader) Routes() chan tl.Route
- func (reader *Reader) Shapes() chan tl.Shape
- func (reader *Reader) StopTimes() chan tl.StopTime
- func (reader *Reader) StopTimesByTripID(tripIDs ...string) chan []tl.StopTime
- func (reader *Reader) Stops() chan tl.Stop
- func (reader *Reader) Transfers() chan tl.Transfer
- func (reader *Reader) Trips() chan tl.Trip
- func (reader *Reader) ValidateStructure() []error
- func (reader *Reader) Where() sq.SelectBuilder
- type SQLiteAdapter
- func (adapter *SQLiteAdapter) Close() error
- func (adapter *SQLiteAdapter) CopyInsert(ents []interface{}) error
- func (adapter *SQLiteAdapter) Create() error
- func (adapter *SQLiteAdapter) DBX() sqlx.Ext
- func (adapter *SQLiteAdapter) Find(dest interface{}, args ...interface{}) error
- func (adapter *SQLiteAdapter) Get(dest interface{}, qstr string, args ...interface{}) error
- func (adapter *SQLiteAdapter) Insert(ent interface{}) (int, error)
- func (adapter *SQLiteAdapter) MultiInsert(ents []interface{}) ([]int, error)
- func (adapter *SQLiteAdapter) Open() error
- func (adapter *SQLiteAdapter) Select(dest interface{}, qstr string, args ...interface{}) error
- func (adapter *SQLiteAdapter) Sqrl() sq.StatementBuilderType
- func (adapter *SQLiteAdapter) Tx(cb func(Adapter) error) error
- func (adapter *SQLiteAdapter) Update(ent interface{}, columns ...string) error
- type Writer
- func (writer *Writer) AddEntities(ents []tl.Entity) ([]string, error)
- func (writer *Writer) AddEntity(ent tl.Entity) (string, error)
- func (writer *Writer) Close() error
- func (writer *Writer) Create() error
- func (writer *Writer) CreateFeedVersion(reader tl.Reader) (int, error)
- func (writer *Writer) Delete() error
- func (writer *Writer) NewReader() (tl.Reader, error)
- func (writer *Writer) Open() error
Constants ¶
This section is empty.
Variables ¶
var MapperCache = tags.NewCache(reflectx.NewMapperFunc("db", tags.ToSnakeCase))
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter interface { Open() error Close() error Create() error DBX() sqlx.Ext Tx(func(Adapter) error) error Sqrl() sq.StatementBuilderType Insert(interface{}) (int, error) Update(interface{}, ...string) error Find(interface{}, ...interface{}) error Get(interface{}, string, ...interface{}) error Select(interface{}, string, ...interface{}) error MultiInsert([]interface{}) ([]int, error) CopyInsert([]interface{}) error }
Adapter provides an interface for connecting to various kinds of database backends.
type PostgresAdapter ¶
type PostgresAdapter struct { DBURL string // contains filtered or unexported fields }
PostgresAdapter connects to a Postgres/PostGIS database.
func (*PostgresAdapter) CopyInsert ¶ added in v0.7.1
func (adapter *PostgresAdapter) CopyInsert(ents []interface{}) error
CopyInsert inserts data using COPY.
func (*PostgresAdapter) Create ¶
func (adapter *PostgresAdapter) Create() error
Create an initial database schema.
func (*PostgresAdapter) Find ¶
func (adapter *PostgresAdapter) Find(dest interface{}, args ...interface{}) error
Find finds a single entity based on the EntityID()
func (*PostgresAdapter) Get ¶
func (adapter *PostgresAdapter) Get(dest interface{}, qstr string, args ...interface{}) error
Get wraps sqlx.Get
func (*PostgresAdapter) Insert ¶
func (adapter *PostgresAdapter) Insert(ent interface{}) (int, error)
Insert builds and executes an insert statement for the given entity.
func (*PostgresAdapter) MultiInsert ¶
func (adapter *PostgresAdapter) MultiInsert(ents []interface{}) ([]int, error)
MultiInsert builds and executes a multi-insert statement for the given entities.
func (*PostgresAdapter) Select ¶
func (adapter *PostgresAdapter) Select(dest interface{}, qstr string, args ...interface{}) error
Select wraps sqlx.Select
func (*PostgresAdapter) Sqrl ¶
func (adapter *PostgresAdapter) Sqrl() sq.StatementBuilderType
Sqrl returns a properly configured Squirrel StatementBuilder.
func (*PostgresAdapter) Tx ¶
func (adapter *PostgresAdapter) Tx(cb func(Adapter) error) error
Tx runs a callback inside a transaction.
func (*PostgresAdapter) Update ¶
func (adapter *PostgresAdapter) Update(ent interface{}, columns ...string) error
Update a single entity.
type QueryLogger ¶ added in v0.7.2
type QueryLogger struct {
// contains filtered or unexported fields
}
QueryLogger wraps sql/sqlx methods with loggers.
func NewQueryLogger ¶ added in v0.7.2
func NewQueryLogger(db *sqlx.DB) *QueryLogger
NewQueryLogger returns the db wrapped into a QueryLogger.
func (*QueryLogger) Beginx ¶ added in v0.7.2
func (p *QueryLogger) Beginx() (*sqlx.Tx, error)
Beginx .
func (*QueryLogger) Exec ¶ added in v0.7.2
func (p *QueryLogger) Exec(query string, args ...interface{}) (sql.Result, error)
Exec .
func (*QueryLogger) Query ¶ added in v0.7.2
func (p *QueryLogger) Query(query string, args ...interface{}) (*sql.Rows, error)
Query .
func (*QueryLogger) QueryRow ¶ added in v0.7.2
func (p *QueryLogger) QueryRow(query string, args ...interface{}) *sql.Row
QueryRow .
type Reader ¶
Reader reads from a database.
func (*Reader) CalendarDates ¶
func (reader *Reader) CalendarDates() chan tl.CalendarDate
CalendarDates sends CalendarDates.
func (*Reader) FareAttributes ¶
func (reader *Reader) FareAttributes() chan tl.FareAttribute
FareAttributes sends FareAttributes.
func (*Reader) Frequencies ¶
Frequencies sends Frequencies.
func (*Reader) ReadEntities ¶
ReadEntities provides a generic interface for reading entities.
func (*Reader) StopTimesByTripID ¶
StopTimesByTripID sends StopTimes grouped by TripID. Each group is sorted by stop_sequence.
func (*Reader) ValidateStructure ¶
ValidateStructure returns if all the necessary tables are present. Not implemented.
func (*Reader) Where ¶
func (reader *Reader) Where() sq.SelectBuilder
Where returns a select builder with feed_version_id set
type SQLiteAdapter ¶
type SQLiteAdapter struct { DBURL string // contains filtered or unexported fields }
SQLiteAdapter provides support for SQLite.
func (*SQLiteAdapter) CopyInsert ¶ added in v0.7.1
func (adapter *SQLiteAdapter) CopyInsert(ents []interface{}) error
CopyInsert uses MultiInsert.
func (*SQLiteAdapter) Create ¶
func (adapter *SQLiteAdapter) Create() error
Create the database if necessary.
func (*SQLiteAdapter) DBX ¶
func (adapter *SQLiteAdapter) DBX() sqlx.Ext
DBX returns the underlying Sqlx DB or Tx.
func (*SQLiteAdapter) Find ¶
func (adapter *SQLiteAdapter) Find(dest interface{}, args ...interface{}) error
Find finds a single entity based on the EntityID()
func (*SQLiteAdapter) Get ¶
func (adapter *SQLiteAdapter) Get(dest interface{}, qstr string, args ...interface{}) error
Get wraps sqlx.Get
func (*SQLiteAdapter) Insert ¶
func (adapter *SQLiteAdapter) Insert(ent interface{}) (int, error)
Insert builds and executes an insert statement for the given entity.
func (*SQLiteAdapter) MultiInsert ¶ added in v0.7.1
func (adapter *SQLiteAdapter) MultiInsert(ents []interface{}) ([]int, error)
MultiInsert inserts multiple entities.
func (*SQLiteAdapter) Select ¶
func (adapter *SQLiteAdapter) Select(dest interface{}, qstr string, args ...interface{}) error
Select wraps sqlx.Select
func (*SQLiteAdapter) Sqrl ¶
func (adapter *SQLiteAdapter) Sqrl() sq.StatementBuilderType
Sqrl returns a properly configured Squirrel StatementBuilder.
func (*SQLiteAdapter) Tx ¶
func (adapter *SQLiteAdapter) Tx(cb func(Adapter) error) error
Tx runs a callback inside a transaction.
func (*SQLiteAdapter) Update ¶
func (adapter *SQLiteAdapter) Update(ent interface{}, columns ...string) error
Update a single record.
type Writer ¶
Writer takes a Reader and saves it to a database.
func MustGetWriter ¶ added in v0.8.0
MustGetWriter opens & creates a db writer, panic on failure
func (*Writer) AddEntities ¶
AddEntities writes entities to the database.
func (*Writer) CreateFeedVersion ¶
CreateFeedVersion creates a new FeedVersion and inserts into the database.