···1+DROP INDEX `threadOrder_idx`;--> statement-breakpoint
2+CREATE INDEX `threadOrder_idx` ON `posts` (`rootPost`,`threadOrder`) WHERE threadOrder <> -1;
···179 }
180 // Handle queue acknowledgement on success/failure
181 if (!wasSuccess) {
182+ const delaySeconds = delay*(message.attempts+1);
183+ console.log(`attempting to retry message in ${delaySeconds}`);
184+ message.retry({delaySeconds: delaySeconds});
185 } else {
186 message.ack();
187 }
+3-3
src/utils/dbQuery.ts
···1import { addHours, isAfter, isEqual } from "date-fns";
2-import { and, asc, desc, eq, getTableColumns, gt, gte, sql } from "drizzle-orm";
3import { BatchItem } from "drizzle-orm/batch";
4import { DrizzleD1Database } from "drizzle-orm/d1";
5import has from "just-has";
···132 // Update the post order past here
133 queriesToExecute.push(db.update(posts).set({threadOrder: sql`threadOrder - 1`})
134 .where(
135- and(eq(posts.rootPost, postObj.rootPost!), gt(posts.threadOrder, postObj.threadOrder)
136 )));
137 }
138···269 // update all posts past this one to also update their order (we will take their id)
270 dbOperations.push(db.update(posts).set({threadOrder: sql`threadOrder + 1`})
271 .where(
272- and(eq(posts.rootPost, rootPostID!), gte(posts.threadOrder, parentPostOrder)
273 )));
274275 // Update the root post so that it has the correct flags set on it as well.
···1import { addHours, isAfter, isEqual } from "date-fns";
2+import { and, asc, desc, eq, getTableColumns, gt, gte, ne, sql } from "drizzle-orm";
3import { BatchItem } from "drizzle-orm/batch";
4import { DrizzleD1Database } from "drizzle-orm/d1";
5import has from "just-has";
···132 // Update the post order past here
133 queriesToExecute.push(db.update(posts).set({threadOrder: sql`threadOrder - 1`})
134 .where(
135+ and(and(eq(posts.rootPost, postObj.rootPost!), ne(posts.threadOrder, -1)), gt(posts.threadOrder, postObj.threadOrder)
136 )));
137 }
138···269 // update all posts past this one to also update their order (we will take their id)
270 dbOperations.push(db.update(posts).set({threadOrder: sql`threadOrder + 1`})
271 .where(
272+ and(and(eq(posts.rootPost, rootPostID!), ne(posts.threadOrder, -1)), gte(posts.threadOrder, parentPostOrder)
273 )));
274275 // Update the root post so that it has the correct flags set on it as well.