parser

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2013 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ZERO_TIME = time.Unix(0, 0)
)

Functions

func GetStringArray

func GetStringArray(array *C.array) []string

Types

type BoolExpression

type BoolExpression struct {
	Left      *Expression
	Operation string
	Right     *Expression
}

func GetBoolExpression

func GetBoolExpression(expr *C.bool_expression) (*BoolExpression, error)

type Expression

type Expression struct {
	Left      interface{}
	Operation byte
	Right     *Expression
}

func GetExpression

func GetExpression(expr *C.expression) (*Expression, error)

func (*Expression) GetLeftExpression

func (self *Expression) GetLeftExpression() (*Expression, bool)

func (*Expression) GetLeftValue

func (self *Expression) GetLeftValue() (*Value, bool)

type From

type From struct {
	TableName string
}

type GroupByClause

type GroupByClause []*Value

func (GroupByClause) GetGroupByTime

func (self GroupByClause) GetGroupByTime() (*time.Duration, error)

type Operation

type Operation int

type Query

type Query struct {
	ColumnNames []*Value
	FromClause  *Value
	Condition   *WhereCondition

	Limit     int
	Ascending bool
	// contains filtered or unexported fields
}

func ParseQuery

func ParseQuery(query string) (*Query, error)

func (*Query) GetColumnNames

func (self *Query) GetColumnNames() []*Value

func (*Query) GetEndTime

func (self *Query) GetEndTime() time.Time

Returns the start time of the query. Queries can only have one condition of the form time > start_time

func (*Query) GetFromClause

func (self *Query) GetFromClause() *Value

func (*Query) GetGroupByClause

func (self *Query) GetGroupByClause() GroupByClause

func (*Query) GetReferencedColumns

func (self *Query) GetReferencedColumns() map[*Value][]string

Returns a mapping from the time series names (or regex) to the column names that are references

func (*Query) GetStartTime

func (self *Query) GetStartTime() time.Time

Returns the start time of the query. Queries can only have one condition of the form time > start_time

func (*Query) GetWhereCondition

func (self *Query) GetWhereCondition() *WhereCondition

type Value

type Value struct {
	Name              string
	Type              ValueType
	IsCaseInsensitive bool
	Elems             []*Value
	// contains filtered or unexported fields
}

func GetValue

func GetValue(value *C.value) (*Value, error)

func GetValueArray

func GetValueArray(array *C.value_array) ([]*Value, error)

func (*Value) GetCompiledRegex

func (self *Value) GetCompiledRegex() (*regexp.Regexp, bool)

func (*Value) IsFunctionCall

func (self *Value) IsFunctionCall() bool

type ValueType

type ValueType int
const (
	ValueRegex        ValueType = C.VALUE_REGEX
	ValueInt          ValueType = C.VALUE_INT
	ValueFloat        ValueType = C.VALUE_FLOAT
	ValueString       ValueType = C.VALUE_STRING
	ValueTableName    ValueType = C.VALUE_TABLE_NAME
	ValueSimpleName   ValueType = C.VALUE_SIMPLE_NAME
	ValueDuration     ValueType = C.VALUE_DURATION
	ValueWildcard     ValueType = C.VALUE_WILDCARD
	ValueFunctionCall ValueType = C.VALUE_FUNCTION_CALL
)

type WhereCondition

type WhereCondition struct {
	Left      interface{}
	Operation string
	Right     *WhereCondition
	// contains filtered or unexported fields
}

func GetWhereCondition

func GetWhereCondition(condition *C.condition) (*WhereCondition, error)

func (*WhereCondition) GetBoolExpression

func (self *WhereCondition) GetBoolExpression() (*BoolExpression, bool)

func (*WhereCondition) GetLeftWhereCondition

func (self *WhereCondition) GetLeftWhereCondition() (*WhereCondition, bool)

Jump to

Keyboard shortcuts

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