641261306f
Move db locate functions to the postgresql backend lib.
2016-05-22 03:05:58 +01:00
45ecdb9a2b
Move db delete to the postgresql backend lib.
2016-05-22 03:02:39 +01:00
5203fbece2
Move db tagging functions to a new postgresql backend lib.
2016-05-22 02:54:49 +01:00
42acc42d8f
Fix wrong assertions.
2016-05-18 22:25:41 +02:00
6b5fe85571
Make mime_type and mime_charset on the fly
...
For the same motivation explained in the parent commit, make string_refs
on the fly instead of storing them.
2016-05-17 21:12:44 +02:00
8c03ba15bc
Crash fix - make path on the fly
...
Newer versions of gcc have a small string optimizations that makes
moving FileRecordData objects behave incorrectly. When a small string is
moved, string_refs into it become invalid. Making a path on the fly
using the path() method also has the side effect of making
FileRecordData smaller in size.
2016-05-17 20:21:44 +02:00
5832ca3374
Move split_tags to common lib.
2016-05-16 09:59:10 +02:00
537023dbfa
Fix build error when passing a vector<string_ref> to query()
2016-05-13 20:46:13 +02:00
b71a94ef70
Implement basic tab completion in navigate.
...
It doesn't work super well and it's missing set number
completion, but it's a step forward.
2016-04-28 00:05:22 +02:00
1ef879e9c1
Define all case combinations of cmake_on/off.
...
This saves having to remember to do STRING(TOUPPER) in every cmake file.
At times that's really not convenient if possible at all.
For example when a top-level project is guessing what option some
subproject is going to use and tries to use it for the builtin options
view. The acutal OPTION statement is not there, and it's not nice to put
a string(toupper) on a variable that seems to come from nowhere (and in
fact it might not be there at all).
2016-04-27 01:29:40 +02:00
72ce72273d
Put definitions for CMAKE_[ON/OFF] in a common header.
2016-04-27 01:18:38 +02:00
a625f69afd
Import better-enums project from github and put it to use :)
...
Fix build and somewhat improve the dindexer-scan --help message.
2016-04-26 20:47:29 +02:00
3a2db550d2
Warning fix on clang
2016-03-18 22:28:58 +01:00
34ead94c8d
Restore DB writing functionality.
...
This ends the scantask refactoring. It is now possible to scan
directories using the new system. Progress feedback is made
available again, although it could use some improvements.
2016-03-10 18:37:42 +01:00
43c8024b0c
Re-add some progress feedback.
...
It's not multithreaded this time o.O
2016-03-10 09:51:27 +01:00
c28398a1b3
Assert if get_or_create() causes other calls to itself.
...
This is to try and prevent infinite recursions.
2016-03-09 21:35:22 +01:00
fe7e9c4af9
Turn around Set's tasks so that they provide a SetRecordDataFull.
2016-03-09 21:26:43 +01:00
85cbc76de4
Add GeneralFiller helper task to group tasks together.
2016-03-09 09:25:52 +01:00
5798e0d315
New Mime task.
2016-03-09 09:02:17 +01:00
c068f93bac
New ContentType task.
...
Fix the problems I encountered while trying to use the new task.
2016-03-08 19:54:04 +01:00
d2588d3c7e
Implement hashing task.
...
Also get rid of the ShorFileRecordData and put the new LeanBase
class to use.
2016-03-08 08:48:12 +01:00
c64e572fc8
Split Base into LeanBase and Base.
...
Build not tested - intermediate commit.
2016-03-08 08:45:56 +01:00
d579b311f2
Add ShortFileRecordData struct to hold the file list in DirTree.
2016-03-04 21:57:09 +01:00
1956594c01
Move mediatypes.hpp/cpp to machinery.
...
This was needed so that machinery wouldn't depend on common.
Also moved compatibility.h to helpers include dir.
Ideally mediatypes.hpp will be merged into mediatype.hpp, or there
will be some kind of renaming because the two names are
getting really confusing.
2016-03-04 09:01:11 +01:00
6ddf79fad9
Implement MediaType scan task.
2016-03-03 21:31:33 +01:00
5b3e15c45f
Create DirTree class and start moving code around.
2016-03-03 20:46:30 +01:00
be9fc3eb0b
Fix various problems introduced in scan with the last commit.
...
Fixes a crash due to an assertion trying to access a
past-the-end iterator.
Gets content type detection to work, although only after
hashing is done (see comment in main.cpp for details).
Fixes a problem with the array passed to guess_content_type
being not sorted as the function expects.
Adds more assertions.
2016-02-23 18:56:07 +01:00
22614432a9
Detect content type after scanning and save to DB.
2016-02-22 19:44:48 +01:00
8b1b9c48f4
Flattening is useful, so move it out of the unit test.
2016-02-20 01:34:46 +01:00
f31463480f
Add stub code to detect VCDs, plus unit test.
2016-02-19 21:57:43 +01:00
7da13f6677
Add assignment operators.
2016-02-19 21:56:10 +01:00
64b5affa4f
Add guess_content_type() function.
...
WiP.
2016-02-19 10:01:11 +01:00
8a97afd6bf
Use Kakoune::SafePtr to hold the PathName in DirIterator.
2016-02-18 21:00:17 +01:00
5a2fd1e25e
Adapt safe_ptr to build in this project
2016-02-18 19:16:50 +01:00
bc35e185e7
Import safe_ptr from Kakoune project
2016-02-18 19:07:37 +01:00
bb1148863d
Add typedefs to SetListingView<B>
2016-02-17 08:54:38 +01:00
af80771c2e
Fix the new hash_dir().
...
This fixes a bug that I never noticed in the old code.
This also breaks the progress indicator in Release.
2016-02-16 23:01:42 +00:00
5fbad40fda
Add level offset.
...
The level in the FileRecordData is 0 at the base of the
directory being scanned. However PathName::atom_count() can be
more than that. For example scanning /mnt/cdrom will have
level 0 at the mount point, but atom_count() is 2. So it's
necessary to pass in this offset. This way the code can take
that into account and compute stuff correctly.
2016-02-16 20:18:10 +00:00
5908828390
Implement hash_dir() using DirIterator. WiP
...
Keep the old implementation as well, so they can be easily tested.
Uncomment the USE_LEGACY_HASH_DIR define at the top to build with the
old function.
2016-02-16 20:29:50 +01:00
0a3e469951
Support const/non-const DirIterators and SetListingViews
2016-02-16 18:51:17 +01:00
84a2617c24
Enable interoperability between iterators
2016-02-16 18:12:26 +01:00
b94bf308f5
Prepare to allow for non-const iterators.
...
WiP.
2016-02-12 21:02:26 +01:00
bed191c4fc
Better way to construct SetListingView
2016-02-12 20:14:12 +01:00
2a7b8437ed
Make DirIterator forward only
2016-02-12 19:55:32 +01:00
32d32f63cb
Fix SetListing, but some implementation is still missing
2016-02-12 14:44:32 +01:00
6362f0f002
Fix unit test
2016-02-10 09:19:54 +01:00
ada0f1df50
Add SetListingView.
...
I'm having linker errors in gtest, pushing to see
if this also happens on the build server.
2016-02-09 23:23:50 +01:00
346946340d
First implementation of set_listing.
...
Trying to move the depth-first iteration logic into
an iterator-like interface. Work in progress WiP
2016-02-09 21:35:13 +01:00
29d605a579
...fix build on x86_64
...
Hopefully this doesn't break the build on ARM 32 again -_-
2016-02-05 21:06:21 +01:00
f20d73bdab
Update year on copyright notice.
2016-02-05 21:02:40 +01:00
58c7e917c5
Buildfix on ARM raspberry pi
2016-02-02 20:56:27 +01:00
9071b25dec
Rename DirManager to GenericPath.
2016-01-26 23:06:36 +01:00
913cdbd59d
Add app_name column to sets.
2016-01-21 20:30:38 +00:00
e2438f77fd
Fix inserting new files into db.
2016-01-11 14:20:05 +00:00
7e737f56a2
Tell libpqtypes to not make copies of strings it receives.
...
The wrapper now copies boost::string_ref into std::string so
it's always safe to pass a string ref, even when it's not
null-terminated.
2016-01-11 12:53:37 +00:00
fa12bb2d74
Bugfix - don't store absolute paths to files in the DB.
...
This was introduced in a previous commit.
2016-01-11 12:53:37 +00:00
acc74bae8b
Buildfix on clang and gcc Release.
2016-01-07 15:32:47 +00:00
2593d46ed7
Now there is a cpp for pq_type_helpers.hpp so move code there.
2016-01-07 14:52:32 +00:00
2655ea5f5c
Add support for std::vectors as arrays.
...
Nested vectors are not supported.
2016-01-07 12:57:06 +00:00
f82659e370
Add move semantics.
2016-01-06 13:12:00 +00:00
f5356e0c29
Change namespace in machinery to mchlib.
2016-01-05 12:49:27 +00:00
4e29200b47
Move scan's core code into new machinery lib.
2016-01-05 12:35:46 +00:00
8b566c9fdb
Make the string for pqtypes at build-time.
2016-01-04 18:03:49 +00:00
c4a2433a04
Move libpqtypes template helpers out to a new header.
2015-12-31 01:20:56 +00:00
ed0fbac5e1
connection.hpp is a public header.
2015-12-31 01:13:26 +00:00
1532d3c083
Fix reading values from ResultSet/Row.
...
Send correct group_id to the db in a safer way.
2015-12-31 00:38:44 +00:00
43bec4711e
Clarify PGresult ownership and lifetime.
2015-12-30 10:15:36 +00:00
93a5130cc5
Move ValidationError to commonlib.
2015-12-13 16:33:58 +00:00
861ea2c809
Implement deleting sets from the db.
2015-12-12 20:20:57 +00:00
4a0ddb4beb
Hide expand() implementation into settings.cpp.
2015-12-12 20:02:42 +00:00
74afa9f502
Rename settings stuff as it got moved to commonlib.
2015-12-12 17:41:34 +00:00
6e7176be10
Move DBSettings to common lib.
2015-12-12 17:23:50 +00:00
10b9be1f85
Print human-readable autodetected media type.
2015-12-10 16:31:11 +00:00
6c30621400
Put some common stuff into a separate library.
2015-12-10 15:33:38 +00:00
3899680544
Pull lengthof definition into a different header.
2015-12-04 13:48:20 +00:00
bd9ce0ef54
Send data to the database.
2015-11-11 02:01:37 +00:00