{"record":{"id":"09a09ff7bd0b1c85","repo":"Budibase/budibase","slug":"unable-to-paginate-with-string-based-bookmarks","errorCode":null,"errorMessage":"Unable to paginate with string based bookmarks","messagePattern":"Unable to paginate with string based bookmarks","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/server/src/sdk/workspace/rows/search/internal/sqs.ts","lineNumber":490,"sourceCode":"      const sort: SortJson = {}\n      for (const [field, sortInfo] of Object.entries(params.sort)) {\n        if (!sortInfo) {\n          continue\n        }\n        const entry = resolveSortEntry(field, sortInfo.direction, sortInfo.type)\n        sort[entry.key] = {\n          direction: entry.direction,\n          type: entry.type,\n        }\n      }\n      if (Object.keys(sort).length) {\n        request.sort = sort\n      }\n    }\n  }\n\n  if (params.bookmark && typeof params.bookmark !== \"number\") {\n    throw new Error(\"Unable to paginate with string based bookmarks\")\n  }\n\n  const bookmark: number = (params.bookmark as number) || 0\n  // limits don't apply if we doing a row ID search\n  if (!isSearchingByRowID(searchFilters) && params.limit) {\n    paginate = true\n    request.paginate = {\n      limit: params.limit + 1,\n      offset: bookmark,\n    }\n  }\n\n  const enrichedRequest = await enrichQueryJson(request)\n\n  try {\n    const [rows, totalRows] = await Promise.all([\n      runSqlQuery(enrichedRequest, allTables, relationships),\n      options.countRows","sourceCodeStart":472,"sourceCodeEnd":508,"githubUrl":"https://github.com/Budibase/budibase/blob/a81a902e9a8fe55b467d106765f6638f12e35c49/packages/server/src/sdk/workspace/rows/search/internal/sqs.ts#L472-L508","documentation":"Error \"Unable to paginate with string based bookmarks\" thrown in Budibase/budibase.","triggerScenarios":"Thrown at packages/server/src/sdk/workspace/rows/search/internal/sqs.ts:490 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a81a902e9a8fe55b467d106765f6638f12e35c49","analyzedAt":"2026-08-29T01:03:10.972Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}