[{"data":1,"prerenderedAt":1111},["ShallowReactive",2],{"navigation":3,"\u002Fguide\u002Fclient\u002Flive-queries":208,"\u002Fguide\u002Fclient\u002Flive-queries-surround":1106},[4,98,175],{"title":5,"path":6,"stem":7,"children":8,"icon":97},"Guide","\u002Fguide","1.guide\u002F1.index",[9,12,17,22,46,61,79],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fguide\u002Finstallation","1.guide\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick start","\u002Fguide\u002Fquick-start","1.guide\u002F3.quick-start","i-lucide-rocket",{"title":23,"path":24,"stem":25,"children":26,"icon":45},"Server","\u002Fguide\u002Fserver","1.guide\u002F4.server\u002F1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Usage","i-lucide-server",{"title":31,"path":32,"stem":33,"icon":34},"Config file","\u002Fguide\u002Fserver\u002Fconfig-file","1.guide\u002F4.server\u002F2.config-file","i-lucide-file-cog",{"title":36,"path":37,"stem":38,"icon":39},"Options","\u002Fguide\u002Fserver\u002Foptions","1.guide\u002F4.server\u002F3.options","i-lucide-settings",{"title":41,"path":42,"stem":43,"icon":44},"Advanced","\u002Fguide\u002Fserver\u002Fadvanced","1.guide\u002F4.server\u002F4.advanced","i-lucide-flask-conical",false,{"title":47,"path":48,"stem":49,"children":50,"icon":45},"Client","\u002Fguide\u002Fclient","1.guide\u002F5.client\u002F1.index",[51,53,58],{"title":28,"path":48,"stem":49,"icon":52},"i-lucide-monitor-smartphone",{"title":54,"path":55,"stem":56,"icon":57},"Live queries","\u002Fguide\u002Fclient\u002Flive-queries","1.guide\u002F5.client\u002F2.live-queries","i-lucide-radio",{"title":41,"path":59,"stem":60,"icon":44},"\u002Fguide\u002Fclient\u002Fadvanced","1.guide\u002F5.client\u002F3.advanced",{"title":62,"path":63,"stem":64,"children":65,"icon":45},"Development socket","\u002Fguide\u002Fsocket","1.guide\u002F6.socket\u002F1.index",[66,68,71,74],{"title":28,"path":63,"stem":64,"icon":67},"i-lucide-plug",{"title":36,"path":69,"stem":70,"icon":39},"\u002Fguide\u002Fsocket\u002Foptions","1.guide\u002F6.socket\u002F2.options",{"title":41,"path":72,"stem":73,"icon":44},"\u002Fguide\u002Fsocket\u002Fadvanced","1.guide\u002F6.socket\u002F3.advanced",{"title":75,"path":76,"stem":77,"icon":78},"PGlite in dev, Postgres in prod","\u002Fguide\u002Fsocket\u002Fdevelopment-only","1.guide\u002F6.socket\u002F4.development-only","i-lucide-cloud-upload",{"title":80,"path":81,"stem":82,"children":83,"icon":45},"DevTools & tooling","\u002Fguide\u002Fdevtools","1.guide\u002F7.devtools\u002F1.index",[84,87,92],{"title":85,"path":81,"stem":82,"icon":86},"DevTools tab","i-lucide-wrench",{"title":88,"path":89,"stem":90,"icon":91},"Actions","\u002Fguide\u002Fdevtools\u002Factions","1.guide\u002F7.devtools\u002F2.actions","i-lucide-zap",{"title":93,"path":94,"stem":95,"icon":96},"Terminal","\u002Fguide\u002Fdevtools\u002Fterminal","1.guide\u002F7.devtools\u002F3.terminal","i-lucide-square-terminal","i-lucide-book-open",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":45},"Recipes","i-lucide-chef-hat","\u002Frecipes","2.recipes",[104,116,138,159,171],{"title":105,"path":106,"stem":107,"children":108,"icon":45},"Migrations","\u002Frecipes\u002Fmigrations","2.recipes\u002F1.migrations\u002F1.index",[109,111],{"title":28,"path":106,"stem":107,"icon":110},"i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Edited migrations","\u002Frecipes\u002Fmigrations\u002Fedited-migrations","2.recipes\u002F1.migrations\u002F2.edited-migrations","i-lucide-file-diff",{"title":117,"path":118,"stem":119,"children":120,"icon":45},"Testing","\u002Frecipes\u002Ftesting","2.recipes\u002F2.testing\u002F1.index",[121,123,128,133],{"title":28,"path":118,"stem":119,"icon":122},"i-lucide-test-tube",{"title":124,"path":125,"stem":126,"icon":127},"Isolation","\u002Frecipes\u002Ftesting\u002Fisolation","2.recipes\u002F2.testing\u002F2.isolation","i-lucide-git-fork",{"title":129,"path":130,"stem":131,"icon":132},"vitest","\u002Frecipes\u002Ftesting\u002Fvitest","2.recipes\u002F2.testing\u002F3.vitest","i-simple-icons-vitest",{"title":134,"path":135,"stem":136,"icon":137},"@nuxt\u002Ftest-utils","\u002Frecipes\u002Ftesting\u002Fnuxt-test-utils","2.recipes\u002F2.testing\u002F4.nuxt-test-utils","i-simple-icons-nuxt",{"title":139,"path":140,"stem":141,"children":142,"icon":45},"Deploy","\u002Frecipes\u002Fdeploy","2.recipes\u002F3.deploy\u002F1.index",[143,144,149,154],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147,"icon":148},"Any Postgres","\u002Frecipes\u002Fdeploy\u002Fpostgres","2.recipes\u002F3.deploy\u002F2.postgres","i-lucide-database",{"title":150,"path":151,"stem":152,"icon":153},"Netlify","\u002Frecipes\u002Fdeploy\u002Fnetlify","2.recipes\u002F3.deploy\u002F3.netlify","i-simple-icons-netlify",{"title":155,"path":156,"stem":157,"icon":158},"Neon","\u002Frecipes\u002Fdeploy\u002Fneon","2.recipes\u002F3.deploy\u002F4.neon","i-simple-icons-neon",{"title":160,"path":161,"stem":162,"children":163,"icon":45},"Outside Nuxt","\u002Frecipes\u002Foutside-nuxt","2.recipes\u002F4.outside-nuxt\u002F1.index",[164,167],{"title":165,"path":161,"stem":162,"icon":166},"Config and provider","i-lucide-package",{"title":168,"path":169,"stem":170,"icon":67},"Socket server","\u002Frecipes\u002Foutside-nuxt\u002Fsocket","2.recipes\u002F4.outside-nuxt\u002F2.socket",{"title":172,"path":173,"stem":174,"icon":67},"Nitro's useDatabase","\u002Frecipes\u002Fnitro-database","2.recipes\u002F5.nitro-database",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":45},"Reference","i-lucide-code-xml","\u002Freference","3.reference",[181,185,189,193,198,203],{"title":182,"path":183,"stem":184,"icon":34},"Config files","\u002Freference\u002Fconfig-files","3.reference\u002F1.config-files",{"title":186,"path":187,"stem":188,"icon":39},"Module options","\u002Freference\u002Fmodule-options","3.reference\u002F2.module-options",{"title":190,"path":191,"stem":192,"icon":67},"Socket options","\u002Freference\u002Fsocket-options","3.reference\u002F3.socket-options",{"title":194,"path":195,"stem":196,"icon":197},"Exports","\u002Freference\u002Fexports","3.reference\u002F4.exports","i-lucide-boxes",{"title":199,"path":200,"stem":201,"icon":202},"Hooks","\u002Freference\u002Fhooks","3.reference\u002F5.hooks","i-lucide-anchor",{"title":204,"path":205,"stem":206,"icon":207},"Environment","\u002Freference\u002Fenvironment","3.reference\u002F6.environment","i-lucide-variable",{"id":209,"title":54,"body":210,"description":1099,"extension":1100,"links":1101,"meta":1102,"navigation":1103,"path":55,"seo":1104,"stem":56,"__hash__":1105},"docs\u002F1.guide\u002F5.client\u002F2.live-queries.md",{"type":211,"value":212,"toc":1091},"minimark",[213,236,332,339,391,405,791,798,803,810,931,935,941,998,1001,1007,1010,1059,1062,1066,1087],[214,215,216,217,228,229,231,232,235],"p",{},"PGlite's ",[218,219,223,227],"a",{"href":220,"rel":221},"https:\u002F\u002Fpglite.dev\u002Fdocs\u002Flive-queries",[222],"nofollow",[224,225,226],"code",{},"live"," extension"," re-runs a query whenever the tables it reads change. The module wraps it in composables that return reactive refs and unsubscribe when the component unmounts. Add ",[224,230,226],{}," to ",[224,233,234],{},"clientExtensions"," first:",[237,238,244],"pre",{"className":239,"code":240,"filename":241,"language":242,"meta":243,"style":243},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { live } from '@electric-sql\u002Fpglite\u002Flive'\n\nexport default definePGliteClientConfig({\n  clientExtensions: { live },\n})\n","app\u002Fpglite.config.ts","ts","",[224,245,246,279,286,305,323],{"__ignoreMap":243},[247,248,251,255,259,263,266,269,272,276],"span",{"class":249,"line":250},"line",1,[247,252,254],{"class":253},"s7zQu","import",[247,256,258],{"class":257},"sMK4o"," {",[247,260,262],{"class":261},"sTEyZ"," live",[247,264,265],{"class":257}," }",[247,267,268],{"class":253}," from",[247,270,271],{"class":257}," '",[247,273,275],{"class":274},"sfazB","@electric-sql\u002Fpglite\u002Flive",[247,277,278],{"class":257},"'\n",[247,280,282],{"class":249,"line":281},2,[247,283,285],{"emptyLinePlaceholder":284},true,"\n",[247,287,289,292,295,299,302],{"class":249,"line":288},3,[247,290,291],{"class":253},"export",[247,293,294],{"class":253}," default",[247,296,298],{"class":297},"s2Zo4"," definePGliteClientConfig",[247,300,301],{"class":261},"(",[247,303,304],{"class":257},"{\n",[247,306,308,312,315,317,320],{"class":249,"line":307},4,[247,309,311],{"class":310},"swJcz","  clientExtensions",[247,313,314],{"class":257},":",[247,316,258],{"class":257},[247,318,319],{"class":261}," live ",[247,321,322],{"class":257},"},\n",[247,324,326,329],{"class":249,"line":325},5,[247,327,328],{"class":257},"}",[247,330,331],{"class":261},")\n",[333,334,336],"h2",{"id":335},"uselivequery",[224,337,338],{},"useLiveQuery",[237,340,342],{"className":239,"code":341,"language":242,"meta":243,"style":243},"const { rows, fields } = useLiveQuery\u003CTodo>('SELECT * FROM todos ORDER BY id')\n",[224,343,344],{"__ignoreMap":243},[247,345,346,350,352,355,358,361,363,366,369,372,376,379,381,384,387,389],{"class":249,"line":250},[247,347,349],{"class":348},"spNyl","const",[247,351,258],{"class":257},[247,353,354],{"class":261}," rows",[247,356,357],{"class":257},",",[247,359,360],{"class":261}," fields ",[247,362,328],{"class":257},[247,364,365],{"class":257}," =",[247,367,368],{"class":297}," useLiveQuery",[247,370,371],{"class":257},"\u003C",[247,373,375],{"class":374},"sBMFI","Todo",[247,377,378],{"class":257},">",[247,380,301],{"class":261},[247,382,383],{"class":257},"'",[247,385,386],{"class":274},"SELECT * FROM todos ORDER BY id",[247,388,383],{"class":257},[247,390,331],{"class":261},[214,392,393,396,397,400,401,404],{},[224,394,395],{},"rows"," and ",[224,398,399],{},"fields"," are read-only refs, ",[224,402,403],{},"undefined"," until the first result arrives. Add, toggle or delete below, then open this page in a second tab: the worker is shared, so both lists follow every change.",[406,407,408],"pglite-live-query-demo",{},[237,409,414],{"className":410,"code":411,"filename":412,"language":413,"meta":243,"style":243},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ninterface Todo {\n  id: number\n  title: string\n  done: boolean\n}\n\nconst { rows: todos } = useLiveQuery\u003CTodo>('SELECT * FROM todos ORDER BY id')\n\nasync function add(title: string) {\n  const pg = await usePGlite()\n  await pg.query('INSERT INTO todos (title) VALUES ($1)', [title])\n}\n\nasync function toggle(todo: Todo) {\n  const pg = await usePGlite()\n  await pg.query('UPDATE todos SET done = NOT done WHERE id = $1', [todo.id])\n}\n\nasync function remove(todo: Todo) {\n  const pg = await usePGlite()\n  await pg.query('DELETE FROM todos WHERE id = $1', [todo.id])\n}\n\u003C\u002Fscript>\n","app\u002Fcomponents\u002FTodos.client.vue","vue",[224,415,416,442,453,463,473,483,489,494,530,535,563,583,616,621,626,649,664,697,702,707,729,744,776,781],{"__ignoreMap":243},[247,417,418,420,423,426,429,432,435,437,439],{"class":249,"line":250},[247,419,371],{"class":257},[247,421,422],{"class":310},"script",[247,424,425],{"class":348}," setup",[247,427,428],{"class":348}," lang",[247,430,431],{"class":257},"=",[247,433,434],{"class":257},"\"",[247,436,242],{"class":274},[247,438,434],{"class":257},[247,440,441],{"class":257},">\n",[247,443,444,447,450],{"class":249,"line":281},[247,445,446],{"class":348},"interface",[247,448,449],{"class":374}," Todo",[247,451,452],{"class":257}," {\n",[247,454,455,458,460],{"class":249,"line":288},[247,456,457],{"class":310},"  id",[247,459,314],{"class":257},[247,461,462],{"class":374}," number\n",[247,464,465,468,470],{"class":249,"line":307},[247,466,467],{"class":310},"  title",[247,469,314],{"class":257},[247,471,472],{"class":374}," string\n",[247,474,475,478,480],{"class":249,"line":325},[247,476,477],{"class":310},"  done",[247,479,314],{"class":257},[247,481,482],{"class":374}," boolean\n",[247,484,486],{"class":249,"line":485},6,[247,487,488],{"class":257},"}\n",[247,490,492],{"class":249,"line":491},7,[247,493,285],{"emptyLinePlaceholder":284},[247,495,497,499,501,503,505,508,510,512,514,516,518,520,522,524,526,528],{"class":249,"line":496},8,[247,498,349],{"class":348},[247,500,258],{"class":257},[247,502,354],{"class":310},[247,504,314],{"class":257},[247,506,507],{"class":261}," todos ",[247,509,328],{"class":257},[247,511,365],{"class":257},[247,513,368],{"class":297},[247,515,371],{"class":257},[247,517,375],{"class":374},[247,519,378],{"class":257},[247,521,301],{"class":261},[247,523,383],{"class":257},[247,525,386],{"class":274},[247,527,383],{"class":257},[247,529,331],{"class":261},[247,531,533],{"class":249,"line":532},9,[247,534,285],{"emptyLinePlaceholder":284},[247,536,538,541,544,547,549,553,555,558,561],{"class":249,"line":537},10,[247,539,540],{"class":348},"async",[247,542,543],{"class":348}," function",[247,545,546],{"class":297}," add",[247,548,301],{"class":257},[247,550,552],{"class":551},"sHdIc","title",[247,554,314],{"class":257},[247,556,557],{"class":374}," string",[247,559,560],{"class":257},")",[247,562,452],{"class":257},[247,564,566,569,572,574,577,580],{"class":249,"line":565},11,[247,567,568],{"class":348},"  const",[247,570,571],{"class":261}," pg",[247,573,365],{"class":257},[247,575,576],{"class":253}," await",[247,578,579],{"class":297}," usePGlite",[247,581,582],{"class":310},"()\n",[247,584,586,589,591,594,597,599,601,604,606,608,611,613],{"class":249,"line":585},12,[247,587,588],{"class":253},"  await",[247,590,571],{"class":261},[247,592,593],{"class":257},".",[247,595,596],{"class":297},"query",[247,598,301],{"class":310},[247,600,383],{"class":257},[247,602,603],{"class":274},"INSERT INTO todos (title) VALUES ($1)",[247,605,383],{"class":257},[247,607,357],{"class":257},[247,609,610],{"class":310}," [",[247,612,552],{"class":261},[247,614,615],{"class":310},"])\n",[247,617,619],{"class":249,"line":618},13,[247,620,488],{"class":257},[247,622,624],{"class":249,"line":623},14,[247,625,285],{"emptyLinePlaceholder":284},[247,627,629,631,633,636,638,641,643,645,647],{"class":249,"line":628},15,[247,630,540],{"class":348},[247,632,543],{"class":348},[247,634,635],{"class":297}," toggle",[247,637,301],{"class":257},[247,639,640],{"class":551},"todo",[247,642,314],{"class":257},[247,644,449],{"class":374},[247,646,560],{"class":257},[247,648,452],{"class":257},[247,650,652,654,656,658,660,662],{"class":249,"line":651},16,[247,653,568],{"class":348},[247,655,571],{"class":261},[247,657,365],{"class":257},[247,659,576],{"class":253},[247,661,579],{"class":297},[247,663,582],{"class":310},[247,665,667,669,671,673,675,677,679,682,684,686,688,690,692,695],{"class":249,"line":666},17,[247,668,588],{"class":253},[247,670,571],{"class":261},[247,672,593],{"class":257},[247,674,596],{"class":297},[247,676,301],{"class":310},[247,678,383],{"class":257},[247,680,681],{"class":274},"UPDATE todos SET done = NOT done WHERE id = $1",[247,683,383],{"class":257},[247,685,357],{"class":257},[247,687,610],{"class":310},[247,689,640],{"class":261},[247,691,593],{"class":257},[247,693,694],{"class":261},"id",[247,696,615],{"class":310},[247,698,700],{"class":249,"line":699},18,[247,701,488],{"class":257},[247,703,705],{"class":249,"line":704},19,[247,706,285],{"emptyLinePlaceholder":284},[247,708,710,712,714,717,719,721,723,725,727],{"class":249,"line":709},20,[247,711,540],{"class":348},[247,713,543],{"class":348},[247,715,716],{"class":297}," remove",[247,718,301],{"class":257},[247,720,640],{"class":551},[247,722,314],{"class":257},[247,724,449],{"class":374},[247,726,560],{"class":257},[247,728,452],{"class":257},[247,730,732,734,736,738,740,742],{"class":249,"line":731},21,[247,733,568],{"class":348},[247,735,571],{"class":261},[247,737,365],{"class":257},[247,739,576],{"class":253},[247,741,579],{"class":297},[247,743,582],{"class":310},[247,745,747,749,751,753,755,757,759,762,764,766,768,770,772,774],{"class":249,"line":746},22,[247,748,588],{"class":253},[247,750,571],{"class":261},[247,752,593],{"class":257},[247,754,596],{"class":297},[247,756,301],{"class":310},[247,758,383],{"class":257},[247,760,761],{"class":274},"DELETE FROM todos WHERE id = $1",[247,763,383],{"class":257},[247,765,357],{"class":257},[247,767,610],{"class":310},[247,769,640],{"class":261},[247,771,593],{"class":257},[247,773,694],{"class":261},[247,775,615],{"class":310},[247,777,779],{"class":249,"line":778},23,[247,780,488],{"class":257},[247,782,784,787,789],{"class":249,"line":783},24,[247,785,786],{"class":257},"\u003C\u002F",[247,788,422],{"class":310},[247,790,441],{"class":257},[214,792,793,794,797],{},"The writes do not touch ",[224,795,796],{},"todos",": the live query notices the change and updates the ref.",[799,800,802],"h3",{"id":801},"parameters","Parameters",[214,804,805,806,809],{},"The query accepts a string, a ref or a getter; each parameter a plain value, a ref (a ",[224,807,808],{},"computed"," included) or a getter. When one of them changes, the composable re-subscribes:",[237,811,813],{"className":239,"code":812,"language":242,"meta":243,"style":243},"const search = ref('')\nconst pattern = computed(() => `%${search.value}%`)\n\nconst { rows } = useLiveQuery\u003CTodo>('SELECT * FROM todos WHERE title ILIKE $1 ORDER BY id', [\n  pattern,\n])\n",[224,814,815,834,880,884,919,927],{"__ignoreMap":243},[247,816,817,819,822,824,827,829,832],{"class":249,"line":250},[247,818,349],{"class":348},[247,820,821],{"class":261}," search ",[247,823,431],{"class":257},[247,825,826],{"class":297}," ref",[247,828,301],{"class":261},[247,830,831],{"class":257},"''",[247,833,331],{"class":261},[247,835,836,838,841,843,846,848,851,854,857,860,863,866,868,871,873,875,878],{"class":249,"line":281},[247,837,349],{"class":348},[247,839,840],{"class":261}," pattern ",[247,842,431],{"class":257},[247,844,845],{"class":297}," computed",[247,847,301],{"class":261},[247,849,850],{"class":257},"()",[247,852,853],{"class":348}," =>",[247,855,856],{"class":257}," `",[247,858,859],{"class":274},"%",[247,861,862],{"class":257},"${",[247,864,865],{"class":261},"search",[247,867,593],{"class":257},[247,869,870],{"class":261},"value",[247,872,328],{"class":257},[247,874,859],{"class":274},[247,876,877],{"class":257},"`",[247,879,331],{"class":261},[247,881,882],{"class":249,"line":288},[247,883,285],{"emptyLinePlaceholder":284},[247,885,886,888,890,893,895,897,899,901,903,905,907,909,912,914,916],{"class":249,"line":307},[247,887,349],{"class":348},[247,889,258],{"class":257},[247,891,892],{"class":261}," rows ",[247,894,328],{"class":257},[247,896,365],{"class":257},[247,898,368],{"class":297},[247,900,371],{"class":257},[247,902,375],{"class":374},[247,904,378],{"class":257},[247,906,301],{"class":261},[247,908,383],{"class":257},[247,910,911],{"class":274},"SELECT * FROM todos WHERE title ILIKE $1 ORDER BY id",[247,913,383],{"class":257},[247,915,357],{"class":257},[247,917,918],{"class":261}," [\n",[247,920,921,924],{"class":249,"line":325},[247,922,923],{"class":261},"  pattern",[247,925,926],{"class":257},",\n",[247,928,929],{"class":249,"line":485},[247,930,615],{"class":261},[799,932,934],{"id":933},"tagged-template","Tagged template",[214,936,937,940],{},[224,938,939],{},"useLiveQuery.sql"," builds the query and its parameters from a template literal, so interpolated values are sent as parameters, not concatenated:",[237,942,944],{"className":239,"code":943,"language":242,"meta":243,"style":243},"const minimum = 2\nconst { rows } = useLiveQuery.sql\u003CPlanet>`SELECT * FROM planets WHERE moons >= ${minimum}`\n",[224,945,946,959],{"__ignoreMap":243},[247,947,948,950,953,955],{"class":249,"line":250},[247,949,349],{"class":348},[247,951,952],{"class":261}," minimum ",[247,954,431],{"class":257},[247,956,958],{"class":957},"sbssI"," 2\n",[247,960,961,963,965,967,969,971,973,975,978,980,983,985,987,990,992,995],{"class":249,"line":281},[247,962,349],{"class":348},[247,964,258],{"class":257},[247,966,892],{"class":261},[247,968,328],{"class":257},[247,970,365],{"class":257},[247,972,368],{"class":261},[247,974,593],{"class":257},[247,976,977],{"class":297},"sql",[247,979,371],{"class":257},[247,981,982],{"class":374},"Planet",[247,984,378],{"class":257},[247,986,877],{"class":257},[247,988,989],{"class":274},"SELECT * FROM planets WHERE moons >= ",[247,991,862],{"class":257},[247,993,994],{"class":261},"minimum",[247,996,997],{"class":257},"}`\n",[214,999,1000],{},"The template form is evaluated once: use the function form with refs for values that change.",[333,1002,1004],{"id":1003},"useliveincrementalquery",[224,1005,1006],{},"useLiveIncrementalQuery",[214,1008,1009],{},"For large result sets, the incremental variant diffs the result by a key column instead of replacing every row:",[237,1011,1013],{"className":239,"code":1012,"language":242,"meta":243,"style":243},"const { rows } = useLiveIncrementalQuery\u003CTodo>('SELECT * FROM todos ORDER BY id', [], 'id')\n",[224,1014,1015],{"__ignoreMap":243},[247,1016,1017,1019,1021,1023,1025,1027,1030,1032,1034,1036,1038,1040,1042,1044,1046,1049,1051,1053,1055,1057],{"class":249,"line":250},[247,1018,349],{"class":348},[247,1020,258],{"class":257},[247,1022,892],{"class":261},[247,1024,328],{"class":257},[247,1026,365],{"class":257},[247,1028,1029],{"class":297}," useLiveIncrementalQuery",[247,1031,371],{"class":257},[247,1033,375],{"class":374},[247,1035,378],{"class":257},[247,1037,301],{"class":261},[247,1039,383],{"class":257},[247,1041,386],{"class":274},[247,1043,383],{"class":257},[247,1045,357],{"class":257},[247,1047,1048],{"class":261}," []",[247,1050,357],{"class":257},[247,1052,271],{"class":257},[247,1054,694],{"class":274},[247,1056,383],{"class":257},[247,1058,331],{"class":261},[214,1060,1061],{},"The third argument is the column that uniquely identifies a row; like the query, it also accepts a ref or a getter.",[333,1063,1065],{"id":1064},"where-they-can-run","Where they can run",[214,1067,1068,1069,1072,1073,1076,1077,1080,1081,1083,1084,1086],{},"The composables subscribe in the browser only and throw during server-side rendering. Call them in the ",[224,1070,1071],{},"setup"," of a ",[224,1074,1075],{},".client.vue"," component, or of a component rendered inside ",[224,1078,1079],{},"\u003CClientOnly>",". They need ",[224,1082,226],{}," in ",[224,1085,234],{},"; without it they fail with a message saying so.",[1088,1089,1090],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":243,"searchDepth":250,"depth":281,"links":1092},[1093,1097,1098],{"id":335,"depth":281,"text":338,"children":1094},[1095,1096],{"id":801,"depth":288,"text":802},{"id":933,"depth":288,"text":934},{"id":1003,"depth":281,"text":1006},{"id":1064,"depth":281,"text":1065},"Components that follow the data, with useLiveQuery and useLiveIncrementalQuery.","md",null,{},{"icon":57},{"title":54,"description":1099},"JqCoblJUmCGNd1crS2Ymc3mT0xrlKr7Q-aszMfYwm9s",[1107,1109],{"title":28,"path":48,"stem":49,"description":1108,"icon":52,"children":-1},"PGlite in the browser, in a Web Worker shared between tabs.",{"title":41,"path":59,"stem":60,"description":1110,"icon":44,"children":-1},"Explicit imports, data directories, the worker and the Vite requirement.",1791474260570]