Commit Graph

494 Commits

Author SHA1 Message Date
Sascha L. Teichmann
b40eb0021c Use BigMin instead of NaiveBigMin in spatial queries of SQLite and LevelDB backend. 2014-09-07 10:51:57 +02:00
Sascha L. Teichmann
8d4f73429f Eliminated the stupid offset bug in interleaving. Hail to to the unit test. 2014-09-07 10:46:51 +02:00
Sascha L. Teichmann
45ec5ccd3e Simplified unit test for BigMin. 2014-09-07 10:12:39 +02:00
Sascha L. Teichmann
a8c2a4c55d Simplified code. Add/substract min value when interleaving. BigMin still broken. 2014-09-07 09:58:09 +02:00
Sascha L. Teichmann
6e958e4ff6 Be more clever in testing BigMin. This shows that the interleaving code has shift all values to be positive, so it's broken atm. :-/ 2014-09-07 00:18:28 +02:00
Sascha L. Teichmann
abaef4936c BigMin unit test now passes. 2014-09-06 23:34:05 +02:00
Sascha L. Teichmann
f75e1015af Some code cleanup in unit test for bit version of BigMin. Test is still failing. 2014-09-06 20:38:49 +02:00
Sascha L. Teichmann
234b487077 Made unit tests for common/coords compiling again. Fixed NaivBigMin. Added bit based BigMin + unit test, which is still failing. 2014-09-06 19:54:53 +02:00
Sascha L. Teichmann
85741f3b0e Simplified code for naiv BigMin implementation. 2014-09-01 18:44:56 +02:00
Sascha L. Teichmann
c096b8bbf1 Simplified code of non interleaved spatial query in LevelDB backend. 2014-09-01 18:39:42 +02:00
Sascha L. Teichmann
77a35e7096 Fixed endless loop bug in LevelDB interleaved spatial query. Simplified code. 2014-09-01 18:26:33 +02:00
Sascha L. Teichmann
f4baf63247 Added interleved implementation of spatial query in LevelDB backend. 2014-09-01 18:04:48 +02:00
Sascha L. Teichmann
5246a62c34 Forget to call Next() on iterator ... again. :-( 2014-09-01 16:15:16 +02:00
Sascha L. Teichmann
bebe776e54 Added plain spatial query for LevelDB backend. 2014-09-01 16:12:24 +02:00
Sascha L. Teichmann
f82216807e Improved error handling of SQLite spatial queries a bit. 2014-09-01 14:28:12 +02:00
Sascha L. Teichmann
f7a8c1fdec Added naive BigMin interleaved implementation for interleaved spatial query. 2014-09-01 13:46:23 +02:00
Sascha L. Teichmann
0021854000 Added some spatial query for plain sql backend. 2014-09-01 12:42:57 +02:00
Sascha L. Teichmann
caf2cbbcfe Introduced non standard HSPATIAL hash first second which performs a spatial query between coords first and second. TODO: Implement in backends. Write documentation. 2014-09-01 00:19:47 +02:00
Sascha L. Teichmann
3929ffc3b2 Stop leaking go routines if something with AllKeys went wrong. 2014-08-31 19:21:58 +02:00
Sascha L. Teichmann
48259f14a6 Shortened type switch a bit. 2014-08-31 19:05:43 +02:00
Sascha L. Teichmann
8a474ddd65 Uses sync.Pool to recycle some memory. Makes it 1.3. TODO: Find out if it is worth the effort. 2014-08-26 08:42:03 +02:00
Sascha L. Teichmann
d51ecc6eef Interleaver: Commit blocks in batches of 128 to speed up build a new SQLiet databases. 2014-08-24 23:47:43 +02:00
Sascha L. Teichmann
758ef7afc5 Interleaver: Advance iterator in LevelDB producer. 2014-08-24 21:19:40 +02:00
Sascha L. Teichmann
307d1aec44 interleaver: Do not share error in producer and consumer. 2014-08-24 19:40:57 +02:00
Sascha L. Teichmann
fc50897d2d interleaver: Run producer and consumer in separate go routines. 2014-08-24 19:27:16 +02:00
Sascha L. Teichmann
82be84d449 Fixed printf format strings. 2014-08-24 18:50:16 +02:00
Sascha L. Teichmann
5852766464 Mentioned the lack of docs for interleaving in TODO. 2014-08-23 19:04:36 +02:00
Sascha L. Teichmann
35130a5202 Enabled interleaving in LevelDB backend. 2014-08-23 19:00:43 +02:00
Sascha L. Teichmann
a0bdf95f95 Switcjhed cases in SQLite backend for handling interleaved and non-interleaved. 2014-08-23 18:49:14 +02:00
Sascha L. Teichmann
5094f05414 Enabaled interleaving in SQLite backend. 2014-08-23 18:05:40 +02:00
Sascha L. Teichmann
8cd23d257f Moved special code for interleaver out of common. 2014-08-23 16:01:57 +02:00
Sascha L. Teichmann
954cc1928b Added transcoders for interleaved LevelDB backend. 2014-08-23 13:49:45 +02:00
Sascha L. Teichmann
712708f87c Added transcoder functions to LevelDB backend. 2014-08-22 22:26:03 +02:00
Sascha L. Teichmann
24b9236e41 Made key encoder/decoder variable in SQLite backend. TODO: Do the same in LevelDB backend. 2014-08-22 21:54:22 +02:00
Sascha L. Teichmann
83c160eb90 Added encoder/decoder useful in interleved SQLite backend. 2014-08-21 22:19:42 +02:00
Sascha L. Teichmann
b393712801 Completed implementation of interleaver. Needs testing! 2014-08-21 14:46:34 +02:00
Sascha L. Teichmann
cfb6edcd29 Added block consumer for SQLite3 in interleaver. 2014-08-20 21:05:36 +02:00
Sascha L. Teichmann
87b34d123e Added block producer for LevelDB in interleaver. 2014-08-20 16:21:44 +02:00
Sascha L. Teichmann
8f4a558234 Do not pass Block structs around only pointers. 2014-08-20 15:34:20 +02:00
Sascha L. Teichmann
02ada38090 Added block consumer for LevelDB in interleaver. 2014-08-20 15:26:31 +02:00
Sascha L. Teichmann
74551198fa Use errors.New instead of fmt.Errorf to create NoMoreBlocksErr in interleaver. 2014-08-19 12:27:42 +02:00
Sascha L. Teichmann
0b96dda52c go fmt'ed. 2014-08-19 12:23:33 +02:00
Sascha L. Teichmann
c14e7c3dd0 Added first stubs of SQLite producer for interleaver. 2014-08-19 12:07:57 +02:00
Sascha L. Teichmann
8eca3a6e45 Added interfaces for upcoming interleaver. 2014-08-19 11:14:14 +02:00
Sascha L. Teichmann
c84feab792 Added copyright header and more test cases for key encoder/decoder. 2014-08-19 11:12:35 +02:00
Sascha L. Teichmann
37eb407572 Use a type block for backend interfaces. 2014-08-19 11:11:41 +02:00
Sascha L. Teichmann
efe6c6abb8 Introduce struct type Coord to reduce tuples passing around. 2014-08-18 21:33:58 +02:00
Sascha L. Teichmann
066675896d Dont rely on compiler smartness to replace / and % by shifting and masking. Make use of constants more consistence. 2014-08-18 19:58:10 +02:00
Sascha L. Teichmann
ff14b83b1e Made encode/decode api more symmetric. Added some unit test for the encoders/decoders. 2014-08-18 18:01:34 +02:00
Sascha L. Teichmann
a210207f8e Added more functions for treating coordinates. 2014-08-18 16:29:17 +02:00