4a50dd015e
Merge branch 'python-intervals'
2013-03-15 21:39:11 -04:00
22274550ab
Test python version of Interval too
2013-03-15 21:37:03 -04:00
4f06d6ae68
Move Interval set_difference inside nilmdb.utils for clients
...
Clients might need to to Interval math too, so move a simple Interval
class and start putting helpers in there.
2013-03-15 21:37:03 -04:00
c54d8041c3
Update design docs
2013-03-15 21:07:01 -04:00
52ae397d7d
Bump database version to 3, reject old version 2 due to timestamp changes
2013-03-15 18:37:38 -04:00
d05b6f6348
Merge branch 'rocket-cleanup'
2013-03-15 18:08:36 -04:00
049375d30e
Fill out test coverage
2013-03-15 18:08:21 -04:00
88eb0123f5
Add test for Table.__getitem__ indexing
2013-03-15 18:08:21 -04:00
a547ddbbba
Change table.get_timestamp to table.__getitem__
...
This lets us use simple indexing to get timestamps from the table,
which allows us to use 'bisect' directly without needing a proxy class.
2013-03-15 18:08:21 -04:00
28e72fd53e
Remove Table.__getitem__; used only by tests
2013-03-15 18:08:21 -04:00
f63107b334
Add rocket.extract_timestamp to speed up bisections
2013-03-15 18:08:21 -04:00
955d7aa871
Remove floating port time support from nilmdb.utils.time
2013-03-15 18:08:21 -04:00
b8d2cf1b78
Consolidate rocket._extract_handle.params with extract_string
2013-03-15 18:08:21 -04:00
7c465730de
Remove rocket.extract_pyobject
2013-03-15 18:08:21 -04:00
aca130272d
Remove rocket.extract_list
2013-03-15 18:08:21 -04:00
76e5e9883f
Remove Table.append, rocket.append_iter
2013-03-15 18:08:20 -04:00
fb4f4519ff
Clean up and simplify Table.get_*, including __getitem__
2013-03-15 18:08:20 -04:00
30328714a7
Remove python implementation of rocket
2013-03-15 18:08:20 -04:00
759466de4a
Merge branch 'timestamp-integers'
2013-03-15 18:07:51 -04:00
d3efb829b5
Try to parse timestamps as double, if int64 parse fails
2013-03-15 15:19:41 -04:00
90b96799ac
Bulk of the switch to int64 microsecond timestamps, including test data.
2013-03-15 15:08:58 -04:00
56679ad770
Move more datetime_tz calls into common code
2013-03-15 15:08:58 -04:00
b5541722c2
Continue moving time-handling code into nilmdb.utils.time
2013-03-15 15:08:58 -04:00
aaea105861
Consolidate most timestamp <-> string conversions (outside of rocket)
2013-03-15 15:08:57 -04:00
e6a081d639
Consolidate timestamp constants into nilmdb.utils.time
2013-03-15 15:08:57 -04:00
1835d03412
Bump bulkdata database version to 3
2013-03-15 15:08:57 -04:00
c7a712d8d8
Partial test for rounding issues
2013-03-15 15:08:57 -04:00
20d315b4f7
Add documentation about upcoming timestamp changes
2013-03-15 15:08:57 -04:00
a44a5e3135
Merge branch 'argcomplete'
2013-03-15 15:08:42 -04:00
039b2a0557
Include nilmtool-bash-completion.sh script in .tar.gz
2013-03-15 15:08:28 -04:00
cd1dfe7dcd
Add completion functions to most commandline arguments
2013-03-15 14:26:38 -04:00
fb35517dfa
Add basic argument completion
2013-03-15 13:57:35 -04:00
b9f0b35bbe
Stream renaming support, and comprehensive tests
...
Implemented in command line, client, server, nilmdb, bulkdata
2013-03-14 11:02:30 -04:00
b1b09f8cd0
Strengthen checks when creating paths, fix some bugs, and add tests
2013-03-13 17:45:47 -04:00
d467df7980
Add specific error for creating a path that already exists
2013-03-13 10:14:28 -04:00
09bc7eb48c
Make StreamInserter.insert complain if data remains after send
...
Previously, we ignored problems when sending intermediate blocks,
since getting more data might make the next attempt succeed.
But in practice, malformed data would just build up, causing
problems. Raise an exception if there's too much data remaining
after trying to send an intermediate block.
2013-03-12 18:45:56 -04:00
b77f07a4cd
Fix reporting of parsing errors with malformed data
...
strtod() and friends will happily swallow newlines, so we need to skip
over spaces and look for that sort of thing manually.
2013-03-12 16:44:36 -04:00
59f0076306
Increase max layout count in rocket
2013-03-12 16:10:29 -04:00
83bc5bc775
Make rocket/bulkdata errors include column number and the bad data
...
The bad line is printed out on a new line, and a third line
with a ^ to indicate the position of the error.
2013-03-12 16:10:00 -04:00
6b1dfec828
In stream_list, return 0 instead of None for rows and seconds
...
For rows and seconds only. Extents still give None if they don't
exist.
2013-03-11 19:37:52 -04:00
d827f41fa5
Fix Makefile omission
2013-03-11 17:42:02 -04:00
7eca587fdf
Add 'nilmtool intervals' command, with --diff option
...
Can show the set-difference between the interval ranges in two
streams.
2013-03-11 17:07:26 -04:00
a351bc1b10
Add client, server, nilmdb support for listing interval differences
2013-03-11 17:07:08 -04:00
1d61d61a81
Add interval.set_difference function and associated tests
2013-03-11 15:40:50 -04:00
755255030b
Clean up interval __and__ function; we don't need to __and__ sets
2013-03-11 15:15:43 -04:00
8e79998e95
Tune sqlite to use write-ahead-logging
...
Enable the following pragmas: synchronous=NORMAL, journal_mode=WAL.
This offers a significant speedup to INSERT times compared to
synchronous=FULL, and is roughly the same as synchronous=OFF
but should be a bit safer.
2013-03-11 15:13:43 -04:00
9f914598c2
Make /stream/list give some more extended info, like row count
...
Also changes the HTTP parameter from "extent" to "extended",
and the commandline parameter from "extent" to "ext".
2013-03-11 15:13:43 -04:00
0468b04538
Fix pyrocket to handle comments better
2013-03-11 15:13:43 -04:00
232a3876c2
Clean up imports to separate client and server more.
...
"import nilmdb" doesn't do much; "import nilmdb.client" or "import
nilmdb.server" is now required.
2013-03-11 15:13:42 -04:00
1c27dd72d6
Fill out client tests and fix various bugs
...
Fixes various corner cases and other bugs regarding lines with
comments, having data but no endpoints, etc.
2013-03-08 12:36:17 -05:00