Commit Graph

541 Commits

Author SHA1 Message Date
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
Sascha L. Teichmann da5c70b55b Use strconv.FormatInt() directly to convert key to string w/o using expensive fmt.Sprintf(). 2014-08-17 12:08:26 +02:00
Sascha L. Teichmann 6efb976ba2 Fixed HKEYS command for SQLite3 backend. 2014-08-16 17:41:54 +02:00
Sascha L. Teichmann b6c041b896 Moved coords in separate module. 2014-08-16 16:06:42 +02:00