1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2024-11-25 00:53:43 +00:00
Commit graph

340 commits

Author SHA1 Message Date
53a42fa7c0 Add bin tag to lexical_cast.
This also fixes a subtle bug: the size passed to MaxSizedArray in
int_to_string() was calculated on the max value of type F, but when
F was a signed type the max would only be for example 31 bits.
Conversion of negative numbers would then fail with an assertion.
2016-06-15 23:04:46 +01:00
691bdd1d1e Use new custom lexical_cast instead of the one from boost. 2016-06-15 22:38:25 +01:00
f9387114bf Implement handling of signed types and fix some build errors. 2016-06-15 20:48:05 +01:00
2c5030f929 Add dedicated tests for lexical_cast and fix failures I found. 2016-06-15 17:27:32 +01:00
7ae8b95599 Rename casts.hpp to lexical_cast.hpp 2016-06-15 15:05:25 +01:00
4b30fabbe4 New string_to_tiger function.
Comes with unit test that indirectly also tests the
previously added lexical_cast.
2016-06-15 14:57:52 +01:00
7db82f83d9 Add custom lexical_cast function that can handle hex values and string_ref.
Negative values are not supported.
2016-06-15 14:54:24 +01:00
9491f2eb47 Move sequence_bt and string_bt into helpers.
They are useful in the Redis backend and in helpers itself.
People wanting to use pq alone from this project will have to cope and
search for all the needed files.
2016-06-15 14:53:07 +01:00
874783e8da Add support for the MATCH and COUNT options for the SCAN commands. 2016-06-14 19:11:13 +01:00
423effa6cb Set client name in Redis to dindexer_v0.1.5 2016-06-14 19:10:10 +01:00
2a696aa62a Allow users to selectively build backends.
Pass -DDINDEXER_ENABLED_BACKENDS="list,of,backends" to cmake to tell
which backends you want to be built. Currently available backends are
postgresql and redis. Default is postgresql.
Allowed strings in the comma separated list above are the names of the
directories in src/backends.
2016-06-14 11:03:31 +01:00
a5d5ee5af5 Also return content_type. 2016-06-14 10:41:38 +01:00
549ab7b16a Write implementation for search_file_by_hash().
Note that the postgresql backend does something like
"select blah... where hash=$1 limit 1", so it only returns one match.
The SRANDMEMBER used in this implementation also returns one match,
but it's not deterministic I suppose.
2016-06-14 10:39:42 +01:00
9ef9b05014 Move variant types enum out of implem namespace.
Also assert that you can get the type you are trying to get before
actually trying.
2016-06-14 09:37:57 +01:00
ab43215f49 Use the right syntax for Redis command.
With this commit, scan subcommand can save all it needs into Redis.
2016-06-14 09:12:32 +01:00
ba8e8b9f7b Add support for char[N] to the run() method. 2016-06-14 09:11:07 +01:00
efd7118189 Add support for single chars to the run() method. 2016-06-14 09:10:45 +01:00
9a69b8de10 Throw if Redis reply contains any error messages. 2016-06-13 17:33:25 +01:00
93e328d77f Remove unnecessary usage of recursive_wrapper. 2016-06-13 17:27:52 +01:00
316f8f585b Rename RedisReplyType to just Reply. 2016-06-13 17:00:12 +01:00
533b571771 Implement ZSCAN Redis command. 2016-06-13 16:20:54 +01:00
78eee0e16f Make the scan command in ScanPairs a template parameter. 2016-06-13 16:20:31 +01:00
9949c273a1 Implement SSCAN Redis command. 2016-06-13 15:38:18 +01:00
731582d8fe Move V into ValueFetch.
No need to explicitly specify the dereferenced type directly to
the scan iterator anymore.
2016-06-13 15:24:26 +01:00
c7eeddabf1 Implement HSCAN Redis command. 2016-06-13 15:14:10 +01:00
e0a82cce2d Fix SCAN iteration. 2016-06-13 10:57:42 +01:00
c1e79c435b New ScanIterator class.
Not yet tested and only supporting the SCAN command for now, more to
come.
Also includes some refactoring that was needed to make everything work.
2016-06-10 20:33:11 +02:00
04b667485e Add optional database selection parameter in yml file. 2016-06-10 09:55:37 +02:00
8bdb1f237f Replace spaces with tabs 2016-06-09 22:55:38 +02:00
49a8e81fed Restore adding sets into Redis using the new run() method.
Partial implementation - not for use in real world cases.
2016-06-09 22:20:22 +02:00
f7a7015c65 Start putting Redis stuff in a wrapper class.
Nonworking, but the project builds.
2016-06-09 19:24:08 +02:00
db23dcea3f Add missing implementation and fix crashes in redis backend.
With this you can insert a new set (set only, no files) with dindexer-scan.
2016-06-07 23:13:24 +01:00
2d2c7d0b9e Merge remote-tracking branch 'origin/dev' into dev 2016-06-07 22:46:09 +01:00
0ab66fa1f1 Stub implementation of a Redis backend. 2016-06-07 22:45:30 +01:00
3fe962a8e5 Make symlink to postgresql backend
This is helpful so when running dindexer in a dev environment you don't
need to list all the possible paths to every backend. Symlinks to all
backends will all be in the same place.
2016-06-06 20:24:05 +02:00
624bba121f Remove hardcoded path to postgresql backend and make the search dynamic 2016-06-06 19:54:20 +02:00
a1490c3096 Make split_tags a bit more generic so I can reuse it
I need it in an upcoming commit where I want to split on ':'
2016-06-06 19:52:42 +02:00
d5cf8e21b2 Add cleaning of the new uuid and label properties 2016-06-04 01:13:47 +02:00
2057c797cb SetRecordData is not really needed anymore so get rid of it
Always use SetRecordDataFull now.
2016-06-04 01:13:26 +02:00
7117ff7be2 Save and read label and uuid to the database 2016-06-04 01:03:20 +02:00
55a61526dc Fix DiscInfo and make it find label and uuid correctly.
It's not the mountpoint's inode that I needed, but that of the dev!
2016-06-04 01:02:37 +02:00
f0e67f1c97 Fix wrong block of code
Backend plugin was not being initialized due to some copy paste error.
2016-06-03 21:50:45 +02:00
5e1dfe3749 Warning fix in clang. 2016-06-03 20:27:07 +02:00
742d024bfb Implement label and uuid retrieval for the disk being scanned. 2016-06-03 20:26:54 +02:00
29c98c0154 Add module to find Redis C library 2016-06-02 22:49:49 +01:00
61b0b586cf Clean up code to handle failed attempts at loading backend plugins. 2016-06-02 21:16:19 +02:00
7de71943ad Name backend settings section in yml using the backend name itself. 2016-06-02 18:38:40 +02:00
4aceccbf4d New Diaspora post 2016-06-02 18:29:37 +02:00
e2275ce5db Add a backend interface version number for eventual future changes.
Note that the interface is still a work in progress and might change
while still keeping the same interface version. This is going to be true
until the first stable release of this project (non beta).
2016-06-02 10:01:19 +02:00
0cb91fb9ca Put LIMIT number into a common header. 2016-06-02 09:42:32 +02:00