mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-12 11:23:52 +02:00
improve feed gamelog datebase queri perform
This commit is contained in:
@@ -21,7 +21,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_gps WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
@@ -35,7 +35,7 @@ const feed = {
|
||||
previousStatus: dbRow[6],
|
||||
previousStatusDescription: dbRow[7]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_status WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
@@ -47,7 +47,7 @@ const feed = {
|
||||
bio: dbRow[4],
|
||||
previousBio: dbRow[5]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_bio WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
@@ -63,7 +63,7 @@ const feed = {
|
||||
previousCurrentAvatarImageUrl: dbRow[8],
|
||||
previousCurrentAvatarThumbnailImageUrl: dbRow[9]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_avatar WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
@@ -77,7 +77,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_online_offline WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
var A = a.created_at;
|
||||
@@ -175,7 +175,7 @@ const feed = {
|
||||
},
|
||||
|
||||
async lookupFeedDatabase(search, filters, vipList) {
|
||||
var search = search.replaceAll("'", "''");
|
||||
search = search.replaceAll("'", "''");
|
||||
if (search.startsWith('wrld_') || search.startsWith('grp_')) {
|
||||
return this.getFeedByInstanceId(search, filters, vipList);
|
||||
}
|
||||
@@ -243,7 +243,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_gps WHERE (display_name LIKE '%${search}%' OR world_name LIKE '%${search}%' OR group_name LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (status) {
|
||||
@@ -259,7 +259,7 @@ const feed = {
|
||||
previousStatus: dbRow[6],
|
||||
previousStatusDescription: dbRow[7]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_status WHERE (display_name LIKE '%${search}%' OR status LIKE '%${search}%' OR status_description LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (bio) {
|
||||
@@ -273,15 +273,15 @@ const feed = {
|
||||
bio: dbRow[4],
|
||||
previousBio: dbRow[5]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_bio WHERE (display_name LIKE '%${search}%' OR bio LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (avatar) {
|
||||
var query = '';
|
||||
var avatarQuery = '';
|
||||
if (aviPrivate) {
|
||||
query = 'OR user_id = owner_id';
|
||||
avatarQuery = 'OR user_id = owner_id';
|
||||
} else if (aviPublic) {
|
||||
query = 'OR user_id != owner_id';
|
||||
avatarQuery = 'OR user_id != owner_id';
|
||||
}
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
@@ -297,8 +297,8 @@ const feed = {
|
||||
previousCurrentAvatarImageUrl: dbRow[8],
|
||||
previousCurrentAvatarThumbnailImageUrl: dbRow[9]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_avatar WHERE ((display_name LIKE '%${search}%' OR avatar_name LIKE '%${search}%') ${query}) ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_avatar WHERE ((display_name LIKE '%${search}%' OR avatar_name LIKE '%${search}%') ${avatarQuery}) ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (online || offline) {
|
||||
var query = '';
|
||||
@@ -321,7 +321,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_online_offline WHERE ((display_name LIKE '%${search}%' OR world_name LIKE '%${search}%' OR group_name LIKE '%${search}%') ${query}) ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
@@ -336,7 +336,9 @@ const feed = {
|
||||
return 0;
|
||||
};
|
||||
feedDatabase.sort(compareByCreatedAt);
|
||||
feedDatabase.splice(0, feedDatabase.length - dbVars.maxTableSize);
|
||||
if (feedDatabase.length > dbVars.maxTableSize) {
|
||||
feedDatabase.splice(0, feedDatabase.length - dbVars.maxTableSize);
|
||||
}
|
||||
return feedDatabase;
|
||||
},
|
||||
|
||||
@@ -388,7 +390,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_gps WHERE location LIKE '%${instanceId}%' ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (online || offline) {
|
||||
@@ -412,7 +414,7 @@ const feed = {
|
||||
time: dbRow[7],
|
||||
groupName: dbRow[8]
|
||||
};
|
||||
feedDatabase.unshift(row);
|
||||
feedDatabase.push(row);
|
||||
}, `SELECT * FROM ${dbVars.userPrefix}_feed_online_offline WHERE (location LIKE '%${instanceId}%' ${query}) ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
@@ -427,7 +429,9 @@ const feed = {
|
||||
return 0;
|
||||
};
|
||||
feedDatabase.sort(compareByCreatedAt);
|
||||
feedDatabase.splice(0, feedDatabase.length - dbVars.maxTableSize);
|
||||
if (feedDatabase.length > dbVars.maxTableSize) {
|
||||
feedDatabase.splice(0, feedDatabase.length - dbVars.maxTableSize);
|
||||
}
|
||||
return feedDatabase;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -19,8 +19,8 @@ const gameLog = {
|
||||
time: dbRow[5],
|
||||
groupName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_location WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_location WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -31,8 +31,8 @@ const gameLog = {
|
||||
userId: dbRow[5],
|
||||
time: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_join_leave WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_join_leave WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -44,8 +44,8 @@ const gameLog = {
|
||||
instanceId: dbRow[5],
|
||||
worldName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_portal_spawn WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_portal_spawn WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -58,8 +58,8 @@ const gameLog = {
|
||||
displayName: dbRow[6],
|
||||
userId: dbRow[7]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_video_play WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_video_play WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -68,8 +68,8 @@ const gameLog = {
|
||||
resourceUrl: dbRow[2],
|
||||
location: dbRow[4]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_resource_load WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_resource_load WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -77,8 +77,8 @@ const gameLog = {
|
||||
type: 'Event',
|
||||
data: dbRow[2]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_event WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_event WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
await sqliteService.execute((dbRow) => {
|
||||
var row = {
|
||||
rowId: dbRow[0],
|
||||
@@ -89,8 +89,8 @@ const gameLog = {
|
||||
userId: dbRow[4],
|
||||
location: dbRow[5]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
}, `SELECT * FROM gamelog_external WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_external WHERE created_at >= date('${dateOffset}') ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
var A = a.created_at;
|
||||
var B = b.created_at;
|
||||
@@ -241,11 +241,7 @@ const gameLog = {
|
||||
},
|
||||
|
||||
async getLastVisit(worldId, currentWorldMatch) {
|
||||
if (currentWorldMatch) {
|
||||
var count = 2;
|
||||
} else {
|
||||
var count = 1;
|
||||
}
|
||||
var count = currentWorldMatch ? 2 : 1;
|
||||
var ref = {
|
||||
created_at: '',
|
||||
worldId: ''
|
||||
@@ -569,7 +565,7 @@ const gameLog = {
|
||||
time: dbRow[5],
|
||||
groupName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_location WHERE location LIKE '%${instanceId}%' ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (onplayerjoined || onplayerleft) {
|
||||
@@ -591,7 +587,7 @@ const gameLog = {
|
||||
userId: dbRow[5],
|
||||
time: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_join_leave WHERE (location LIKE '%${instanceId}%' AND user_id != '${dbVars.userId}') ${query} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (portalspawn) {
|
||||
@@ -606,7 +602,7 @@ const gameLog = {
|
||||
instanceId: dbRow[5],
|
||||
worldName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_portal_spawn WHERE location LIKE '%${instanceId}%' ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (videoplay) {
|
||||
@@ -622,7 +618,7 @@ const gameLog = {
|
||||
displayName: dbRow[6],
|
||||
userId: dbRow[7]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_video_play WHERE location LIKE '%${instanceId}%' ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (resourceload_string || resourceload_image) {
|
||||
@@ -642,7 +638,7 @@ const gameLog = {
|
||||
resourceUrl: dbRow[2],
|
||||
location: dbRow[4]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_resource_load WHERE location LIKE '%${instanceId}%' ${checkString} ${checkImage} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
@@ -670,7 +666,7 @@ const gameLog = {
|
||||
*/
|
||||
|
||||
async lookupGameLogDatabase(search, filters, vipList = []) {
|
||||
var search = search.replaceAll("'", "''");
|
||||
search = search.replaceAll("'", "''");
|
||||
if (search.startsWith('wrld_') || search.startsWith('grp_')) {
|
||||
return this.getGameLogByLocation(search, filters);
|
||||
}
|
||||
@@ -749,7 +745,7 @@ const gameLog = {
|
||||
time: dbRow[5],
|
||||
groupName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_location WHERE world_name LIKE '%${search}%' OR group_name LIKE '%${search}%' ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (onplayerjoined || onplayerleft) {
|
||||
@@ -771,7 +767,7 @@ const gameLog = {
|
||||
userId: dbRow[5],
|
||||
time: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_join_leave WHERE (display_name LIKE '%${search}%' AND user_id != '${dbVars.userId}') ${vipQuery} ${query} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (portalspawn) {
|
||||
@@ -786,7 +782,7 @@ const gameLog = {
|
||||
instanceId: dbRow[5],
|
||||
worldName: dbRow[6]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_portal_spawn WHERE (display_name LIKE '%${search}%' OR world_name LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (msgevent) {
|
||||
@@ -797,7 +793,7 @@ const gameLog = {
|
||||
type: 'Event',
|
||||
data: dbRow[2]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_event WHERE data LIKE '%${search}%' ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (external) {
|
||||
@@ -811,7 +807,7 @@ const gameLog = {
|
||||
userId: dbRow[4],
|
||||
location: dbRow[5]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_external WHERE (display_name LIKE '%${search}%' OR message LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (videoplay) {
|
||||
@@ -827,7 +823,7 @@ const gameLog = {
|
||||
displayName: dbRow[6],
|
||||
userId: dbRow[7]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_video_play WHERE (video_url LIKE '%${search}%' OR video_name LIKE '%${search}%' OR display_name LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
if (resourceload_string || resourceload_image) {
|
||||
@@ -847,7 +843,7 @@ const gameLog = {
|
||||
resourceUrl: dbRow[2],
|
||||
location: dbRow[4]
|
||||
};
|
||||
gamelogDatabase.unshift(row);
|
||||
gamelogDatabase.push(row);
|
||||
}, `SELECT * FROM gamelog_resource_load WHERE resource_url LIKE '%${search}%' ${checkString} ${checkImage} ORDER BY id DESC LIMIT ${dbVars.maxTableSize}`);
|
||||
}
|
||||
var compareByCreatedAt = function (a, b) {
|
||||
@@ -871,22 +867,22 @@ const gameLog = {
|
||||
var date = new Date().toJSON();
|
||||
var dateOffset = new Date(Date.now() - 86400000).toJSON(); // 24 hours
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_location ORDER BY id DESC LIMIT 1');
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_join_leave ORDER BY id DESC LIMIT 1');
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_portal_spawn ORDER BY id DESC LIMIT 1');
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_event ORDER BY id DESC LIMIT 1');
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_video_play ORDER BY id DESC LIMIT 1');
|
||||
await sqliteService.execute((dbRow) => {
|
||||
gamelogDatabase.unshift(dbRow[0]);
|
||||
gamelogDatabase.push(dbRow[0]);
|
||||
}, 'SELECT created_at FROM gamelog_resource_load ORDER BY id DESC LIMIT 1');
|
||||
if (gamelogDatabase.length > 0) {
|
||||
gamelogDatabase.sort();
|
||||
@@ -1157,7 +1153,7 @@ const gameLog = {
|
||||
|
||||
/**
|
||||
* Get the All Date of Instance Activity for the current user
|
||||
* @returns {Promise<null>}
|
||||
* @returns {Promise<string[]>}
|
||||
*/
|
||||
async getDateOfInstanceActivity() {
|
||||
let result = [];
|
||||
|
||||
Reference in New Issue
Block a user