Jim Paris
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.
10 years ago
Jim Paris
de5e474001
Update benchmarks in design.md
10 years ago
Jim Paris
0fc092779d
Big rework of stream_insert_context and places that use it.
Things are now block-focused, rather than line-focused. This should
give a pretty big speedup to inserting client data, especially when
inserting preformatted data.
10 years ago
Jim Paris
7abfdfbf3e
Add const qualifier to strings we get from Python
10 years ago
Jim Paris
92724d10ba
Rework 'nilmtool insert' and some client stuff to speed up inserting data
Still needs work.
10 years ago
Jim Paris
1d7acbf916
Remove null timestamper, speed up insert --none a tiny bit
10 years ago
Jim Paris
ea3ea487bc
Merge branch 'rocket-insert'
Conflicts:
nilmdb/server/bulkdata.py
nilmdb/server/server.py
nilmdb/utils/__init__.py
10 years ago
Jim Paris
69ad8c4842
Merge branch 'rocket'
10 years ago
Jim Paris
0047e0360a
Implement Rocket.append_string() in C; misc cleanups along the way
This should more or less complete the rocket interface.
10 years ago
Jim Paris
1ac6abdad0
Fix rocket.ParseError exception handling
Before, a tuple was crammed into args[0]. Now, the three arguments are
args[0:2].
10 years ago
Jim Paris
65f09f793c
When re-raising exceptions in the server, preserve original tracebacks
10 years ago
Jim Paris
84e21ff467
Move ASCII data parsing from the server to the rocket interface.
The server buffers the string and passes it to nilmdb. Nilmdb passes
the string to bulkdata. Bulkdata uses the rocket interface to parse
it in chunks, as necessary. Everything gets passed back up and
everyone is happy.
Currently, only pyrocket implements append_string.
10 years ago
Jim Paris
11b228f77a
Convert times to microsecond precision strings more consistently.
Use a new helper, nilmdb.utils.time.float_to_time_string().
This will help if we ever want to change representation (like using
uint64 microseconds since epoch, which saves us from having to
waste bits on the floating-point exponent)
10 years ago
Jim Paris
7860a6aefb
Make helper for removing or truncating a file; use it
10 years ago
Jim Paris
454e561d69
Verify that metadata values are numbers or strings
10 years ago
Jim Paris
fe91ff59a3
Better handling of JSON requests
10 years ago
Jim Paris
64c24a00d6
Add --traceback argument to nilmdb-server script
10 years ago
Jim Paris
58c0ae72f6
Support application/json POST bodies as well as x-www-form-urlencoded
10 years ago
Jim Paris
c5f079f61f
When removing data from files, try to punch a hole.
Requires fallocate(2) support with FALLOC_FL_PUNCH_HOLE, as
well as a filesystem that supports it (in Linux 3.7,
tmpfs, btrfs, xfs, or ext4)
10 years ago
Jim Paris
16f23f4a91
Fill out pyrocket.py to fit new interfaces; fix small bugs
10 years ago
Jim Paris
b0f12d55dd
Fully replace bulkdata.File with rocket.Rocket
10 years ago
Jim Paris
8a648c1b97
Move towards replacing bulkdata.File with rocket.Rocket
There isn't much left in File, so let's move as much as possible
over to C.
10 years ago
Jim Paris
2d45466f66
Print version at server startup
10 years ago
Jim Paris
c6a0e6e96f
More complete CORS handling, including preflight requests (hopefully)
10 years ago
Jim Paris
79755dc624
Fix Allow: header by switching to cherrypy's built in tools.allow().
Replaces custom tools.allow_methods which didn't return the Allow: header.
10 years ago
Jim Paris
f260f2c83d
Remove unnecessary layout argument to nilmdb.stream_extract
10 years ago
Jim Paris
14402005bf
Remove extraneous flush
10 years ago
Jim Paris
0d372fb878
Modify old formatter to match rocket's formatting style
10 years ago
Jim Paris
5eac924118
Ignore built modules
10 years ago
Jim Paris
0b75da7a8f
Normalize the floating point formats to %.6e and %.16e
This is mostly a matter of taste, but it matches more closely with the
old way that prep did it, and it's more consistent. It should roughly
match the available precision of floats and doubles.
10 years ago
Jim Paris
2dfc94b566
Remove old code
10 years ago
Jim Paris
e318888a06
Finish Rocket.extract_string; clean up code for other functions too
This is maybe 2.5-3 times faster than the list-based code, which
still isn't amazing, but is decent.
10 years ago
Jim Paris
7c95934cc2
Add rocket.extract_list; still not as complete as pyrocket
10 years ago
Jim Paris
96df9d8323
Starting the C version of rocket
Currently, only append_list is written (and hardly tested)
10 years ago
Jim Paris
31e2c7c8b4
Add some notes about rocket interface to design.md
10 years ago
Jim Paris
2a725ee13f
Add version 1 database format backwards compatibility
10 years ago
Jim Paris
eb8037ee3c
Add a description for the rocket interface
10 years ago
Jim Paris
fadb84d703
Move ascii formatting into nilmdb thread via rocket interface
10 years ago
Jim Paris
9d0d2415be
Test bulkdata a little more carefully
10 years ago
Jim Paris
130dae0734
Add extract_string to pyrocket
10 years ago
Jim Paris
402234dfc3
Better layout handling in pyrocket
10 years ago
Jim Paris
4406d51a98
First pass at Python implementation of rocket
10 years ago
Jim Paris
9b6de6ecb7
Replace old layout strings everywhere
10 years ago
Jim Paris
c512631184
bulkdata: Build up rows and write to disk all at once
10 years ago
Jim Paris
19d27c31bc
Fix streaming requests like stream_extract
10 years ago
Jim Paris
28310fe886
Add test for extents
10 years ago
Jim Paris
1ccc2bce7e
Add commandline support for listing extents
10 years ago
Jim Paris
00237e30b2
Add "extent" option to stream_list in client, server, and nilmdb
10 years ago
Jim Paris
521ff88f7c
Support 'nilmtool help command' just like 'nilmtool command --help'
10 years ago
Jim Paris
64897a1dd1
Change port from 12380 -> 32180 when running tests
This is so tests can be run without interfering with a normal server.
10 years ago