mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-05-09 01:16:46 +02:00
Merge pull request #3972 from advplyr/remove-col-ambiguity
Fix server crash remove column name ambiguity #3966
This commit is contained in:
commit
808d23561c
@ -580,9 +580,9 @@ module.exports = {
|
|||||||
// When collapsing series and sorting by title then use the series name instead of the book title
|
// When collapsing series and sorting by title then use the series name instead of the book title
|
||||||
// for this set an attribute "display_title" to use in sorting
|
// for this set an attribute "display_title" to use in sorting
|
||||||
if (global.ServerSettings.sortingIgnorePrefix) {
|
if (global.ServerSettings.sortingIgnorePrefix) {
|
||||||
bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.nameIgnorePrefix FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), titleIgnorePrefix)`), 'display_title'])
|
bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.nameIgnorePrefix FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`libraryItem\`.\`titleIgnorePrefix\`)`), 'display_title'])
|
||||||
} else {
|
} else {
|
||||||
bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`book\`.\`title\`)`), 'display_title'])
|
bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`libraryItem\`.\`title\`)`), 'display_title'])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1035,8 +1035,8 @@ module.exports = {
|
|||||||
|
|
||||||
const textSearchQuery = await Database.createTextSearchQuery(query)
|
const textSearchQuery = await Database.createTextSearchQuery(query)
|
||||||
|
|
||||||
const matchTitle = textSearchQuery.matchExpression('title')
|
const matchTitle = textSearchQuery.matchExpression('book.title')
|
||||||
const matchSubtitle = textSearchQuery.matchExpression('subtitle')
|
const matchSubtitle = textSearchQuery.matchExpression('book.subtitle')
|
||||||
|
|
||||||
// Search title, subtitle, asin, isbn
|
// Search title, subtitle, asin, isbn
|
||||||
const books = await Database.bookModel.findAll({
|
const books = await Database.bookModel.findAll({
|
||||||
|
@ -84,7 +84,7 @@ module.exports = {
|
|||||||
return [[Sequelize.literal(`\`podcast\`.\`author\` COLLATE NOCASE ${nullDir}`)]]
|
return [[Sequelize.literal(`\`podcast\`.\`author\` COLLATE NOCASE ${nullDir}`)]]
|
||||||
} else if (sortBy === 'media.metadata.title') {
|
} else if (sortBy === 'media.metadata.title') {
|
||||||
if (global.ServerSettings.sortingIgnorePrefix) {
|
if (global.ServerSettings.sortingIgnorePrefix) {
|
||||||
return [[Sequelize.literal('titleIgnorePrefix COLLATE NOCASE'), dir]]
|
return [[Sequelize.literal('`podcast`.`titleIgnorePrefix` COLLATE NOCASE'), dir]]
|
||||||
} else {
|
} else {
|
||||||
return [[Sequelize.literal('`podcast`.`title` COLLATE NOCASE'), dir]]
|
return [[Sequelize.literal('`podcast`.`title` COLLATE NOCASE'), dir]]
|
||||||
}
|
}
|
||||||
@ -321,8 +321,8 @@ module.exports = {
|
|||||||
|
|
||||||
const textSearchQuery = await Database.createTextSearchQuery(query)
|
const textSearchQuery = await Database.createTextSearchQuery(query)
|
||||||
|
|
||||||
const matchTitle = textSearchQuery.matchExpression('title')
|
const matchTitle = textSearchQuery.matchExpression('podcast.title')
|
||||||
const matchAuthor = textSearchQuery.matchExpression('author')
|
const matchAuthor = textSearchQuery.matchExpression('podcast.author')
|
||||||
|
|
||||||
// Search title, author, itunesId, itunesArtistId
|
// Search title, author, itunesId, itunesArtistId
|
||||||
const podcasts = await Database.podcastModel.findAll({
|
const podcasts = await Database.podcastModel.findAll({
|
||||||
|
Loading…
Reference in New Issue
Block a user