Add flags for millisecond support to Const.java
Add MS_FLAG_BITS to Const.java

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Copy the Cell class from CompactionQueue to Internal.java
Copy the qualifier and value repair methods from CompactionQueue to
Internal.java
Copy CompactionQueue.breakDownValues() to Internal so it can be used by
multiple classes, renamed to extractDataPoints
Add a number of millisecond helpers to Internal to deal with parsing
second and millisecond qualifiers

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add TestInternal unit tests for the Internal class methods

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Move concat() from TestCompactionQueue to MockBase for shared use

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Remove methods from CompactionQueue that now live in Internal
Modify CompactionQueue to use the Internal methods for millisecond support
Modify compaction code to support millisecond timestamps
Add millisecond CompactionQueue unit tests

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify RowSeq to support millisecond timestamps
Add a bunch of documentation to RowSeq methods
Temporarily disable optimization in Span to add columns to the last RowSeq

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add unit tests for the RowSeq class

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify Span with millisecond support
Modify Span.addRow() to accept data rows out of order since async queries
may do this. It will look for RowSeqs that match the data and merge the
set with a found RowSeq. Otherwise it adds a new RowSeq. Upon calling any
method to get data out of the span, it will sort the rows.

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add Span unit tests

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify SpanGroup to support millisecond timestamps

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify TsdbQuery.java to support millisecond timestamps
Add some method documentation to TsdbQuery.java

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify DateTime class with millisecond parsing support

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify TSDB.addPointInternal to support millisecond timestamps

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add unit tests to TestTsdbQuery for millisecond support

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Update TSQuery and TSSubQuery unit tests for millisecond support

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add ms_resolution flag to TSQuery
Modify TSQuery to downsample a request to 1 second unless the ms flag
has been set.
Also modify TSQuery to accept queries in milliseconds

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify DumpSeries to support millisecond timestamps

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify Fsck to support millisecond timestamps

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Add Fsck unit tests

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>
Modify GraphHandler to output data points in seconds as it currently does on the
/q endpoint. Millisecond support will only be on /api/query
Modify GraphHandler to automatically downsample on 1s if not explicitly set by
the caller

Signed-off-by: Chris Larsen <clarsen@euphoriaaudio.com>