Commit Graph

143 Commits

Author SHA1 Message Date
ejurgensen
b5247aab1d Don't cast to char with malloc and some error handling 2013-12-15 22:15:45 +01:00
ejurgensen
b3ea04a047 Some cleaning up in group handling in db.c in prep for artist groups 2013-12-15 21:47:49 +01:00
ejurgensen
2765a12f76 Forgot composer-sort and two instances of strip_article() 2013-12-05 22:46:12 +01:00
ejurgensen
a102d3f138 Set sort headers from sort fields in db 2013-12-05 21:56:02 +01:00
ejurgensen
a30069c0c7 Honor sorting in more daap replies and some minor restructuring of http_daapd.c 2013-12-03 23:16:07 +01:00
ejurgensen
8882374a75 Disable instead of purging when root library dir is not present 2013-11-30 23:12:09 +01:00
ejurgensen
414817031d Configurable library names
Names of Library, Music, Movies, TV Shows and Podcasts made configurable
2013-11-30 12:57:38 +01:00
ejurgensen
adc9c03763 Allow user to trigger full rescan with a .force-rescan file 2013-11-29 22:48:53 +01:00
ejurgensen
6eaf47a8d6 Show items with genre=Podcast as Podcast items in Remote
- also add Podcast smart playlist to default playlists
2013-10-18 23:07:40 +02:00
ejurgensen
95fc525beb Add support for artist group request (experimental)
The purpose of this is mainly to support Hyperfine Remote for Android
2013-08-29 22:00:37 +02:00
ejurgensen
fe79922c6e Forgot return value 2013-08-21 23:30:30 +02:00
ejurgensen
9d0962407a The m3u playlist scanner improvements in commit 6e9cf3a resulted in
too many database lookups. This is a more efficient version.
2013-08-21 23:16:25 +02:00
ejurgensen
6e9cf3a243 This makes the scanner more flexible when matching paths in playlists
with the library paths.
2013-08-20 21:58:35 +02:00
ejurgensen
86cf922615 Prefer album artist even when DAAP says artist 2013-07-22 22:30:55 +02:00
Thijs Reus
6c7fa8f299 Now artists/albums are properly sorted and grouped 2013-05-24 18:51:57 +02:00
Julien BLACHE
ad4e15c362 Handle database upgrade v12 -> v13 2011-09-10 12:56:30 +02:00
Julien BLACHE
efcd463946 Add indexes for playlists 2011-09-10 12:56:30 +02:00
Julien BLACHE
664067fd88 Rewrite group queries, remove JOIN, add index
SQLite has trouble optimizing the query when written with JOIN, but does
pretty well using the indexes when written without JOIN. Add an index for
the query, too.
2011-09-10 12:56:30 +02:00
Julien BLACHE
cbc7108fcf Use table aliases in all queries, update RSP & DAAP filters to match 2011-09-10 12:56:30 +02:00
Julien BLACHE
617c026060 Add covering indexes for *{,_sort} fields
These indexes help queries searching on these fields and will act as covering
indexes for sort strings, too.
2011-09-10 12:56:30 +02:00
Julien BLACHE
becdfdb062 Add new indexes for general speedup
An index on songalbumid helps for joins on songalbumid on the files table; a
covering index on disabled+media_kind+songalbumid helps in numerous queries
all over the place.
2011-09-10 12:56:30 +02:00
Julien BLACHE
1dfd27090e Speedup startup rescan 2011-09-10 12:56:30 +02:00
Julien BLACHE
96c367f556 Kill useless database indexes 2011-09-10 12:56:30 +02:00
Julien BLACHE
333b7710bc Queries must hit SQLITE_DONE to execute profiling callback 2011-09-10 12:56:30 +02:00
Julien BLACHE
d05634fddd Print query execution time in milliseconds 2011-09-10 12:56:29 +02:00
Julien BLACHE
a2b7b811b8 Add query plan to DB profiling callback 2011-09-10 12:56:29 +02:00
Julien BLACHE
1909623d43 Run ANALYZE after DB startup 2011-09-10 12:56:29 +02:00
Peter Carmichael
3caae459be Add DB maintenance routines 2011-09-10 12:56:29 +02:00
Julien BLACHE
759cc55b0f Fix bad parameters in I_LAST index clause 2011-06-05 11:04:57 +02:00
Julien BLACHE
4f3635e354 Handle SQLITE_SCHEMA error in db_exec()
This happens under database load with many concurrent threads doing updates;
queries failing with SQLITE_SCHEMA at step time need to retried from scratch
until they succeeded or hit a best-effort limit of 5 retries.
2011-05-28 10:48:31 +02:00
Julien BLACHE
4594cc3d63 Enhance db_exec() error messages 2011-05-28 10:46:41 +02:00
Julien BLACHE
54c5314712 Handle empty files table when upgrading from schema v11 -> v12 2011-04-06 18:38:53 +02:00
Julien BLACHE
e5b4c1146e Handle database upgrade v11 -> v12 2011-03-24 19:23:08 +01:00
Julien BLACHE
9759eeba71 Remove database upgrade for schema version before 10 (v0.12) 2011-03-21 18:48:00 +01:00
Kai Elwert
cb9dc5ad7c Add COLLATE DAAP to all char-type fields
As a consequence, we can remove the explicit COLLATE DAAP from sort
clauses, index definitions and queries.
2011-03-21 18:48:00 +01:00
Kai Elwert
e226c38d4f Add db_query_fetch_string_sort() to fetch string+sortstring results 2011-03-21 18:48:00 +01:00
Kai Elwert
d8bf5eedce db_build_query_browse() query changes ("DISTINCT %s, %s", field, field) 2011-03-21 18:48:00 +01:00
Kai Elwert
9e5015ffc8 Switch sort clauses to *_sort fields 2011-03-21 18:47:59 +01:00
Kai Elwert
373c5584af Add sort tags to the database 2011-03-21 18:47:59 +01:00
Julien BLACHE
eeb5a7974d Trim metadata strings on files INSERT/UPDATE 2011-03-08 18:55:51 +01:00
Julien BLACHE
69396f3da0 Kill bogus comments 2011-03-07 19:51:43 +01:00
Julien BLACHE
6f7b12b1f2 Handle database upgrade v10 -> v11 2010-12-04 15:08:06 +01:00
Julien BLACHE
27c89cf312 Remove old db_config_* interface 2010-12-04 15:08:06 +01:00
Julien BLACHE
012e90b4a3 Add a dedicated table for speakers 2010-12-04 15:08:06 +01:00
Kai Elwert
e5af78fe9f Implement sort=artist for DAAP queries 2010-10-09 16:06:00 +02:00
Kai Elwert
cd8686be82 Add DB profiling support 2010-09-29 18:56:38 +02:00
Julien BLACHE
5c81144beb Revert to standard SQLite functions for DB startup, creation and upgrade
No need to use the blocking variants here as there is no concurrency during
DB startup.
2010-09-29 18:26:31 +02:00
Julien BLACHE
b79cf13c95 Remove custom collation and custom daap_songalbumid() function code 2010-09-28 18:39:43 +02:00
Julien BLACHE
da0011de3b Load our SQLite extension 2010-09-28 18:38:10 +02:00
Julien BLACHE
c6c53e6a28 Fix integer type mismatch in SQL query
sample_count is uint64, not int.
2010-09-10 20:58:10 +02:00