kind of task management program
License
ya-breeze/TM
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a TM program For any troubles please email me at ya-breeze@ya.ru Thank you --- LocalUpdated & GlobalUpdated При синхронизации время обновления должны оставаться тем же самым, чтобы при повторной синхронизации избежать копирования задачи обратно, т.е. чтобы избежать зацикливания. Зачем нужно два поля. Пусть у нас есть три узла: А, В, С. Пусть все узлы в момент времени 1 синхронизированы. Теперь при такой последовательности: 1. все синхронизированы 2. А добавил задачу Т1. 3. В добавил задачу Т2. 4. С синхронизировался с В. Теперь на С есть задача Т2. Причём время обновления задачи - 3, чтобы избежать бесконечной синхронизации. 5. В синхронизировался с А. Теперь на В есть задачи Т1(время 2), Т2(время 3). 6. С синхронизируется с В. Т.к. он помнит, что уже синхронизировался в момент времени 4, то запрашивает изменения с этого момента. Но т.к. задача Т1 относится ко времени 2, то она не попадает в синхронизацию и поэтому не попадёт на С. Поэтому и нужно две метки времени. Глобальная - время изменения задачи, локальная - время попадания задачи на этот узел. При локальной правке задачи меняются обе метки. --- Запрос для выборки количества детей у задач select uuid, children from Tasks LEFT JOIN (Select parentUuid, count(*) as children from Tasks group BY parentUuid) as t ON Tasks.uuid=t.parentUuid;
About
kind of task management program
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published