aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (follow)
Commit message (Collapse)AuthorAgeFilesLines
* db/simple: check for I/O errors in Load()Max Kellermann2014-08-111-1/+1
|
* db/simple: compress the database file using gzipMax Kellermann2014-08-112-5/+60
|
* fs/io/BufferedReader: new class to replace class TextFileMax Kellermann2014-08-071-5/+2
| | | | | | | The new class is pluggable, to prepare for gzipped database files. For now, the TextFile class remains, and will be refactored away later.
* fs/output, fs/TextFile: move to fs/io/Max Kellermann2014-08-073-7/+7
|
* db/update/InotifySource: remove FifoBufferMax Kellermann2014-08-062-16/+15
| | | | | Eliminate support for partial reads. The Linux kernel will never return partial results, so this buffering was unnecessary.
* *Save, *State: use the OutputStream API instead of FILE*Max Kellermann2014-07-305-37/+33
|
* db/proxy: implement Update()Max Kellermann2014-07-291-0/+19
|
* db/Interface: add virtual method Update()Max Kellermann2014-07-291-0/+12
| | | | For database plugins that don't use the UpdateService.
* Tag: add class const_iterator and methods begin(), end()Max Kellermann2014-07-123-9/+3
| | | | Enables using range-based "for".
* Merge branch 'v0.18.x'Max Kellermann2014-06-233-1/+42
|\
| * db/proxy: fall back to recursive walk on old libmpdclient/MPDMax Kellermann2014-06-231-1/+21
| | | | | | | | | | Error message was 'too few arguments for "find"' because the "base" constraint was not supported, and no other constraints remained.
| * db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann2014-06-231-0/+5
| |
* | db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann2014-06-231-0/+5
| |
* | db/proxy: initialize LightSong::real_uriMax Kellermann2014-06-211-0/+1
| | | | | | | | Fixes potential crash.
* | Directory: eliminate attribute "have_stat"Max Kellermann2014-06-163-4/+3
| | | | | | | | Check for 0 in "device" and "inode" instead.
* | db/simple: use class boost::intrusive::listMax Kellermann2014-06-168-144/+151
| | | | | | | | Remove the C list_head library and use type-safe C++ instead.
* | db/Count: implement groupingMax Kellermann2014-04-272-7/+82
| |
* | db/Count: add constructorMax Kellermann2014-04-271-2/+3
| |
* | DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann2014-04-264-54/+110
| |
* | db/Helpers: split libraryMax Kellermann2014-04-255-47/+98
| |
* | DatabasePrint: refactor variable/function namesMax Kellermann2014-04-252-21/+21
| |
* | db/Helpers: move code to tag/Set.cxxMax Kellermann2014-04-241-88/+1
| |
* | db/Helpers: move TagSet to dedicated headerMax Kellermann2014-04-241-24/+1
| |
* | db/Helpers: use set::emplace()Max Kellermann2014-04-241-0/+8
| |
* | DatabasePrint: eliminate printAllIn(), printInfoForAllIn()Max Kellermann2014-04-242-24/+0
| |
* | DatabasePrint: merge adjacent client_printf() callsMax Kellermann2014-04-241-2/+4
| |
* | DatabasePrint: pass const SearchStats referenceMax Kellermann2014-04-241-4/+5
| |
* | DatabasePrint: use unsigned countsMax Kellermann2014-04-241-3/+3
| |
* | DatabaseCommands: "list" allows groupingMax Kellermann2014-04-2412-42/+166
| |
* | db/Helpers: "list" on album artist falls back to the artist tagMax Kellermann2014-04-241-1/+4
| |
* | db/Helpers: move code to CheckUniqueTag()Max Kellermann2014-04-241-6/+12
| |
* | db/Helpers: use reference instead of pointerMax Kellermann2014-04-241-4/+6
| |
* | DatabaseCommands: fix crash on "list base"Max Kellermann2014-04-241-0/+2
| | | | | | | | | | | | The string "base" is understood by locate_parse_type(), but not by listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes a crash in PrintUniqueTag().
* | DatabasePrint: convert "type" to unsignedMax Kellermann2014-04-242-2/+2
| |
* | db/proxy: check connect error before initializing SocketMonitorMax Kellermann2014-03-061-7/+7
| | | | | | | | | | Fixes crash bug because mpd_connection_get_async() was called without a connection.
* | fs/StandardDirectory: add GetUserCacheDir()Max Kellermann2014-03-011-15/+4
| | | | | | | | | | | | Move code from CreateConfiguredDatabase() and add XDG support. This implements an automatic Linux fallback for the setting "db_file" if none was specified.
* | db/Configured: store database file in cache directoryMax Kellermann2014-03-011-1/+25
| | | | | | | | | | Add class Context which wraps the Android/Java Context class and add a JNI wrapper for method Context.getCacheDir().
* | db/update/ExcludeList: make no-op if GLib is disabledMax Kellermann2014-03-012-0/+22
| | | | | | | | Quick hack to allow using the database without GLib (for Android).
* | command: add command "listfiles"Max Kellermann2014-03-012-28/+44
| | | | | | | | Lists files and directories. Supports storage plugins.
* | DatabasePrint: move code to PrintDirectoryURI()Max Kellermann2014-02-281-2/+8
| |
* | DatabasePrint: add API documentationMax Kellermann2014-02-281-0/+3
| |
* | db/simple: mount pointsMax Kellermann2014-02-2715-23/+548
| | | | | | | | | | | | | | | | A SimpleDatabase instance can now "mount" other Database instances at certain locations. This is used to use a new SimpleDatabase instance for each storage mount (issued with the "mount" protocol command). Each such instance has its own database file, stored in the directory that is specified with the "cache_directory" option.
* | db/update/Queue: use std::list instead of std::queueMax Kellermann2014-02-272-5/+4
| | | | | | | | | | | | The problem with std::queue is that it doesn't give us enough control. The method Clear() is a kludge already, but soon, we'll need filtering.
* | db/simple: GetRoot() returns referenceMax Kellermann2014-02-272-3/+3
| |
* | db/update/Service: allocate UpdateWalk dynamicallyMax Kellermann2014-02-275-19/+28
| |
* | Playlist: use the Error library to return errorsMax Kellermann2014-02-271-9/+3
| |
* | db/update: cancel the update on shutdownMax Kellermann2014-02-275-1/+55
| |
* | db/UpdateGlue: rename to Service.cxxMax Kellermann2014-02-272-161/+140
| |
* | db/simple/Directory: eliminate method LookupSong()Max Kellermann2014-02-263-30/+19
| | | | | | | | Move to SimpleDatabase::GetSong() to give that method more control.
* | db/simple/Directory: LookupDirectory() return remaining URIMax Kellermann2014-02-263-41/+62
| | | | | | | | Code can now be reused in LookupSong().