Commit Graph

280 Commits

Author SHA1 Message Date
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
Sascha L. Teichmann
120531ed78 LevelDB backend: Recycle iterator in all keys fetch. 2014-08-11 17:07:23 +02:00
Sascha L. Teichmann
ecf00b45f5 Added tag 0.3 for changeset f1f4e58c816d 2014-08-11 16:19:14 +02:00
Sascha L. Teichmann
5d1ffa39a8 version: 0.3 2014-08-11 16:19:08 +02:00
Sascha L. Teichmann
d96d352db8 Sqlite backend: Unlock the mutex in Allkeys correctly. 2014-08-11 15:47:20 +02:00
Sascha L. Teichmann
d54af34288 LevelDB: Seeked to start to get all the keys in HKEYS command. 2014-08-11 15:13:18 +02:00
Sascha L. Teichmann
d321d1888b Added experimental support for HKEYS to make minetestmapper happy. 2014-08-11 14:56:01 +02:00
Sascha L. Teichmann
720a6f497c Added tag 0.2 for changeset 55265226a98d 2014-08-08 15:13:38 +02:00
Sascha L. Teichmann
9058c5fc56 version: 0.2 2014-08-08 15:13:33 +02:00
Sascha L. Teichmann
829f251700 Limit length of bulk string to 4MB. That should really be enough for a Minetest block. 2014-08-08 15:12:30 +02:00
Sascha L. Teichmann
8dba5f5f3b Removed obsolete coord to bytes transformation. Added TODO. 2014-08-08 15:04:53 +02:00
Sascha L. Teichmann
d2e9984529 Recieve larger bulk strings than 4k from redis client. 2014-08-08 13:45:24 +02:00