|
5 | 5 | /* Goal: assign results based on tasks to a group */
|
6 | 6 | /* Problem: there are tasks belonging to 2 different groups */
|
7 | 7 |
|
| 8 | +/* Make sure to find out all duplicated tasks beforehand: |
| 9 | +/* Create duplicated flag for tasks*/ |
| 10 | +/* ALTER TABLE*/ |
| 11 | +/* tasks*/ |
| 12 | +/* ADD COLUMN*/ |
| 13 | +/* duplicated boolean DEFAULT false;*/ |
| 14 | + |
| 15 | +/* Set duplicated tasks */ |
| 16 | +/* (tasks with same ID and geometry occurring in two different groups) */ |
| 17 | +/* UPDATE*/ |
| 18 | +/* tasks t1*/ |
| 19 | +/* SET*/ |
| 20 | +/* duplicated = true*/ |
| 21 | +/* FROM*/ |
| 22 | +/* tasks t2*/ |
| 23 | +/* WHERE*/ |
| 24 | +/* t1.task_id = t2.task_id*/ |
| 25 | +/* AND t1.project_id = t2.project_id*/ |
| 26 | +/* AND t1.group_id != t2.group_id;*/ |
| 27 | + |
| 28 | + |
8 | 29 | CREATE TEMP TABLE v1_results(
|
9 | 30 | project_id varchar,
|
10 | 31 | group_id varchar DEFAULT NULL,
|
@@ -33,25 +54,6 @@ WHERE result IS NULL;
|
33 | 54 | UPDATE v1_results
|
34 | 55 | SET timestamp = TO_TIMESTAMP(timeint/1000);
|
35 | 56 |
|
36 |
| -/* Create duplicated flag for tasks*/ |
37 |
| -ALTER TABLE |
38 |
| - tasks |
39 |
| -ADD COLUMN |
40 |
| - duplicated boolean DEFAULT false; |
41 |
| - |
42 |
| -/* Set duplicated tasks */ |
43 |
| -/* (tasks with same ID and geometry occurring in two different groups) */ |
44 |
| -UPDATE |
45 |
| - tasks t1 |
46 |
| -SET |
47 |
| - duplicated = true |
48 |
| -FROM |
49 |
| - tasks t2 |
50 |
| -WHERE |
51 |
| - t1.task_id = t2.task_id |
52 |
| - AND t1.project_id = t2.project_id |
53 |
| - AND t1.group_id != t2.group_id; |
54 |
| - |
55 | 57 | /* Set group_id of v1_results for non-duplicated tasks */
|
56 | 58 | UPDATE
|
57 | 59 | v1_results r
|
@@ -139,9 +141,3 @@ SELECT
|
139 | 141 | FROM
|
140 | 142 | user_results
|
141 | 143 | ON CONFLICT (project_id, group_id, task_id, user_id) DO NOTHING;
|
142 |
| - |
143 |
| - |
144 |
| -ALTER TABLE |
145 |
| - tasks |
146 |
| -DROP COLUMN |
147 |
| - duplicated; |
0 commit comments