mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-31 05:24:13 +00:00 
			
		
		
		
	fix(server): Use inner join
This commit is contained in:
		
							parent
							
								
									c52b504140
								
							
						
					
					
						commit
						70b129cc42
					
				
					 18 changed files with 18 additions and 18 deletions
				
			
		|  | @ -23,7 +23,7 @@ export async function injectFeatured(timeline: Note[], user?: User | null) { | ||||||
| 		.andWhere(`note.score > 0`) | 		.andWhere(`note.score > 0`) | ||||||
| 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user'); | 		.innerJoinAndSelect('note.user', 'user'); | ||||||
| 
 | 
 | ||||||
| 	if (user) { | 	if (user) { | ||||||
| 		query.andWhere('note.userId != :userId', { userId: user.id }); | 		query.andWhere('note.userId != :userId', { userId: user.id }); | ||||||
|  |  | ||||||
|  | @ -73,7 +73,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.id IN (${ antennaQuery.getQuery() })`) | 		.andWhere(`note.id IN (${ antennaQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -87,7 +87,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 	//#region Construct query
 | 	//#region Construct query
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.channelId = :channelId', { channelId: channel.id }) | 		.andWhere('note.channelId = :channelId', { channelId: channel.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -71,7 +71,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.id IN (${ clipQuery.getQuery() })`) | 		.andWhere(`note.id IN (${ clipQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -76,7 +76,7 @@ export default define(meta, async (ps) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.andWhere(`note.localOnly = FALSE`) | 		.andWhere(`note.localOnly = FALSE`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 				})); | 				})); | ||||||
| 			})); | 			})); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 		.andWhere(`note.score > 0`) | 		.andWhere(`note.score > 0`) | ||||||
| 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -79,7 +79,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.visibility = \'public\'') | 		.andWhere('note.visibility = \'public\'') | ||||||
| 		.andWhere('note.channelId IS NULL') | 		.andWhere('note.channelId IS NULL') | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -127,7 +127,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 			qb.where(`((note.userId IN (${ followingQuery.getQuery() })) OR (note.userId = :meId))`, { meId: user.id }) | 			qb.where(`((note.userId IN (${ followingQuery.getQuery() })) OR (note.userId = :meId))`, { meId: user.id }) | ||||||
| 				.orWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)'); | 				.orWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)'); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -96,7 +96,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), | ||||||
| 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)') | 		.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)') | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -63,7 +63,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 			.where(`:meId = ANY(note.mentions)`, { meId: user.id }) | 			.where(`:meId = ANY(note.mentions)`, { meId: user.id }) | ||||||
| 			.orWhere(`:meId = ANY(note.visibleUserIds)`, { meId: user.id }); | 			.orWhere(`:meId = ANY(note.visibleUserIds)`, { meId: user.id }); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -68,7 +68,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.renoteId = :renoteId`, { renoteId: note.id }) | 		.andWhere(`note.renoteId = :renoteId`, { renoteId: note.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -59,7 +59,7 @@ export const meta = { | ||||||
| export default define(meta, async (ps, user) => { | export default define(meta, async (ps, user) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere('note.replyId = :replyId', { replyId: ps.noteId }) | 		.andWhere('note.replyId = :replyId', { replyId: ps.noteId }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -95,7 +95,7 @@ export const meta = { | ||||||
| 
 | 
 | ||||||
| export default define(meta, async (ps, me) => { | export default define(meta, async (ps, me) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -79,7 +79,7 @@ export default define(meta, async (ps, me) => { | ||||||
| 
 | 
 | ||||||
| 		query | 		query | ||||||
| 			.andWhere('note.text ILIKE :q', { q: `%${ps.query}%` }) | 			.andWhere('note.text ILIKE :q', { q: `%${ps.query}%` }) | ||||||
| 			.leftJoinAndSelect('note.user', 'user') | 			.innerJoinAndSelect('note.user', 'user') | ||||||
| 			.leftJoinAndSelect('note.reply', 'reply') | 			.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 			.leftJoinAndSelect('note.renote', 'renote') | 			.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 			.leftJoinAndSelect('reply.user', 'replyUser') | 			.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -120,7 +120,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 			.where('note.userId = :meId', { meId: user.id }); | 			.where('note.userId = :meId', { meId: user.id }); | ||||||
| 			if (hasFollowing) qb.orWhere(`note.userId IN (${ followingQuery.getQuery() })`); | 			if (hasFollowing) qb.orWhere(`note.userId IN (${ followingQuery.getQuery() })`); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -130,7 +130,7 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.userId IN (${ listQuery.getQuery() })`) | 		.andWhere(`note.userId IN (${ listQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
|  | @ -131,7 +131,7 @@ export default define(meta, async (ps, me) => { | ||||||
| 	//#region Construct query
 | 	//#region Construct query
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.userId = :userId', { userId: user.id }) | 		.andWhere('note.userId = :userId', { userId: user.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.leftJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.leftJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.leftJoinAndSelect('reply.user', 'replyUser') | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue