mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
Merge remote-tracking branch 'origin/stable'
This commit is contained in:
commit
1d78432df4
@ -1,9 +1,3 @@
|
|||||||
CREATE TABLE IF NOT EXISTS "sync" (
|
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
||||||
`entityName` TEXT NOT NULL,
|
|
||||||
`entityId` TEXT NOT NULL,
|
|
||||||
`sourceId` TEXT NOT NULL,
|
|
||||||
`utcSyncDate` TEXT NOT NULL);
|
|
||||||
CREATE TABLE IF NOT EXISTS "source_ids" (
|
CREATE TABLE IF NOT EXISTS "source_ids" (
|
||||||
`sourceId` TEXT NOT NULL,
|
`sourceId` TEXT NOT NULL,
|
||||||
`utcDateCreated` TEXT NOT NULL,
|
`utcDateCreated` TEXT NOT NULL,
|
||||||
@ -27,13 +21,6 @@ CREATE TABLE IF NOT EXISTS "options"
|
|||||||
utcDateCreated TEXT not null,
|
utcDateCreated TEXT not null,
|
||||||
utcDateModified TEXT NOT NULL
|
utcDateModified TEXT NOT NULL
|
||||||
);
|
);
|
||||||
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
|
|
||||||
`entityName`,
|
|
||||||
`entityId`
|
|
||||||
);
|
|
||||||
CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` (
|
|
||||||
`utcSyncDate`
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "note_contents" (
|
CREATE TABLE IF NOT EXISTS "note_contents" (
|
||||||
`noteId` TEXT NOT NULL,
|
`noteId` TEXT NOT NULL,
|
||||||
`content` TEXT NULL DEFAULT NULL,
|
`content` TEXT NULL DEFAULT NULL,
|
||||||
@ -130,3 +117,17 @@ CREATE INDEX IDX_attributes_noteId_index
|
|||||||
on attributes (noteId);
|
on attributes (noteId);
|
||||||
CREATE INDEX IDX_attributes_value_index
|
CREATE INDEX IDX_attributes_value_index
|
||||||
on attributes (value);
|
on attributes (value);
|
||||||
|
CREATE TABLE IF NOT EXISTS "sync" (
|
||||||
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
`entityName` TEXT NOT NULL,
|
||||||
|
`entityId` TEXT NOT NULL,
|
||||||
|
`sourceId` TEXT NOT NULL,
|
||||||
|
`isSynced` INTEGER default 0 not null,
|
||||||
|
`utcSyncDate` TEXT NOT NULL);
|
||||||
|
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
|
||||||
|
`entityName`,
|
||||||
|
`entityId`
|
||||||
|
);
|
||||||
|
CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` (
|
||||||
|
`utcSyncDate`
|
||||||
|
);
|
||||||
|
@ -49,7 +49,7 @@ async function loginSync(req) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
sourceId: sourceIdService.getCurrentSourceId(),
|
sourceId: sourceIdService.getCurrentSourceId(),
|
||||||
maxSyncId: await sql.getValue("SELECT MAX(id) FROM sync")
|
maxSyncId: await sql.getValue("SELECT MAX(id) FROM sync WHERE isSynced = 1")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ async function getStats() {
|
|||||||
async function checkSync() {
|
async function checkSync() {
|
||||||
return {
|
return {
|
||||||
entityHashes: await contentHashService.getEntityHashes(),
|
entityHashes: await contentHashService.getEntityHashes(),
|
||||||
maxSyncId: await sql.getValue('SELECT MAX(id) FROM sync')
|
maxSyncId: await sql.getValue('SELECT MAX(id) FROM sync WHERE isSynced = 1')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,11 +116,11 @@ async function forceNoteSync(req) {
|
|||||||
async function getChanged(req) {
|
async function getChanged(req) {
|
||||||
const lastSyncId = parseInt(req.query.lastSyncId);
|
const lastSyncId = parseInt(req.query.lastSyncId);
|
||||||
|
|
||||||
const syncs = await sql.getRows("SELECT * FROM sync WHERE id > ? LIMIT 1000", [lastSyncId]);
|
const syncs = await sql.getRows("SELECT * FROM sync WHERE isSynced = 1 AND id > ? LIMIT 1000", [lastSyncId]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
syncs: await syncService.getSyncRecords(syncs),
|
syncs: await syncService.getSyncRecords(syncs),
|
||||||
maxSyncId: await sql.getValue('SELECT MAX(id) FROM sync')
|
maxSyncId: await sql.getValue('SELECT MAX(id) FROM sync WHERE isSynced = 1')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ async function pushSync(syncContext) {
|
|||||||
let lastSyncedPush = await getLastSyncedPush();
|
let lastSyncedPush = await getLastSyncedPush();
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
const syncs = await sql.getRows('SELECT * FROM sync WHERE id > ? LIMIT 1000', [lastSyncedPush]);
|
const syncs = await sql.getRows('SELECT * FROM sync WHERE isSynced = 1 AND id > ? LIMIT 1000', [lastSyncedPush]);
|
||||||
|
|
||||||
if (syncs.length === 0) {
|
if (syncs.length === 0) {
|
||||||
log.info("Nothing to push");
|
log.info("Nothing to push");
|
||||||
@ -236,7 +236,7 @@ async function checkContentHash(syncContext) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const notPushedSyncs = await sql.getValue("SELECT EXISTS(SELECT 1 FROM sync WHERE id > ?)", [await getLastSyncedPush()]);
|
const notPushedSyncs = await sql.getValue("SELECT EXISTS(SELECT 1 FROM sync WHERE isSynced = 1 AND id > ?)", [await getLastSyncedPush()]);
|
||||||
|
|
||||||
if (notPushedSyncs) {
|
if (notPushedSyncs) {
|
||||||
log.info(`There's ${notPushedSyncs} outstanding pushes, skipping content check.`);
|
log.info(`There's ${notPushedSyncs} outstanding pushes, skipping content check.`);
|
||||||
@ -358,7 +358,7 @@ async function updatePushStats() {
|
|||||||
if (await syncOptions.isSyncSetup()) {
|
if (await syncOptions.isSyncSetup()) {
|
||||||
const lastSyncedPush = await optionService.getOption('lastSyncedPush');
|
const lastSyncedPush = await optionService.getOption('lastSyncedPush');
|
||||||
|
|
||||||
stats.outstandingPushes = await sql.getValue("SELECT COUNT(1) FROM sync WHERE id > ?", [lastSyncedPush]);
|
stats.outstandingPushes = await sql.getValue("SELECT COUNT(1) FROM sync WHERE isSynced = 1 AND id > ?", [lastSyncedPush]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user