kolaente
814f164e33
feat(tasks): allocate task indexes from the per-project counter
...
Indexes come from an atomic counter increment instead of MAX(index)+1, so
retired indexes are never reused. Client-supplied indexes are ignored;
import and duplication keep presets above the old high-water mark. Moving
a task records its old address as an alias; the task row is read under a
row lock so concurrent moves serialize. Task bucket inserts are chunked
since whole batches now go through one create.
2026-09-11 20:47:11 +02:00
..
2026-08-31 09:33:47 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-08-18 09:44:49 +02:00
2026-08-18 09:44:49 +02:00
2026-08-29 23:29:46 +02:00
2026-09-06 20:29:27 +02:00
2026-09-06 20:29:27 +02:00
2026-08-29 23:29:46 +02:00
2026-08-04 13:40:11 +02:00
2026-09-11 20:47:11 +02:00
2026-09-11 20:47:11 +02:00
2026-07-18 13:41:15 +00:00
2026-08-31 18:37:03 +02:00
2026-08-02 16:21:50 +02:00
2026-08-16 17:57:52 +02:00
2026-09-04 23:36:53 +02:00
2026-08-31 18:37:03 +02:00
2026-08-20 11:58:06 +02:00
2026-08-02 16:21:50 +02:00
2026-08-20 11:58:06 +02:00
2026-08-04 01:09:10 +02:00
2026-08-30 17:27:01 +02:00
2026-08-29 23:29:46 +02:00
2026-08-30 17:27:01 +02:00
2026-08-30 17:27:01 +02:00
2026-08-30 17:04:35 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-08-04 13:40:11 +02:00
2026-09-10 22:44:26 +02:00
2026-09-05 12:30:42 +02:00
2026-09-10 22:44:26 +02:00
2026-09-11 20:47:11 +02:00
2026-08-29 21:22:43 +00:00
2026-08-27 15:41:58 +02:00
2026-08-29 22:51:44 +02:00
2026-07-29 07:58:17 +00:00
2026-08-27 15:41:58 +02:00
2026-08-18 16:38:00 +00:00
2026-08-27 15:41:58 +02:00
2026-08-28 23:49:27 +02:00
2026-08-28 23:49:27 +02:00
2026-09-10 22:44:26 +02:00
2026-09-10 22:44:26 +02:00
2026-09-10 22:44:26 +02:00
2026-09-10 22:44:26 +02:00
2026-09-11 20:47:11 +02:00
2026-09-11 20:47:11 +02:00
2026-07-26 09:39:41 +00:00
2026-08-28 23:49:27 +02:00
2026-08-28 23:49:27 +02:00
2026-08-29 22:51:44 +02:00
2026-07-19 18:59:34 +02:00
2026-09-10 22:44:26 +02:00
2026-09-07 21:35:17 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-09-11 20:47:11 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-07-19 18:59:34 +02:00
2026-08-04 01:09:10 +02:00
2026-08-29 18:36:59 +02:00
2026-09-11 20:47:11 +02:00
2026-07-19 18:59:34 +02:00
2026-08-02 16:21:50 +02:00
2026-08-04 13:40:11 +02:00
2026-09-05 12:30:42 +02:00
2026-07-19 18:59:34 +02:00
2026-09-11 20:47:11 +02:00
2026-08-29 23:42:41 +02:00
2026-08-29 23:42:41 +02:00
2026-09-06 08:25:32 +00:00
2026-08-31 18:37:03 +02:00
2026-09-08 20:28:52 +02:00
2026-08-16 17:57:52 +02:00
2026-08-31 18:37:03 +02:00
2026-09-05 20:24:08 +02:00
2026-09-05 20:24:08 +02:00
2026-08-31 10:48:39 +00:00
2026-09-10 22:44:26 +02:00
2026-08-31 10:48:39 +00:00
2026-08-04 13:40:11 +02:00
2026-09-08 10:34:37 +02:00
2026-09-08 20:28:52 +02:00
2026-08-27 15:41:58 +02:00
2026-07-07 11:57:04 +00:00
2026-07-07 11:57:04 +00:00
2026-08-20 11:58:06 +02:00
2026-08-20 11:58:06 +02:00
2026-09-11 20:47:11 +02:00
2026-09-11 20:47:11 +02:00
2026-09-05 12:30:42 +02:00
2026-08-31 18:37:03 +02:00
2026-09-05 12:30:42 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-08-18 16:38:00 +00:00
2026-08-18 16:38:00 +00:00
2026-09-10 22:44:26 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-08-31 18:37:03 +02:00
2026-07-19 18:59:34 +02:00
2026-09-11 20:47:11 +02:00
2026-09-11 20:47:11 +02:00
2026-08-04 13:40:11 +02:00
2026-08-04 13:40:11 +02:00
2026-08-20 15:32:23 +00:00
2026-08-20 15:32:23 +00:00
2026-09-05 20:24:08 +02:00
2026-08-29 22:51:44 +02:00
2026-09-10 22:44:26 +02:00
2026-07-19 18:59:34 +02:00
2026-08-29 23:29:46 +02:00
2026-09-07 21:35:17 +02:00
2026-08-20 11:58:06 +02:00
2026-07-28 17:25:57 +02:00
2026-08-04 13:40:11 +02:00