db

package
v0.0.0-...-602244f Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2016 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Criteria

type Criteria struct {
	Prefix    string
	Field     string
	Operation string
	Value     string
	Suffix    string
}

Criteria a single quert criteria eg. [name] [=] ["something"]

type DataSet

type DataSet interface {
	Open()
	Close()
	GetBy(key string, ids ...string) (*sql.Rows, error)
	Find(q *Query) (*sql.Rows, error)
	Query(stmt string, args ...interface{}) (*sql.Rows, error)
	Save(fieldList []FieldValue) error
	Delete(field FieldValue) error
}

DataSet abstracts a storage engine

type DatasetField

type DatasetField struct {
	Name   string
	Type   string
	Extras string
	IsID   bool
}

DatasetField a field of a dataset

type FieldValue

type FieldValue struct {
	Name  string
	Value interface{}
}

FieldValue a field mapped to a value

type Limit

type Limit struct {
	//Offset nr of record to skip
	Offset int
	// Size length of the set to return
	Size int
}

Limit the limit and offset of the query

type OrderBy

type OrderBy struct {
	Field string
	Sort  Sort
}

OrderBy sorting direction, ASC or DESC

type Query

type Query struct {
	// Criteria list of WHERE parameters
	Criteria []Criteria
	// OrderBy the order of the query
	OrderBy OrderBy
	Limit   Limit
}

Query abstracts a query to the db

type Sort

type Sort string

Sort sorting direction, ASC or DESC

const (
	//SortASC sort ascending
	SortASC Sort = "ASC"
	//SortDESC sort descending
	SortDESC Sort = "DESC"
)

type SqliteDataset

type SqliteDataset struct {
	DataSet
	// contains filtered or unexported fields
}

SqliteDataset a sqlite based dataset

func NewSqliteDataSet

func NewSqliteDataSet(tableName string, fields []DatasetField, filePath string) *SqliteDataset

NewSqliteDataSet instantiate a new sqlite dataset

func (*SqliteDataset) Close

func (d *SqliteDataset) Close()

Close close the db connection

func (*SqliteDataset) Delete

func (d *SqliteDataset) Delete(field FieldValue) error

Delete a record by id

func (*SqliteDataset) Find

func (d *SqliteDataset) Find(q *Query) (*sql.Rows, error)

Find records in the db

func (*SqliteDataset) GetBy

func (d *SqliteDataset) GetBy(key string, ids ...string) (*sql.Rows, error)

GetBy get records for a field / value match

func (*SqliteDataset) Open

func (d *SqliteDataset) Open()

Open prepare for a database connection

func (*SqliteDataset) Query

func (d *SqliteDataset) Query(stmt string, args ...interface{}) (*sql.Rows, error)

Query execute a sql statment

func (*SqliteDataset) Save

func (d *SqliteDataset) Save(fieldList []FieldValue) error

Save a record

Jump to

Keyboard shortcuts

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