Commit graph

25 commits

Author SHA1 Message Date
Travis
e53f218c49
consolidate the BaseValue code. Add tests for BaseValue ranges 2017-09-25 15:37:27 -05:00
Michael Baird
60a4ad0c52 Use the full view name in the Delete API. Will need to append the prefix: standard_, inverse_, or field_ 2017-08-25 08:11:00 -05:00
Michael Baird
ff3190e0d3 Broadcast and handle the DeleteViewMessage 2017-08-22 11:39:00 -05:00
Michael Baird
941d8a7575 DeleteView from Frame 2017-08-22 10:07:01 -05:00
Ben Johnson
800e3844f9
Set & retrieve field values.
This commit adds support for set/get field values at the
`Frame`, `View`, and `Fragment` levels.
2017-06-30 12:21:21 -06:00
Cody Soyland
85b1a73b73 Refactor test utilities into importable package.
Remove duplicate instances of test utilities from pilosa.ctl.
Now subpackages such as pilosa.ctl may import test utilities.
2017-06-23 09:10:15 -05:00
Travis
b0fa067ffc
remove the ability to start an Index, Frame, ColumnLabel, or RowLabel with a number 2017-04-29 16:49:23 -05:00
Travis
692d997cab
add labelRegexp to validate row and column labels 2017-04-29 15:01:18 -05:00
Travis
77feba689d
remove the support for . in Index and Frame names 2017-04-29 14:38:14 -05:00
Cody Soyland
3996b56b88 Apply Apache License 2.0 2017-04-28 14:22:03 -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
Ben Johnson
d34687121f
Rename bitmap/profile to row/column. 2017-04-21 21:23:24 -06:00
Travis
b0f1fc7523 Makes Messenger a first-class object under Server (with pointers in Handler and Index).
Primary message interface is the MessageBroker which is an attribute of the Messenger.
MessageBroker implementations:
- Gossip (memberlist)
- Broadcast (uses HTTP, received by existing Handler)
- Static (no-ops)

Changes CacheSize from `int` to `uint32` for consistency with protobuf.
Removes unnecessary dependencies in glide:
- `github.com/aws/aws-sdk-go`
- `golang.org/x/net` (although this gets included by memberlist)

TODO:
- [ ] Add tests around the Messenger and MessageBroker objects.
- [ ] Refactor CreateSliceMessage to work with views.
- [ ] Support propogation of meta data on PATCH calls.

fixing some issues from last rebase
2017-04-19 10:33:26 -05:00
Michael Baird
ce1e8e2e75 changed the frame cache name 2017-04-19 10:24:00 -05:00
Michael Baird
9a1a631dd4 test storing frame cache size 2017-04-19 10:22:44 -05:00
Ben Johnson
2731311378 Refactor higher level view interface. 2017-04-05 17:00:31 -06: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
Travis
3649a52c00 Change frame meta and data to .meta and .data to be consistent with the DB dot files. 2017-03-10 15:47:17 -06:00
Linh Vo
920b9d01e2 add . before meta frame 2017-03-10 15:21:54 -06:00
Linh Vo
69cfdb0df9 clean up 2017-03-02 16:06:34 -06:00
Linh Vo
5aea6095f0 add tests 2017-03-02 15:27:33 -06:00
Ben Johnson
c6e2b1294b Add time-based frames and Range() support. 2016-12-08 12:29:49 -07:00
Cody Soyland
5206461d51 Migrate from Umbel to Pilosa organization on Github 2016-11-28 15:21:11 -06:00
Ben Johnson
f0fa03da83 refactor attribute stores
This commit refactors the profile and bitmap attribute stores so
that they share the same code. There is a new `AttrStore` which
associates key/value pairs with a `uint64` identifier.

The previous JSON encoding has been fixed to use protobufs which
fixes encoding issues for int64.
2016-02-16 13:41:37 -07:00
Ben Johnson
657cc8ad4c bitmap attributes
This commit adds storage for bitmap attributes and adds
a Frame type to contain them.
2016-01-15 11:49:09 -07:00