Commit graph

105 commits

Author SHA1 Message Date
Travis
07ae881967
Add FieldNotNull for more efficient BETWEEN queries 2017-10-06 11:36:24 -05:00
Travis Turner
917f41e8eb Merge pull request #847 from travisturner/field-range-between
Implements BETWEEN for Range queries.
2017-09-27 11:14:31 -05:00
Travis
e53f218c49
consolidate the BaseValue code. Add tests for BaseValue ranges 2017-09-25 15:37:27 -05:00
Travis
2b88d278bc
Implements BETWEEN for Range queries.
The PQL looks like:
```
Range(frame=f, field0 >< [200,610])
```

One thing I noticed while implementing this is that it doesn't seem
like `FieldRange()` is used in either `Frame` or `View`; the Executor
calls `Fragment.FieldRange()` directly. The problem with this is that
the offset logic is calculated in the Frame, but since the Executor
doesn't go through Frame, then the Executor also has to calculate
the offset before calling `Fragment.FieldRange`. We should unify this
logic somewhere. Note, this applies to both `FieldRange` and
`FieldRangeBetween`.
2017-09-25 15:11:04 -05:00
Todd Gruben
c8f2982e50
micro optimization: reduce Lock calls in executor 2017-09-25 15:02:49 -05:00
Yuce Tekol
a27262b242
update 2017-09-18 16:41:13 +03:00
Yuce Tekol
92d7000571
SetColumnAttrs excludes frame attribute; resolves #792 2017-09-14 11:03:05 +03:00
Yuce Tekol
90add3f64d
Renamed SumReduce back to Sum 2017-09-13 17:07:57 +03:00
Yuce Tekol
ebee6e4deb
Renamed Sum call to SumReduce call and it returns SumCount; removed Average call 2017-09-11 14:14:37 +03:00
Ben Johnson
06fc14b209 Merge pull request #791 from benbjohnson/pql-range
Add field Range() support to Executor.
2017-08-28 08:40:51 -06:00
tgruben
8c03e7c3bb Merge pull request #789 from tgruben/xor-pql
Xor support for PQL
2017-08-25 16:27:03 -05:00
Yuce Tekol
3367c69959
merged with master 2017-08-25 23:59:40 +03:00
Ben Johnson
ad847f2c8a
Add field Range() support to Executor. 2017-08-24 13:34:57 -06:00
Todd Gruben
3235d83c9b Xor support for PQL 2017-08-23 13:12:28 -05:00
Yuce Tekol
e89ffcccbd
Renamed inhibit* to exclude* 2017-08-23 04:57:22 +03:00
Ben Johnson
562fba9de1
Sum() and Average() field queries. 2017-08-22 08:27:52 -06:00
Yuce Tekol
dec9893044
Adds suprressing attributes and bits for Bitmap queries 2017-08-22 15:18:10 +03:00
Ben Johnson
adc6296040
Add PQL support for field values.
This commit adds support in the PQL language to set field values.
2017-07-10 17:35:23 -06:00
Michael Baird
143cc14b1a Merge branch 'master' into metrics 2017-05-16 14:03:16 -05:00
Michael Baird
4a051900c0 Add sampling rate to StatsD functions, and fix data dog logging 2017-05-16 10:35:49 -05:00
Ben Johnson
0b8d935f1c
Add inverse TopN() support.
The TopN() call now supports an `inverse` boolean argument to
specify if the call should operate on the standard view or the
inverse view.
2017-05-15 10:35:48 -06:00
Michael Baird
bd44949cb5 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	config.go
	executor_test.go
	server/server.go
2017-05-09 11:31:14 -05:00
Michael Baird
bf6ed942f0 Merge pull request #8 from alanbernstein/stats
Stats
2017-05-09 11:15:23 -05:00
Ben Johnson
d4ddf3676c
Support inverse Range() queries. 2017-05-08 09:46:01 -06:00
Matthew Jaffee
0a81ce471d Merge pull request #524 from jaffee/ranked-default-2
change default cache type to ranked
2017-05-03 15:16:19 -05:00
Matt Jaffee
9fdb2e1460 differentiate error messages 2017-05-03 13:52:04 -05:00
Ben Johnson
e3d6f96657
Add max-writes-per-requests limit.
A configurable limit has been added to restrict the number of
mutating calls in a `pql.Query`. This is to prevents requests from
timing out from large queries.

