Commit Graph

296 Commits

Author SHA1 Message Date
Sascha L. Teichmann
cbc5ed0c6c Small cosmetics. 2014-09-07 11:15:14 +02:00
Sascha L. Teichmann
f83efba3cf Temporarly converting components to uint16 in interleving is not needed because we are only interested in the bit patterns which are the same as in the signed representation. 2014-09-07 11:07:49 +02:00
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