The default is set to 5000 writes per request and is configurable
through the configuration file and the command line flags.
2017-05-03 08:53:20 -06:00
Michael Baird
ee159b455d Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	.gitignore
	cluster.go
	frame.go
	glide.lock
	index.go
2017-05-01 10:41:04 -05:00
Cody Soyland
3996b56b88 Apply Apache License 2.0 2017-04-28 14:22:03 -05:00
Michael Baird
35c1648c75 missing comments 2017-04-25 15:12:44 -05:00
Michael Baird
e699c55700 fixed conflicts from the db index change
Conflicts:
	cluster.go
	executor_test.go
	handler_test.go
	server.go
2017-04-25 11:47:29 -05:00
Michael Baird
a543ba21bb fixed DB to index conflicts after merge 2017-04-24 21:59:39 -05:00
Michael Baird
5a8c165c53 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	cache.go
	cluster.go
	db.go
	executor.go
	fragment.go
	frame.go
	gossip/gossip.go
	handler.go
	index.go
	server.go
	server/server.go
2017-04-24 16:35:25 -05:00
Travis
7dc06f918b
Determine if a Call is inverse or not so that the map to slices is correct. 2017-04-24 16:19:17 -05:00
Travis
1343979308
Fixes up a few overlooked d := Index() 2017-04-24 11:17:30 -05:00
Travis
2ad322c2c7
Rename DB to Index
Rename `db.go` to `index.go` and `db_test.go` to `index_test.go`
2017-04-23 21:49:27 -05:00
Travis
2cacff8e09
Rename Index to Holder
Rename `index.go` to `holder.go` and `index_test.go` to `holder_test.go`
2017-04-23 15:59:20 -05:00
Ben Johnson
d34687121f
Rename bitmap/profile to row/column. 2017-04-21 21:23:24 -06:00
Alan Bernstein
ef8892ad01 Add versioned user-agent to requests 2017-04-21 10:15:58 -05:00
Linh Vo
4f07113f65 readd stastD report with new branch 2017-04-20 21:37:31 -05:00
Travis
95a546e138 adjust tests and client to comply with the new HTTP endpoints 2017-04-18 14:19:36 -05:00
Matt Jaffee
6f443f447a add signed int support
this affects the scanner/parser and makes it produce signed ints rather than
uints, and so it affects all code that is expecting unsighed ints to come out of
the parser.
2017-04-18 12:50:26 -05:00
Ben Johnson
9cbc786376 Consolidate Bitmap() & Profile() calls.
This commit changes the executor to select a bitmap from the
standard view or the inverse view based on whether the row label
or column label is specified.
2017-04-17 13:48:56 -06:00
Ben Johnson
306cc0b64e Opt-in to inverse storage. 2017-04-12 08:34:31 -06:00
Ben Johnson
2731311378 Refactor higher level view interface. 2017-04-05 17:00:31 -06:00
Linh Vo
07ce417f55 Merge pull request #410 from linhvo/378-set-profile-attr
SetProfilesAttrs with option column
2017-03-27 10:29:07 -05:00
Ben Johnson
eff08af112 Separate physical data layout with views.
Previously, multiple frames with different prefixes were used to separate
different data layouts. This included separating standard row/column
layouts from inverted column/row layouts as well as storing aggregate
information for timestamp data.

Unfortunately, this caused frame meta data to be copied between multiple
frames and it made it difficult to keep these frames in sync.

This commit separates these different physical layouts into `Views`.
A `Frame` now has one or more views which represent each layout.
Fragments have been moved from under the `Frame` to be contained
within the `View`.

There are two primary views:

- `standard`
- `inverse`

If a frame has a time quantum, then views are generated for these
each of the standard/inverse views. For example a time quantum
of `YMDH` for the date `2000-01-02T00:00:00Z` would create the
following views:

- `standard_2000`
- `inverse_2000`
- `standard_200001`
- `inverse_200001`
- `standard_20000102`
- `inverse_20000102`

From the user's perspective, nothing should change in PQL. Different
PQL statements will handle the appropriate view automatically. For
example, `Bitmap()` and `Profile()` will fetch using the `standard`
view or the `inverse` view, respectively. The `Range()` statement
will lookup the appropriate time-based views automatically.
2017-03-24 13:57:02 -06:00
Linh Vo
292302f60b fix test 2017-03-24 13:45:00 -05:00
Linh Vo
7979b4d69b set profile attr for columnLabel 2017-03-24 12:18:59 -05:00
Linh Vo
0a4de77d38 add tanimoto option to pilosa 2017-03-10 13:45:18 -06:00