@dotdo/postgres 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1129) hide show
  1. package/README.md +868 -0
  2. package/dist/cdc/change-stream.d.ts +44 -0
  3. package/dist/cdc/change-stream.d.ts.map +1 -0
  4. package/dist/cdc/change-stream.js +95 -0
  5. package/dist/cdc/change-stream.js.map +1 -0
  6. package/dist/cdc/filter.d.ts +58 -0
  7. package/dist/cdc/filter.d.ts.map +1 -0
  8. package/dist/cdc/filter.js +520 -0
  9. package/dist/cdc/filter.js.map +1 -0
  10. package/dist/cdc/index.d.ts +47 -0
  11. package/dist/cdc/index.d.ts.map +1 -0
  12. package/dist/cdc/index.js +50 -0
  13. package/dist/cdc/index.js.map +1 -0
  14. package/dist/cdc/resume-token.d.ts +60 -0
  15. package/dist/cdc/resume-token.d.ts.map +1 -0
  16. package/dist/cdc/resume-token.js +228 -0
  17. package/dist/cdc/resume-token.js.map +1 -0
  18. package/dist/cdc/transport/index.d.ts +7 -0
  19. package/dist/cdc/transport/index.d.ts.map +1 -0
  20. package/dist/cdc/transport/index.js +7 -0
  21. package/dist/cdc/transport/index.js.map +1 -0
  22. package/dist/cdc/transport/sse.d.ts +120 -0
  23. package/dist/cdc/transport/sse.d.ts.map +1 -0
  24. package/dist/cdc/transport/sse.js +590 -0
  25. package/dist/cdc/transport/sse.js.map +1 -0
  26. package/dist/cdc/transport/websocket.d.ts +130 -0
  27. package/dist/cdc/transport/websocket.d.ts.map +1 -0
  28. package/dist/cdc/transport/websocket.js +688 -0
  29. package/dist/cdc/transport/websocket.js.map +1 -0
  30. package/dist/cdc/types.d.ts +306 -0
  31. package/dist/cdc/types.d.ts.map +1 -0
  32. package/dist/cdc/types.js +8 -0
  33. package/dist/cdc/types.js.map +1 -0
  34. package/dist/config/index.d.ts +25 -0
  35. package/dist/config/index.d.ts.map +1 -0
  36. package/dist/config/index.js +25 -0
  37. package/dist/config/index.js.map +1 -0
  38. package/dist/config/memory.d.ts +139 -0
  39. package/dist/config/memory.d.ts.map +1 -0
  40. package/dist/config/memory.js +157 -0
  41. package/dist/config/memory.js.map +1 -0
  42. package/dist/config/storage.d.ts +157 -0
  43. package/dist/config/storage.d.ts.map +1 -0
  44. package/dist/config/storage.js +178 -0
  45. package/dist/config/storage.js.map +1 -0
  46. package/dist/config/streaming.d.ts +117 -0
  47. package/dist/config/streaming.d.ts.map +1 -0
  48. package/dist/config/streaming.js +132 -0
  49. package/dist/config/streaming.js.map +1 -0
  50. package/dist/config/timeouts.d.ts +168 -0
  51. package/dist/config/timeouts.d.ts.map +1 -0
  52. package/dist/config/timeouts.js +192 -0
  53. package/dist/config/timeouts.js.map +1 -0
  54. package/dist/extensions/config.d.ts +89 -0
  55. package/dist/extensions/config.d.ts.map +1 -0
  56. package/dist/extensions/config.js +216 -0
  57. package/dist/extensions/config.js.map +1 -0
  58. package/dist/extensions/geo.d.ts +452 -0
  59. package/dist/extensions/geo.d.ts.map +1 -0
  60. package/dist/extensions/geo.js +583 -0
  61. package/dist/extensions/geo.js.map +1 -0
  62. package/dist/extensions/index.d.ts +167 -0
  63. package/dist/extensions/index.d.ts.map +1 -0
  64. package/dist/extensions/index.js +99 -0
  65. package/dist/extensions/index.js.map +1 -0
  66. package/dist/extensions/loader.d.ts +226 -0
  67. package/dist/extensions/loader.d.ts.map +1 -0
  68. package/dist/extensions/loader.js +456 -0
  69. package/dist/extensions/loader.js.map +1 -0
  70. package/dist/extensions/pgmq-lite.d.ts +330 -0
  71. package/dist/extensions/pgmq-lite.d.ts.map +1 -0
  72. package/dist/extensions/pgmq-lite.js +648 -0
  73. package/dist/extensions/pgmq-lite.js.map +1 -0
  74. package/dist/extensions/plugins.d.ts +260 -0
  75. package/dist/extensions/plugins.d.ts.map +1 -0
  76. package/dist/extensions/plugins.js +535 -0
  77. package/dist/extensions/plugins.js.map +1 -0
  78. package/dist/extensions/registry.d.ts +93 -0
  79. package/dist/extensions/registry.d.ts.map +1 -0
  80. package/dist/extensions/registry.js +182 -0
  81. package/dist/extensions/registry.js.map +1 -0
  82. package/dist/extensions/vector.d.ts +106 -0
  83. package/dist/extensions/vector.d.ts.map +1 -0
  84. package/dist/extensions/vector.js +129 -0
  85. package/dist/extensions/vector.js.map +1 -0
  86. package/dist/iceberg/analytics.d.ts +279 -0
  87. package/dist/iceberg/analytics.d.ts.map +1 -0
  88. package/dist/iceberg/analytics.js +448 -0
  89. package/dist/iceberg/analytics.js.map +1 -0
  90. package/dist/iceberg/catalog-api.d.ts +39 -0
  91. package/dist/iceberg/catalog-api.d.ts.map +1 -0
  92. package/dist/iceberg/catalog-api.js +388 -0
  93. package/dist/iceberg/catalog-api.js.map +1 -0
  94. package/dist/iceberg/catalog.d.ts +401 -0
  95. package/dist/iceberg/catalog.d.ts.map +1 -0
  96. package/dist/iceberg/catalog.js +677 -0
  97. package/dist/iceberg/catalog.js.map +1 -0
  98. package/dist/iceberg/duckdb-wasm.d.ts +447 -0
  99. package/dist/iceberg/duckdb-wasm.d.ts.map +1 -0
  100. package/dist/iceberg/duckdb-wasm.js +600 -0
  101. package/dist/iceberg/duckdb-wasm.js.map +1 -0
  102. package/dist/iceberg/index.d.ts +92 -0
  103. package/dist/iceberg/index.d.ts.map +1 -0
  104. package/dist/iceberg/index.js +119 -0
  105. package/dist/iceberg/index.js.map +1 -0
  106. package/dist/iceberg/metadata.d.ts +214 -0
  107. package/dist/iceberg/metadata.d.ts.map +1 -0
  108. package/dist/iceberg/metadata.js +535 -0
  109. package/dist/iceberg/metadata.js.map +1 -0
  110. package/dist/iceberg/optimizer.d.ts +296 -0
  111. package/dist/iceberg/optimizer.d.ts.map +1 -0
  112. package/dist/iceberg/optimizer.js +889 -0
  113. package/dist/iceberg/optimizer.js.map +1 -0
  114. package/dist/iceberg/parquet.d.ts +447 -0
  115. package/dist/iceberg/parquet.d.ts.map +1 -0
  116. package/dist/iceberg/parquet.js +1225 -0
  117. package/dist/iceberg/parquet.js.map +1 -0
  118. package/dist/iceberg/r2-organization.d.ts +422 -0
  119. package/dist/iceberg/r2-organization.d.ts.map +1 -0
  120. package/dist/iceberg/r2-organization.js +672 -0
  121. package/dist/iceberg/r2-organization.js.map +1 -0
  122. package/dist/iceberg/scheduler-do-example.d.ts +158 -0
  123. package/dist/iceberg/scheduler-do-example.d.ts.map +1 -0
  124. package/dist/iceberg/scheduler-do-example.js +261 -0
  125. package/dist/iceberg/scheduler-do-example.js.map +1 -0
  126. package/dist/iceberg/scheduler.d.ts +434 -0
  127. package/dist/iceberg/scheduler.d.ts.map +1 -0
  128. package/dist/iceberg/scheduler.js +818 -0
  129. package/dist/iceberg/scheduler.js.map +1 -0
  130. package/dist/iceberg/schema.d.ts +149 -0
  131. package/dist/iceberg/schema.d.ts.map +1 -0
  132. package/dist/iceberg/schema.js +525 -0
  133. package/dist/iceberg/schema.js.map +1 -0
  134. package/dist/iceberg/snapshot-manager.d.ts +406 -0
  135. package/dist/iceberg/snapshot-manager.d.ts.map +1 -0
  136. package/dist/iceberg/snapshot-manager.js +934 -0
  137. package/dist/iceberg/snapshot-manager.js.map +1 -0
  138. package/dist/iceberg/sql-router.d.ts +194 -0
  139. package/dist/iceberg/sql-router.d.ts.map +1 -0
  140. package/dist/iceberg/sql-router.js +180 -0
  141. package/dist/iceberg/sql-router.js.map +1 -0
  142. package/dist/iceberg/test-fixtures.d.ts +151 -0
  143. package/dist/iceberg/test-fixtures.d.ts.map +1 -0
  144. package/dist/iceberg/test-fixtures.js +446 -0
  145. package/dist/iceberg/test-fixtures.js.map +1 -0
  146. package/dist/iceberg/time-travel-api.d.ts +102 -0
  147. package/dist/iceberg/time-travel-api.d.ts.map +1 -0
  148. package/dist/iceberg/time-travel-api.js +437 -0
  149. package/dist/iceberg/time-travel-api.js.map +1 -0
  150. package/dist/iceberg/time-travel.d.ts +293 -0
  151. package/dist/iceberg/time-travel.d.ts.map +1 -0
  152. package/dist/iceberg/time-travel.js +689 -0
  153. package/dist/iceberg/time-travel.js.map +1 -0
  154. package/dist/iceberg/transformer.d.ts +356 -0
  155. package/dist/iceberg/transformer.d.ts.map +1 -0
  156. package/dist/iceberg/transformer.js +770 -0
  157. package/dist/iceberg/transformer.js.map +1 -0
  158. package/dist/iceberg/types.d.ts +318 -0
  159. package/dist/iceberg/types.d.ts.map +1 -0
  160. package/dist/iceberg/types.js +9 -0
  161. package/dist/iceberg/types.js.map +1 -0
  162. package/dist/iceberg/writer.d.ts +144 -0
  163. package/dist/iceberg/writer.d.ts.map +1 -0
  164. package/dist/iceberg/writer.js +452 -0
  165. package/dist/iceberg/writer.js.map +1 -0
  166. package/dist/index.d.ts +50 -0
  167. package/dist/index.d.ts.map +1 -0
  168. package/dist/index.js +69 -0
  169. package/dist/index.js.map +1 -0
  170. package/dist/lineage/index.d.ts +11 -0
  171. package/dist/lineage/index.d.ts.map +1 -0
  172. package/dist/lineage/index.js +11 -0
  173. package/dist/lineage/index.js.map +1 -0
  174. package/dist/lineage/integration.d.ts +134 -0
  175. package/dist/lineage/integration.d.ts.map +1 -0
  176. package/dist/lineage/integration.js +258 -0
  177. package/dist/lineage/integration.js.map +1 -0
  178. package/dist/lineage/tracker.d.ts +189 -0
  179. package/dist/lineage/tracker.d.ts.map +1 -0
  180. package/dist/lineage/tracker.js +1352 -0
  181. package/dist/lineage/tracker.js.map +1 -0
  182. package/dist/lineage/types.d.ts +318 -0
  183. package/dist/lineage/types.d.ts.map +1 -0
  184. package/dist/lineage/types.js +9 -0
  185. package/dist/lineage/types.js.map +1 -0
  186. package/dist/middleware/index.d.ts +11 -0
  187. package/dist/middleware/index.d.ts.map +1 -0
  188. package/dist/middleware/index.js +16 -0
  189. package/dist/middleware/index.js.map +1 -0
  190. package/dist/middleware/rate-limit.d.ts +397 -0
  191. package/dist/middleware/rate-limit.d.ts.map +1 -0
  192. package/dist/middleware/rate-limit.js +507 -0
  193. package/dist/middleware/rate-limit.js.map +1 -0
  194. package/dist/migration-tooling/external-migration.d.ts +601 -0
  195. package/dist/migration-tooling/external-migration.d.ts.map +1 -0
  196. package/dist/migration-tooling/external-migration.js +1612 -0
  197. package/dist/migration-tooling/external-migration.js.map +1 -0
  198. package/dist/migration-tooling/index.d.ts +19 -0
  199. package/dist/migration-tooling/index.d.ts.map +1 -0
  200. package/dist/migration-tooling/index.js +19 -0
  201. package/dist/migration-tooling/index.js.map +1 -0
  202. package/dist/migrations/auto-migrator.d.ts +289 -0
  203. package/dist/migrations/auto-migrator.d.ts.map +1 -0
  204. package/dist/migrations/auto-migrator.js +396 -0
  205. package/dist/migrations/auto-migrator.js.map +1 -0
  206. package/dist/migrations/bulk-orchestrator.d.ts +403 -0
  207. package/dist/migrations/bulk-orchestrator.d.ts.map +1 -0
  208. package/dist/migrations/bulk-orchestrator.js +646 -0
  209. package/dist/migrations/bulk-orchestrator.js.map +1 -0
  210. package/dist/migrations/compatibility.d.ts +216 -0
  211. package/dist/migrations/compatibility.d.ts.map +1 -0
  212. package/dist/migrations/compatibility.js +651 -0
  213. package/dist/migrations/compatibility.js.map +1 -0
  214. package/dist/migrations/do-migrations.d.ts +101 -0
  215. package/dist/migrations/do-migrations.d.ts.map +1 -0
  216. package/dist/migrations/do-migrations.js +1060 -0
  217. package/dist/migrations/do-migrations.js.map +1 -0
  218. package/dist/migrations/do-migrations.types.d.ts +550 -0
  219. package/dist/migrations/do-migrations.types.d.ts.map +1 -0
  220. package/dist/migrations/do-migrations.types.js +15 -0
  221. package/dist/migrations/do-migrations.types.js.map +1 -0
  222. package/dist/migrations/drizzle-compat.d.ts +163 -0
  223. package/dist/migrations/drizzle-compat.d.ts.map +1 -0
  224. package/dist/migrations/drizzle-compat.js +273 -0
  225. package/dist/migrations/drizzle-compat.js.map +1 -0
  226. package/dist/migrations/index.d.ts +109 -0
  227. package/dist/migrations/index.d.ts.map +1 -0
  228. package/dist/migrations/index.js +127 -0
  229. package/dist/migrations/index.js.map +1 -0
  230. package/dist/migrations/migration-api.d.ts +161 -0
  231. package/dist/migrations/migration-api.d.ts.map +1 -0
  232. package/dist/migrations/migration-api.js +499 -0
  233. package/dist/migrations/migration-api.js.map +1 -0
  234. package/dist/migrations/progress-tracker-do.d.ts +195 -0
  235. package/dist/migrations/progress-tracker-do.d.ts.map +1 -0
  236. package/dist/migrations/progress-tracker-do.js +339 -0
  237. package/dist/migrations/progress-tracker-do.js.map +1 -0
  238. package/dist/migrations/progress-tracker-kv.d.ts +103 -0
  239. package/dist/migrations/progress-tracker-kv.d.ts.map +1 -0
  240. package/dist/migrations/progress-tracker-kv.js +231 -0
  241. package/dist/migrations/progress-tracker-kv.js.map +1 -0
  242. package/dist/migrations/progress-tracker.d.ts +320 -0
  243. package/dist/migrations/progress-tracker.d.ts.map +1 -0
  244. package/dist/migrations/progress-tracker.js +443 -0
  245. package/dist/migrations/progress-tracker.js.map +1 -0
  246. package/dist/migrations/registry.d.ts +231 -0
  247. package/dist/migrations/registry.d.ts.map +1 -0
  248. package/dist/migrations/registry.js +376 -0
  249. package/dist/migrations/registry.js.map +1 -0
  250. package/dist/migrations/runner.d.ts +197 -0
  251. package/dist/migrations/runner.d.ts.map +1 -0
  252. package/dist/migrations/runner.js +1167 -0
  253. package/dist/migrations/runner.js.map +1 -0
  254. package/dist/migrations/schema-generator.d.ts +111 -0
  255. package/dist/migrations/schema-generator.d.ts.map +1 -0
  256. package/dist/migrations/schema-generator.js +335 -0
  257. package/dist/migrations/schema-generator.js.map +1 -0
  258. package/dist/migrations/testing.d.ts +321 -0
  259. package/dist/migrations/testing.d.ts.map +1 -0
  260. package/dist/migrations/testing.js +645 -0
  261. package/dist/migrations/testing.js.map +1 -0
  262. package/dist/migrations/types.d.ts +503 -0
  263. package/dist/migrations/types.d.ts.map +1 -0
  264. package/dist/migrations/types.js +11 -0
  265. package/dist/migrations/types.js.map +1 -0
  266. package/dist/migrations/validator.d.ts +215 -0
  267. package/dist/migrations/validator.d.ts.map +1 -0
  268. package/dist/migrations/validator.js +494 -0
  269. package/dist/migrations/validator.js.map +1 -0
  270. package/dist/observability/alerting.d.ts +116 -0
  271. package/dist/observability/alerting.d.ts.map +1 -0
  272. package/dist/observability/alerting.js +353 -0
  273. package/dist/observability/alerting.js.map +1 -0
  274. package/dist/observability/analytics-engine.d.ts +357 -0
  275. package/dist/observability/analytics-engine.d.ts.map +1 -0
  276. package/dist/observability/analytics-engine.js +430 -0
  277. package/dist/observability/analytics-engine.js.map +1 -0
  278. package/dist/observability/cost-metrics.d.ts +269 -0
  279. package/dist/observability/cost-metrics.d.ts.map +1 -0
  280. package/dist/observability/cost-metrics.js +560 -0
  281. package/dist/observability/cost-metrics.js.map +1 -0
  282. package/dist/observability/cross-do-tracing.d.ts +305 -0
  283. package/dist/observability/cross-do-tracing.d.ts.map +1 -0
  284. package/dist/observability/cross-do-tracing.js +431 -0
  285. package/dist/observability/cross-do-tracing.js.map +1 -0
  286. package/dist/observability/error-rate-collector.d.ts +163 -0
  287. package/dist/observability/error-rate-collector.d.ts.map +1 -0
  288. package/dist/observability/error-rate-collector.js +306 -0
  289. package/dist/observability/error-rate-collector.js.map +1 -0
  290. package/dist/observability/exporters.d.ts +231 -0
  291. package/dist/observability/exporters.d.ts.map +1 -0
  292. package/dist/observability/exporters.js +479 -0
  293. package/dist/observability/exporters.js.map +1 -0
  294. package/dist/observability/health-check.d.ts +106 -0
  295. package/dist/observability/health-check.d.ts.map +1 -0
  296. package/dist/observability/health-check.js +243 -0
  297. package/dist/observability/health-check.js.map +1 -0
  298. package/dist/observability/index.d.ts +297 -0
  299. package/dist/observability/index.d.ts.map +1 -0
  300. package/dist/observability/index.js +455 -0
  301. package/dist/observability/index.js.map +1 -0
  302. package/dist/observability/instrumentation.d.ts +222 -0
  303. package/dist/observability/instrumentation.d.ts.map +1 -0
  304. package/dist/observability/instrumentation.js +532 -0
  305. package/dist/observability/instrumentation.js.map +1 -0
  306. package/dist/observability/memory-metrics.d.ts +227 -0
  307. package/dist/observability/memory-metrics.d.ts.map +1 -0
  308. package/dist/observability/memory-metrics.js +688 -0
  309. package/dist/observability/memory-metrics.js.map +1 -0
  310. package/dist/observability/metrics-endpoint.d.ts +91 -0
  311. package/dist/observability/metrics-endpoint.d.ts.map +1 -0
  312. package/dist/observability/metrics-endpoint.js +246 -0
  313. package/dist/observability/metrics-endpoint.js.map +1 -0
  314. package/dist/observability/metrics.d.ts +88 -0
  315. package/dist/observability/metrics.d.ts.map +1 -0
  316. package/dist/observability/metrics.js +253 -0
  317. package/dist/observability/metrics.js.map +1 -0
  318. package/dist/observability/observability-features.d.ts +488 -0
  319. package/dist/observability/observability-features.d.ts.map +1 -0
  320. package/dist/observability/observability-features.js +773 -0
  321. package/dist/observability/observability-features.js.map +1 -0
  322. package/dist/observability/prometheus.d.ts +39 -0
  323. package/dist/observability/prometheus.d.ts.map +1 -0
  324. package/dist/observability/prometheus.js +120 -0
  325. package/dist/observability/prometheus.js.map +1 -0
  326. package/dist/observability/propagation.d.ts +126 -0
  327. package/dist/observability/propagation.d.ts.map +1 -0
  328. package/dist/observability/propagation.js +234 -0
  329. package/dist/observability/propagation.js.map +1 -0
  330. package/dist/observability/query-latency.d.ts +243 -0
  331. package/dist/observability/query-latency.d.ts.map +1 -0
  332. package/dist/observability/query-latency.js +292 -0
  333. package/dist/observability/query-latency.js.map +1 -0
  334. package/dist/observability/query-performance.d.ts +169 -0
  335. package/dist/observability/query-performance.d.ts.map +1 -0
  336. package/dist/observability/query-performance.js +290 -0
  337. package/dist/observability/query-performance.js.map +1 -0
  338. package/dist/observability/storage-tier-metrics.d.ts +174 -0
  339. package/dist/observability/storage-tier-metrics.d.ts.map +1 -0
  340. package/dist/observability/storage-tier-metrics.js +306 -0
  341. package/dist/observability/storage-tier-metrics.js.map +1 -0
  342. package/dist/observability/tier-cost-optimizer.d.ts +155 -0
  343. package/dist/observability/tier-cost-optimizer.d.ts.map +1 -0
  344. package/dist/observability/tier-cost-optimizer.js +536 -0
  345. package/dist/observability/tier-cost-optimizer.js.map +1 -0
  346. package/dist/observability/tracer.d.ts +149 -0
  347. package/dist/observability/tracer.d.ts.map +1 -0
  348. package/dist/observability/tracer.js +435 -0
  349. package/dist/observability/tracer.js.map +1 -0
  350. package/dist/observability/types.d.ts +402 -0
  351. package/dist/observability/types.d.ts.map +1 -0
  352. package/dist/observability/types.js +103 -0
  353. package/dist/observability/types.js.map +1 -0
  354. package/dist/pglite/workers-pglite.d.ts +138 -0
  355. package/dist/pglite/workers-pglite.d.ts.map +1 -0
  356. package/dist/pglite/workers-pglite.js +143 -0
  357. package/dist/pglite/workers-pglite.js.map +1 -0
  358. package/dist/pglite-assets/pglite.data +0 -0
  359. package/dist/pglite-assets/pglite.wasm +0 -0
  360. package/dist/playground/index.d.ts +52 -0
  361. package/dist/playground/index.d.ts.map +1 -0
  362. package/dist/playground/index.js +55 -0
  363. package/dist/playground/index.js.map +1 -0
  364. package/dist/playground/keyboard-shortcuts.d.ts +116 -0
  365. package/dist/playground/keyboard-shortcuts.d.ts.map +1 -0
  366. package/dist/playground/keyboard-shortcuts.js +588 -0
  367. package/dist/playground/keyboard-shortcuts.js.map +1 -0
  368. package/dist/playground/playground.d.ts +82 -0
  369. package/dist/playground/playground.d.ts.map +1 -0
  370. package/dist/playground/playground.js +271 -0
  371. package/dist/playground/playground.js.map +1 -0
  372. package/dist/playground/query-executor.d.ts +115 -0
  373. package/dist/playground/query-executor.d.ts.map +1 -0
  374. package/dist/playground/query-executor.js +558 -0
  375. package/dist/playground/query-executor.js.map +1 -0
  376. package/dist/playground/query-history.d.ts +92 -0
  377. package/dist/playground/query-history.d.ts.map +1 -0
  378. package/dist/playground/query-history.js +259 -0
  379. package/dist/playground/query-history.js.map +1 -0
  380. package/dist/playground/result-formatter.d.ts +59 -0
  381. package/dist/playground/result-formatter.d.ts.map +1 -0
  382. package/dist/playground/result-formatter.js +341 -0
  383. package/dist/playground/result-formatter.js.map +1 -0
  384. package/dist/playground/sample-datasets.d.ts +77 -0
  385. package/dist/playground/sample-datasets.d.ts.map +1 -0
  386. package/dist/playground/sample-datasets.js +641 -0
  387. package/dist/playground/sample-datasets.js.map +1 -0
  388. package/dist/playground/sample-queries.d.ts +73 -0
  389. package/dist/playground/sample-queries.d.ts.map +1 -0
  390. package/dist/playground/sample-queries.js +1095 -0
  391. package/dist/playground/sample-queries.js.map +1 -0
  392. package/dist/playground/schema-explorer.d.ts +55 -0
  393. package/dist/playground/schema-explorer.d.ts.map +1 -0
  394. package/dist/playground/schema-explorer.js +473 -0
  395. package/dist/playground/schema-explorer.js.map +1 -0
  396. package/dist/playground/types.d.ts +430 -0
  397. package/dist/playground/types.d.ts.map +1 -0
  398. package/dist/playground/types.js +10 -0
  399. package/dist/playground/types.js.map +1 -0
  400. package/dist/readonly/cache-reader.d.ts +145 -0
  401. package/dist/readonly/cache-reader.d.ts.map +1 -0
  402. package/dist/readonly/cache-reader.js +198 -0
  403. package/dist/readonly/cache-reader.js.map +1 -0
  404. package/dist/readonly/config.d.ts +74 -0
  405. package/dist/readonly/config.d.ts.map +1 -0
  406. package/dist/readonly/config.js +67 -0
  407. package/dist/readonly/config.js.map +1 -0
  408. package/dist/readonly/index.d.ts +22 -0
  409. package/dist/readonly/index.d.ts.map +1 -0
  410. package/dist/readonly/index.js +17 -0
  411. package/dist/readonly/index.js.map +1 -0
  412. package/dist/readonly/pglite-wrapper.d.ts +82 -0
  413. package/dist/readonly/pglite-wrapper.d.ts.map +1 -0
  414. package/dist/readonly/pglite-wrapper.js +123 -0
  415. package/dist/readonly/pglite-wrapper.js.map +1 -0
  416. package/dist/readonly/worker.d.ts +142 -0
  417. package/dist/readonly/worker.d.ts.map +1 -0
  418. package/dist/readonly/worker.js +187 -0
  419. package/dist/readonly/worker.js.map +1 -0
  420. package/dist/readonly/write-blocker.d.ts +47 -0
  421. package/dist/readonly/write-blocker.d.ts.map +1 -0
  422. package/dist/readonly/write-blocker.js +136 -0
  423. package/dist/readonly/write-blocker.js.map +1 -0
  424. package/dist/recovery/disaster-recovery.d.ts +326 -0
  425. package/dist/recovery/disaster-recovery.d.ts.map +1 -0
  426. package/dist/recovery/disaster-recovery.js +799 -0
  427. package/dist/recovery/disaster-recovery.js.map +1 -0
  428. package/dist/recovery/index.d.ts +12 -0
  429. package/dist/recovery/index.d.ts.map +1 -0
  430. package/dist/recovery/index.js +12 -0
  431. package/dist/recovery/index.js.map +1 -0
  432. package/dist/recovery/parquet-parser.d.ts +321 -0
  433. package/dist/recovery/parquet-parser.d.ts.map +1 -0
  434. package/dist/recovery/parquet-parser.js +797 -0
  435. package/dist/recovery/parquet-parser.js.map +1 -0
  436. package/dist/retention/index.d.ts +50 -0
  437. package/dist/retention/index.d.ts.map +1 -0
  438. package/dist/retention/index.js +50 -0
  439. package/dist/retention/index.js.map +1 -0
  440. package/dist/retention/policy.d.ts +344 -0
  441. package/dist/retention/policy.d.ts.map +1 -0
  442. package/dist/retention/policy.js +472 -0
  443. package/dist/retention/policy.js.map +1 -0
  444. package/dist/retention/purger.d.ts +187 -0
  445. package/dist/retention/purger.d.ts.map +1 -0
  446. package/dist/retention/purger.js +411 -0
  447. package/dist/retention/purger.js.map +1 -0
  448. package/dist/rls/auth-integration.d.ts +280 -0
  449. package/dist/rls/auth-integration.d.ts.map +1 -0
  450. package/dist/rls/auth-integration.js +399 -0
  451. package/dist/rls/auth-integration.js.map +1 -0
  452. package/dist/rls/generator.d.ts +249 -0
  453. package/dist/rls/generator.d.ts.map +1 -0
  454. package/dist/rls/generator.js +495 -0
  455. package/dist/rls/generator.js.map +1 -0
  456. package/dist/rls/index.d.ts +26 -0
  457. package/dist/rls/index.d.ts.map +1 -0
  458. package/dist/rls/index.js +58 -0
  459. package/dist/rls/index.js.map +1 -0
  460. package/dist/rls/policy.d.ts +116 -0
  461. package/dist/rls/policy.d.ts.map +1 -0
  462. package/dist/rls/policy.js +77 -0
  463. package/dist/rls/policy.js.map +1 -0
  464. package/dist/rls/validator.d.ts +155 -0
  465. package/dist/rls/validator.d.ts.map +1 -0
  466. package/dist/rls/validator.js +792 -0
  467. package/dist/rls/validator.js.map +1 -0
  468. package/dist/routing/adaptive-router.d.ts +317 -0
  469. package/dist/routing/adaptive-router.d.ts.map +1 -0
  470. package/dist/routing/adaptive-router.js +554 -0
  471. package/dist/routing/adaptive-router.js.map +1 -0
  472. package/dist/routing/circuit-breaker.d.ts +339 -0
  473. package/dist/routing/circuit-breaker.d.ts.map +1 -0
  474. package/dist/routing/circuit-breaker.js +620 -0
  475. package/dist/routing/circuit-breaker.js.map +1 -0
  476. package/dist/routing/cost-metrics.d.ts +133 -0
  477. package/dist/routing/cost-metrics.d.ts.map +1 -0
  478. package/dist/routing/cost-metrics.js +259 -0
  479. package/dist/routing/cost-metrics.js.map +1 -0
  480. package/dist/routing/do-connection-pool.d.ts +243 -0
  481. package/dist/routing/do-connection-pool.d.ts.map +1 -0
  482. package/dist/routing/do-connection-pool.js +572 -0
  483. package/dist/routing/do-connection-pool.js.map +1 -0
  484. package/dist/routing/index.d.ts +59 -0
  485. package/dist/routing/index.d.ts.map +1 -0
  486. package/dist/routing/index.js +59 -0
  487. package/dist/routing/index.js.map +1 -0
  488. package/dist/routing/query-complexity-estimator.d.ts +73 -0
  489. package/dist/routing/query-complexity-estimator.d.ts.map +1 -0
  490. package/dist/routing/query-complexity-estimator.js +327 -0
  491. package/dist/routing/query-complexity-estimator.js.map +1 -0
  492. package/dist/routing/request-coalescing.d.ts +178 -0
  493. package/dist/routing/request-coalescing.d.ts.map +1 -0
  494. package/dist/routing/request-coalescing.js +325 -0
  495. package/dist/routing/request-coalescing.js.map +1 -0
  496. package/dist/routing/runtime-router.d.ts +107 -0
  497. package/dist/routing/runtime-router.d.ts.map +1 -0
  498. package/dist/routing/runtime-router.js +246 -0
  499. package/dist/routing/runtime-router.js.map +1 -0
  500. package/dist/routing/tenant-router.d.ts +848 -0
  501. package/dist/routing/tenant-router.d.ts.map +1 -0
  502. package/dist/routing/tenant-router.js +1056 -0
  503. package/dist/routing/tenant-router.js.map +1 -0
  504. package/dist/routing/websocket-pool.d.ts +119 -0
  505. package/dist/routing/websocket-pool.d.ts.map +1 -0
  506. package/dist/routing/websocket-pool.js +436 -0
  507. package/dist/routing/websocket-pool.js.map +1 -0
  508. package/dist/storage/cache-layer.d.ts +159 -0
  509. package/dist/storage/cache-layer.d.ts.map +1 -0
  510. package/dist/storage/cache-layer.js +245 -0
  511. package/dist/storage/cache-layer.js.map +1 -0
  512. package/dist/storage/cost-aware-tiering.d.ts +258 -0
  513. package/dist/storage/cost-aware-tiering.d.ts.map +1 -0
  514. package/dist/storage/cost-aware-tiering.js +526 -0
  515. package/dist/storage/cost-aware-tiering.js.map +1 -0
  516. package/dist/storage/index.d.ts +87 -0
  517. package/dist/storage/index.d.ts.map +1 -0
  518. package/dist/storage/index.js +78 -0
  519. package/dist/storage/index.js.map +1 -0
  520. package/dist/storage/interfaces.d.ts +856 -0
  521. package/dist/storage/interfaces.d.ts.map +1 -0
  522. package/dist/storage/interfaces.js +69 -0
  523. package/dist/storage/interfaces.js.map +1 -0
  524. package/dist/storage/r2-layer.d.ts +226 -0
  525. package/dist/storage/r2-layer.d.ts.map +1 -0
  526. package/dist/storage/r2-layer.js +307 -0
  527. package/dist/storage/r2-layer.js.map +1 -0
  528. package/dist/storage/r2-overflow.d.ts +344 -0
  529. package/dist/storage/r2-overflow.d.ts.map +1 -0
  530. package/dist/storage/r2-overflow.js +730 -0
  531. package/dist/storage/r2-overflow.js.map +1 -0
  532. package/dist/storage/r2-page-vfs.d.ts +374 -0
  533. package/dist/storage/r2-page-vfs.d.ts.map +1 -0
  534. package/dist/storage/r2-page-vfs.js +754 -0
  535. package/dist/storage/r2-page-vfs.js.map +1 -0
  536. package/dist/storage/swr-cache.d.ts +181 -0
  537. package/dist/storage/swr-cache.d.ts.map +1 -0
  538. package/dist/storage/swr-cache.js +295 -0
  539. package/dist/storage/swr-cache.js.map +1 -0
  540. package/dist/storage/tiered-orchestrator.d.ts +951 -0
  541. package/dist/storage/tiered-orchestrator.d.ts.map +1 -0
  542. package/dist/storage/tiered-orchestrator.js +1731 -0
  543. package/dist/storage/tiered-orchestrator.js.map +1 -0
  544. package/dist/storage/tiered-vfs-swr.d.ts +279 -0
  545. package/dist/storage/tiered-vfs-swr.d.ts.map +1 -0
  546. package/dist/storage/tiered-vfs-swr.js +584 -0
  547. package/dist/storage/tiered-vfs-swr.js.map +1 -0
  548. package/dist/storage/tiered-vfs.d.ts +405 -0
  549. package/dist/storage/tiered-vfs.d.ts.map +1 -0
  550. package/dist/storage/tiered-vfs.js +833 -0
  551. package/dist/storage/tiered-vfs.js.map +1 -0
  552. package/dist/streaming/backpressure-controller.d.ts +173 -0
  553. package/dist/streaming/backpressure-controller.d.ts.map +1 -0
  554. package/dist/streaming/backpressure-controller.js +344 -0
  555. package/dist/streaming/backpressure-controller.js.map +1 -0
  556. package/dist/streaming/buffer-pool.d.ts +241 -0
  557. package/dist/streaming/buffer-pool.d.ts.map +1 -0
  558. package/dist/streaming/buffer-pool.js +381 -0
  559. package/dist/streaming/buffer-pool.js.map +1 -0
  560. package/dist/streaming/cdc-iceberg-connector.d.ts +272 -0
  561. package/dist/streaming/cdc-iceberg-connector.d.ts.map +1 -0
  562. package/dist/streaming/cdc-iceberg-connector.js +408 -0
  563. package/dist/streaming/cdc-iceberg-connector.js.map +1 -0
  564. package/dist/streaming/index.d.ts +111 -0
  565. package/dist/streaming/index.d.ts.map +1 -0
  566. package/dist/streaming/index.js +128 -0
  567. package/dist/streaming/index.js.map +1 -0
  568. package/dist/streaming/live-cdc-stream.d.ts +400 -0
  569. package/dist/streaming/live-cdc-stream.d.ts.map +1 -0
  570. package/dist/streaming/live-cdc-stream.js +703 -0
  571. package/dist/streaming/live-cdc-stream.js.map +1 -0
  572. package/dist/streaming/memory-bounded-stream.d.ts +207 -0
  573. package/dist/streaming/memory-bounded-stream.d.ts.map +1 -0
  574. package/dist/streaming/memory-bounded-stream.js +340 -0
  575. package/dist/streaming/memory-bounded-stream.js.map +1 -0
  576. package/dist/streaming/query-streamer.d.ts +379 -0
  577. package/dist/streaming/query-streamer.d.ts.map +1 -0
  578. package/dist/streaming/query-streamer.js +495 -0
  579. package/dist/streaming/query-streamer.js.map +1 -0
  580. package/dist/streaming/response-streaming.d.ts +203 -0
  581. package/dist/streaming/response-streaming.d.ts.map +1 -0
  582. package/dist/streaming/response-streaming.js +449 -0
  583. package/dist/streaming/response-streaming.js.map +1 -0
  584. package/dist/types/branded.d.ts +859 -0
  585. package/dist/types/branded.d.ts.map +1 -0
  586. package/dist/types/branded.js +891 -0
  587. package/dist/types/branded.js.map +1 -0
  588. package/dist/types/utilities.d.ts +757 -0
  589. package/dist/types/utilities.d.ts.map +1 -0
  590. package/dist/types/utilities.js +447 -0
  591. package/dist/types/utilities.js.map +1 -0
  592. package/dist/wal/replay-engine.d.ts +344 -0
  593. package/dist/wal/replay-engine.d.ts.map +1 -0
  594. package/dist/wal/replay-engine.js +975 -0
  595. package/dist/wal/replay-engine.js.map +1 -0
  596. package/dist/worker/__mocks__/capnweb.d.ts +13 -0
  597. package/dist/worker/__mocks__/capnweb.d.ts.map +1 -0
  598. package/dist/worker/__mocks__/capnweb.js +15 -0
  599. package/dist/worker/__mocks__/capnweb.js.map +1 -0
  600. package/dist/worker/__mocks__/cloudflare-workers.d.ts +31 -0
  601. package/dist/worker/__mocks__/cloudflare-workers.d.ts.map +1 -0
  602. package/dist/worker/__mocks__/cloudflare-workers.js +33 -0
  603. package/dist/worker/__mocks__/cloudflare-workers.js.map +1 -0
  604. package/dist/worker/__mocks__/pglite.data.d.ts +3 -0
  605. package/dist/worker/__mocks__/pglite.data.d.ts.map +1 -0
  606. package/dist/worker/__mocks__/pglite.data.js +20 -0
  607. package/dist/worker/__mocks__/pglite.data.js.map +1 -0
  608. package/dist/worker/__mocks__/pglite.wasm.d.ts +3 -0
  609. package/dist/worker/__mocks__/pglite.wasm.d.ts.map +1 -0
  610. package/dist/worker/__mocks__/pglite.wasm.js +30 -0
  611. package/dist/worker/__mocks__/pglite.wasm.js.map +1 -0
  612. package/dist/worker/auth-rate-limiter.d.ts +270 -0
  613. package/dist/worker/auth-rate-limiter.d.ts.map +1 -0
  614. package/dist/worker/auth-rate-limiter.js +332 -0
  615. package/dist/worker/auth-rate-limiter.js.map +1 -0
  616. package/dist/worker/auth.d.ts +345 -0
  617. package/dist/worker/auth.d.ts.map +1 -0
  618. package/dist/worker/auth.js +837 -0
  619. package/dist/worker/auth.js.map +1 -0
  620. package/dist/worker/cdc-backpressure.d.ts +338 -0
  621. package/dist/worker/cdc-backpressure.d.ts.map +1 -0
  622. package/dist/worker/cdc-backpressure.js +619 -0
  623. package/dist/worker/cdc-backpressure.js.map +1 -0
  624. package/dist/worker/cdc-sse.d.ts +277 -0
  625. package/dist/worker/cdc-sse.d.ts.map +1 -0
  626. package/dist/worker/cdc-sse.js +528 -0
  627. package/dist/worker/cdc-sse.js.map +1 -0
  628. package/dist/worker/cdc-websocket.d.ts +252 -0
  629. package/dist/worker/cdc-websocket.d.ts.map +1 -0
  630. package/dist/worker/cdc-websocket.js +940 -0
  631. package/dist/worker/cdc-websocket.js.map +1 -0
  632. package/dist/worker/cdc.d.ts +95 -0
  633. package/dist/worker/cdc.d.ts.map +1 -0
  634. package/dist/worker/cdc.js +211 -0
  635. package/dist/worker/cdc.js.map +1 -0
  636. package/dist/worker/concerns/auth-concern.d.ts +50 -0
  637. package/dist/worker/concerns/auth-concern.d.ts.map +1 -0
  638. package/dist/worker/concerns/auth-concern.js +131 -0
  639. package/dist/worker/concerns/auth-concern.js.map +1 -0
  640. package/dist/worker/concerns/cdc-concern.d.ts +99 -0
  641. package/dist/worker/concerns/cdc-concern.d.ts.map +1 -0
  642. package/dist/worker/concerns/cdc-concern.js +137 -0
  643. package/dist/worker/concerns/cdc-concern.js.map +1 -0
  644. package/dist/worker/concerns/index.d.ts +22 -0
  645. package/dist/worker/concerns/index.d.ts.map +1 -0
  646. package/dist/worker/concerns/index.js +13 -0
  647. package/dist/worker/concerns/index.js.map +1 -0
  648. package/dist/worker/concerns/query-execution-concern.d.ts +104 -0
  649. package/dist/worker/concerns/query-execution-concern.d.ts.map +1 -0
  650. package/dist/worker/concerns/query-execution-concern.js +95 -0
  651. package/dist/worker/concerns/query-execution-concern.js.map +1 -0
  652. package/dist/worker/concerns/storage-orchestration-concern.d.ts +78 -0
  653. package/dist/worker/concerns/storage-orchestration-concern.d.ts.map +1 -0
  654. package/dist/worker/concerns/storage-orchestration-concern.js +240 -0
  655. package/dist/worker/concerns/storage-orchestration-concern.js.map +1 -0
  656. package/dist/worker/do-auth-manager.d.ts +108 -0
  657. package/dist/worker/do-auth-manager.d.ts.map +1 -0
  658. package/dist/worker/do-auth-manager.js +212 -0
  659. package/dist/worker/do-auth-manager.js.map +1 -0
  660. package/dist/worker/do-pglite-manager.d.ts +137 -0
  661. package/dist/worker/do-pglite-manager.d.ts.map +1 -0
  662. package/dist/worker/do-pglite-manager.js +228 -0
  663. package/dist/worker/do-pglite-manager.js.map +1 -0
  664. package/dist/worker/do.d.ts +556 -0
  665. package/dist/worker/do.d.ts.map +1 -0
  666. package/dist/worker/do.js +1441 -0
  667. package/dist/worker/do.js.map +1 -0
  668. package/dist/worker/entry.d.ts +23 -0
  669. package/dist/worker/entry.d.ts.map +1 -0
  670. package/dist/worker/entry.js +362 -0
  671. package/dist/worker/entry.js.map +1 -0
  672. package/dist/worker/errors.d.ts +106 -0
  673. package/dist/worker/errors.d.ts.map +1 -0
  674. package/dist/worker/errors.js +178 -0
  675. package/dist/worker/errors.js.map +1 -0
  676. package/dist/worker/health-check-manager.d.ts +141 -0
  677. package/dist/worker/health-check-manager.d.ts.map +1 -0
  678. package/dist/worker/health-check-manager.js +145 -0
  679. package/dist/worker/health-check-manager.js.map +1 -0
  680. package/dist/worker/index.d.ts +60 -0
  681. package/dist/worker/index.d.ts.map +1 -0
  682. package/dist/worker/index.js +67 -0
  683. package/dist/worker/index.js.map +1 -0
  684. package/dist/worker/memory-pressure.d.ts +892 -0
  685. package/dist/worker/memory-pressure.d.ts.map +1 -0
  686. package/dist/worker/memory-pressure.js +1990 -0
  687. package/dist/worker/memory-pressure.js.map +1 -0
  688. package/dist/worker/migration-manager.d.ts +153 -0
  689. package/dist/worker/migration-manager.d.ts.map +1 -0
  690. package/dist/worker/migration-manager.js +461 -0
  691. package/dist/worker/migration-manager.js.map +1 -0
  692. package/dist/worker/plugin-manager.d.ts +147 -0
  693. package/dist/worker/plugin-manager.d.ts.map +1 -0
  694. package/dist/worker/plugin-manager.js +408 -0
  695. package/dist/worker/plugin-manager.js.map +1 -0
  696. package/dist/worker/proxy.d.ts +330 -0
  697. package/dist/worker/proxy.d.ts.map +1 -0
  698. package/dist/worker/proxy.js +504 -0
  699. package/dist/worker/proxy.js.map +1 -0
  700. package/dist/worker/query-execution-manager.d.ts +107 -0
  701. package/dist/worker/query-execution-manager.d.ts.map +1 -0
  702. package/dist/worker/query-execution-manager.js +155 -0
  703. package/dist/worker/query-execution-manager.js.map +1 -0
  704. package/dist/worker/query-executor.d.ts +163 -0
  705. package/dist/worker/query-executor.d.ts.map +1 -0
  706. package/dist/worker/query-executor.js +413 -0
  707. package/dist/worker/query-executor.js.map +1 -0
  708. package/dist/worker/query-stats-manager.d.ts +117 -0
  709. package/dist/worker/query-stats-manager.d.ts.map +1 -0
  710. package/dist/worker/query-stats-manager.js +162 -0
  711. package/dist/worker/query-stats-manager.js.map +1 -0
  712. package/dist/worker/result-handler.d.ts +192 -0
  713. package/dist/worker/result-handler.d.ts.map +1 -0
  714. package/dist/worker/result-handler.js +346 -0
  715. package/dist/worker/result-handler.js.map +1 -0
  716. package/dist/worker/routes.d.ts +135 -0
  717. package/dist/worker/routes.d.ts.map +1 -0
  718. package/dist/worker/routes.js +460 -0
  719. package/dist/worker/routes.js.map +1 -0
  720. package/dist/worker/rpc-methods-manager.d.ts +142 -0
  721. package/dist/worker/rpc-methods-manager.d.ts.map +1 -0
  722. package/dist/worker/rpc-methods-manager.js +195 -0
  723. package/dist/worker/rpc-methods-manager.js.map +1 -0
  724. package/dist/worker/rpc.d.ts +259 -0
  725. package/dist/worker/rpc.d.ts.map +1 -0
  726. package/dist/worker/rpc.js +398 -0
  727. package/dist/worker/rpc.js.map +1 -0
  728. package/dist/worker/schema-version.d.ts +209 -0
  729. package/dist/worker/schema-version.d.ts.map +1 -0
  730. package/dist/worker/schema-version.js +450 -0
  731. package/dist/worker/schema-version.js.map +1 -0
  732. package/dist/worker/session-manager.d.ts +282 -0
  733. package/dist/worker/session-manager.d.ts.map +1 -0
  734. package/dist/worker/session-manager.js +523 -0
  735. package/dist/worker/session-manager.js.map +1 -0
  736. package/dist/worker/shutdown-manager.d.ts +188 -0
  737. package/dist/worker/shutdown-manager.d.ts.map +1 -0
  738. package/dist/worker/shutdown-manager.js +347 -0
  739. package/dist/worker/shutdown-manager.js.map +1 -0
  740. package/dist/worker/sql-transform.d.ts +61 -0
  741. package/dist/worker/sql-transform.d.ts.map +1 -0
  742. package/dist/worker/sql-transform.js +312 -0
  743. package/dist/worker/sql-transform.js.map +1 -0
  744. package/dist/worker/types.d.ts +738 -0
  745. package/dist/worker/types.d.ts.map +1 -0
  746. package/dist/worker/types.js +6 -0
  747. package/dist/worker/types.js.map +1 -0
  748. package/dist/worker/user-routes.d.ts +76 -0
  749. package/dist/worker/user-routes.d.ts.map +1 -0
  750. package/dist/worker/user-routes.js +188 -0
  751. package/dist/worker/user-routes.js.map +1 -0
  752. package/dist/worker/wal-facade.d.ts +138 -0
  753. package/dist/worker/wal-facade.d.ts.map +1 -0
  754. package/dist/worker/wal-facade.js +184 -0
  755. package/dist/worker/wal-facade.js.map +1 -0
  756. package/dist/worker/wal-r2.d.ts +271 -0
  757. package/dist/worker/wal-r2.d.ts.map +1 -0
  758. package/dist/worker/wal-r2.js +689 -0
  759. package/dist/worker/wal-r2.js.map +1 -0
  760. package/dist/worker/wal-replay.d.ts +361 -0
  761. package/dist/worker/wal-replay.d.ts.map +1 -0
  762. package/dist/worker/wal-replay.js +628 -0
  763. package/dist/worker/wal-replay.js.map +1 -0
  764. package/dist/worker/wal-retention.d.ts +389 -0
  765. package/dist/worker/wal-retention.d.ts.map +1 -0
  766. package/dist/worker/wal-retention.js +763 -0
  767. package/dist/worker/wal-retention.js.map +1 -0
  768. package/dist/worker/wal.d.ts +278 -0
  769. package/dist/worker/wal.d.ts.map +1 -0
  770. package/dist/worker/wal.js +467 -0
  771. package/dist/worker/wal.js.map +1 -0
  772. package/dist/worker/websocket.d.ts +85 -0
  773. package/dist/worker/websocket.d.ts.map +1 -0
  774. package/dist/worker/websocket.js +227 -0
  775. package/dist/worker/websocket.js.map +1 -0
  776. package/package.json +108 -0
  777. package/src/cdc/change-stream.ts +137 -0
  778. package/src/cdc/filter.ts +646 -0
  779. package/src/cdc/index.ts +112 -0
  780. package/src/cdc/resume-token.ts +280 -0
  781. package/src/cdc/transport/index.ts +7 -0
  782. package/src/cdc/transport/sse.ts +723 -0
  783. package/src/cdc/transport/websocket.ts +873 -0
  784. package/src/cdc/types.ts +346 -0
  785. package/src/config/index.ts +25 -0
  786. package/src/config/memory.ts +177 -0
  787. package/src/config/storage.ts +204 -0
  788. package/src/config/streaming.ts +147 -0
  789. package/src/config/timeouts.ts +221 -0
  790. package/src/extensions/config.test.ts +187 -0
  791. package/src/extensions/config.ts +278 -0
  792. package/src/extensions/geo.test.ts +455 -0
  793. package/src/extensions/geo.ts +858 -0
  794. package/src/extensions/index.test.ts +259 -0
  795. package/src/extensions/index.ts +227 -0
  796. package/src/extensions/loader.test.ts +555 -0
  797. package/src/extensions/loader.ts +588 -0
  798. package/src/extensions/pgmq-lite.test.ts +727 -0
  799. package/src/extensions/pgmq-lite.ts +770 -0
  800. package/src/extensions/plugins.test.ts +528 -0
  801. package/src/extensions/plugins.ts +718 -0
  802. package/src/extensions/registry.test.ts +202 -0
  803. package/src/extensions/registry.ts +267 -0
  804. package/src/extensions/vector.test.ts +195 -0
  805. package/src/extensions/vector.ts +217 -0
  806. package/src/iceberg/SCHEDULER.md +580 -0
  807. package/src/iceberg/analytics.test.ts +703 -0
  808. package/src/iceberg/analytics.ts +727 -0
  809. package/src/iceberg/catalog-api.test.ts +838 -0
  810. package/src/iceberg/catalog-api.ts +520 -0
  811. package/src/iceberg/catalog.test.ts +680 -0
  812. package/src/iceberg/catalog.ts +1007 -0
  813. package/src/iceberg/iceberg.test.ts +705 -0
  814. package/src/iceberg/index.ts +406 -0
  815. package/src/iceberg/metadata.test.ts +632 -0
  816. package/src/iceberg/metadata.ts +649 -0
  817. package/src/iceberg/optimizer.test.ts +868 -0
  818. package/src/iceberg/optimizer.ts +1287 -0
  819. package/src/iceberg/parquet.test.ts +899 -0
  820. package/src/iceberg/parquet.ts +1640 -0
  821. package/src/iceberg/r2-organization.test.ts +615 -0
  822. package/src/iceberg/r2-organization.ts +951 -0
  823. package/src/iceberg/scheduler-do-example.ts +364 -0
  824. package/src/iceberg/scheduler.test.ts +861 -0
  825. package/src/iceberg/scheduler.ts +1201 -0
  826. package/src/iceberg/schema.test.ts +547 -0
  827. package/src/iceberg/schema.ts +616 -0
  828. package/src/iceberg/snapshot-manager.test.ts +919 -0
  829. package/src/iceberg/snapshot-manager.ts +1369 -0
  830. package/src/iceberg/sql-router.test.ts +334 -0
  831. package/src/iceberg/sql-router.ts +337 -0
  832. package/src/iceberg/test-fixtures.ts +605 -0
  833. package/src/iceberg/time-travel-api.test.ts +1029 -0
  834. package/src/iceberg/time-travel-api.ts +731 -0
  835. package/src/iceberg/time-travel.test.ts +1218 -0
  836. package/src/iceberg/time-travel.ts +1052 -0
  837. package/src/iceberg/transformer.test.ts +689 -0
  838. package/src/iceberg/transformer.ts +1029 -0
  839. package/src/iceberg/types.ts +373 -0
  840. package/src/iceberg/writer.test.ts +716 -0
  841. package/src/iceberg/writer.ts +590 -0
  842. package/src/index.ts +212 -0
  843. package/src/lineage/index.ts +42 -0
  844. package/src/lineage/integration.ts +334 -0
  845. package/src/lineage/tracker.ts +1618 -0
  846. package/src/lineage/types.ts +354 -0
  847. package/src/middleware/index.ts +36 -0
  848. package/src/middleware/rate-limit-concurrent.test.ts +794 -0
  849. package/src/middleware/rate-limit.test.ts +1568 -0
  850. package/src/middleware/rate-limit.ts +840 -0
  851. package/src/migration-tooling/external-migration.test.ts +1864 -0
  852. package/src/migration-tooling/external-migration.ts +2355 -0
  853. package/src/migration-tooling/index.ts +19 -0
  854. package/src/migrations/ARCHITECTURE.md +474 -0
  855. package/src/migrations/PROGRESS_TRACKING.md +485 -0
  856. package/src/migrations/auto-migrator.test.ts +732 -0
  857. package/src/migrations/auto-migrator.ts +531 -0
  858. package/src/migrations/bulk-orchestrator.test.ts +801 -0
  859. package/src/migrations/bulk-orchestrator.ts +1039 -0
  860. package/src/migrations/compatibility.test.ts +958 -0
  861. package/src/migrations/compatibility.ts +902 -0
  862. package/src/migrations/do-migrations.test.ts +2620 -0
  863. package/src/migrations/do-migrations.ts +1289 -0
  864. package/src/migrations/do-migrations.types.ts +715 -0
  865. package/src/migrations/drizzle-compat.test.ts +210 -0
  866. package/src/migrations/drizzle-compat.ts +337 -0
  867. package/src/migrations/index.ts +334 -0
  868. package/src/migrations/migration-api.test.ts +438 -0
  869. package/src/migrations/migration-api.ts +704 -0
  870. package/src/migrations/progress-tracker-do.ts +518 -0
  871. package/src/migrations/progress-tracker-kv.ts +305 -0
  872. package/src/migrations/progress-tracker.test.ts +937 -0
  873. package/src/migrations/progress-tracker.ts +665 -0
  874. package/src/migrations/registry.test.ts +331 -0
  875. package/src/migrations/registry.ts +468 -0
  876. package/src/migrations/rollback.test.ts +644 -0
  877. package/src/migrations/runner.test.ts +807 -0
  878. package/src/migrations/runner.test.ts.backup +759 -0
  879. package/src/migrations/runner.ts +1459 -0
  880. package/src/migrations/schema-generator.test.ts +649 -0
  881. package/src/migrations/schema-generator.ts +513 -0
  882. package/src/migrations/testing.ts +1037 -0
  883. package/src/migrations/types.ts +573 -0
  884. package/src/migrations/validator.test.ts +660 -0
  885. package/src/migrations/validator.ts +741 -0
  886. package/src/observability/alerting.test.ts +1133 -0
  887. package/src/observability/alerting.ts +455 -0
  888. package/src/observability/analytics-engine.ts +733 -0
  889. package/src/observability/cost-metrics.ts +804 -0
  890. package/src/observability/cross-do-tracing.test.ts +516 -0
  891. package/src/observability/cross-do-tracing.ts +588 -0
  892. package/src/observability/dashboards/postgres-do-overview.json +1656 -0
  893. package/src/observability/error-rate-collector.test.ts +977 -0
  894. package/src/observability/error-rate-collector.ts +518 -0
  895. package/src/observability/exporters.test.ts +365 -0
  896. package/src/observability/exporters.ts +650 -0
  897. package/src/observability/health-check.test.ts +353 -0
  898. package/src/observability/health-check.ts +341 -0
  899. package/src/observability/index.test.ts +298 -0
  900. package/src/observability/index.ts +885 -0
  901. package/src/observability/instrumentation.test.ts +428 -0
  902. package/src/observability/instrumentation.ts +788 -0
  903. package/src/observability/memory-metrics.test.ts +355 -0
  904. package/src/observability/memory-metrics.ts +990 -0
  905. package/src/observability/metrics-endpoint.test.ts +402 -0
  906. package/src/observability/metrics-endpoint.ts +374 -0
  907. package/src/observability/metrics.test.ts +291 -0
  908. package/src/observability/metrics.ts +315 -0
  909. package/src/observability/observability-features.ts +1296 -0
  910. package/src/observability/prometheus.test.ts +292 -0
  911. package/src/observability/prometheus.ts +170 -0
  912. package/src/observability/propagation.test.ts +417 -0
  913. package/src/observability/propagation.ts +294 -0
  914. package/src/observability/query-latency.ts +586 -0
  915. package/src/observability/query-performance.test.ts +406 -0
  916. package/src/observability/query-performance.ts +491 -0
  917. package/src/observability/storage-tier-metrics.test.ts +633 -0
  918. package/src/observability/storage-tier-metrics.ts +570 -0
  919. package/src/observability/tier-cost-optimizer.ts +740 -0
  920. package/src/observability/tracer.test.ts +346 -0
  921. package/src/observability/tracer.ts +585 -0
  922. package/src/observability/types.test.ts +726 -0
  923. package/src/observability/types.ts +434 -0
  924. package/src/pglite/auto-demotion.test.ts +477 -0
  925. package/src/pglite/auto-demotion.ts +385 -0
  926. package/src/pglite/auto-promotion.test.ts +824 -0
  927. package/src/pglite/auto-promotion.ts +547 -0
  928. package/src/pglite/cache-layer.test.ts +469 -0
  929. package/src/pglite/cache-layer.ts +271 -0
  930. package/src/pglite/cold-start-manager.ts +1260 -0
  931. package/src/pglite/cold-start-optimizer.test.ts +937 -0
  932. package/src/pglite/cold-start-optimizer.ts +1895 -0
  933. package/src/pglite/dovfs-adapter.ts +1122 -0
  934. package/src/pglite/dovfs.ts +1258 -0
  935. package/src/pglite/etag-cache.test.ts +844 -0
  936. package/src/pglite/etag-cache.ts +526 -0
  937. package/src/pglite/index.ts +442 -0
  938. package/src/pglite/init.test.ts +455 -0
  939. package/src/pglite/init.ts +574 -0
  940. package/src/pglite/lifecycle.test.ts +599 -0
  941. package/src/pglite/lifecycle.ts +704 -0
  942. package/src/pglite/parallel-loader.test.ts +586 -0
  943. package/src/pglite/parallel-loader.ts +481 -0
  944. package/src/pglite/production-pglite.test.ts +666 -0
  945. package/src/pglite/production-pglite.ts +537 -0
  946. package/src/pglite/query-executor.ts +614 -0
  947. package/src/pglite/r2-layer.test.ts +501 -0
  948. package/src/pglite/r2-layer.ts +322 -0
  949. package/src/pglite/tiered-init.test.ts +725 -0
  950. package/src/pglite/tiered-init.ts +556 -0
  951. package/src/pglite/tiered-vfs.test.ts +726 -0
  952. package/src/pglite/tiered-vfs.ts +33 -0
  953. package/src/pglite/tiering-stats.test.ts +531 -0
  954. package/src/pglite/tiering-stats.ts +407 -0
  955. package/src/pglite/transaction-hooks.ts +343 -0
  956. package/src/pglite/warm-loader.test.ts +1701 -0
  957. package/src/pglite/warm-loader.ts +528 -0
  958. package/src/pglite/workers-pglite.ts +224 -0
  959. package/src/pglite-assets/pglite.data +0 -0
  960. package/src/pglite-assets/pglite.wasm +0 -0
  961. package/src/pglite.d.ts +47 -0
  962. package/src/playground/index.ts +137 -0
  963. package/src/playground/keyboard-shortcuts.ts +677 -0
  964. package/src/playground/playground.ts +323 -0
  965. package/src/playground/query-executor.ts +669 -0
  966. package/src/playground/query-history.ts +328 -0
  967. package/src/playground/result-formatter.ts +420 -0
  968. package/src/playground/sample-datasets.ts +674 -0
  969. package/src/playground/sample-queries.ts +1168 -0
  970. package/src/playground/schema-explorer.ts +558 -0
  971. package/src/playground/types.ts +518 -0
  972. package/src/readonly/cache-reader.test.ts +460 -0
  973. package/src/readonly/cache-reader.ts +313 -0
  974. package/src/readonly/config.test.ts +187 -0
  975. package/src/readonly/config.ts +128 -0
  976. package/src/readonly/index.ts +50 -0
  977. package/src/readonly/pglite-wrapper.test.ts +278 -0
  978. package/src/readonly/pglite-wrapper.ts +184 -0
  979. package/src/readonly/worker.test.ts +533 -0
  980. package/src/readonly/worker.ts +341 -0
  981. package/src/readonly/write-blocker.test.ts +459 -0
  982. package/src/readonly/write-blocker.ts +175 -0
  983. package/src/recovery/disaster-recovery.test.ts +618 -0
  984. package/src/recovery/disaster-recovery.ts +1181 -0
  985. package/src/recovery/index.ts +43 -0
  986. package/src/recovery/parquet-parser.ts +974 -0
  987. package/src/retention/index.ts +74 -0
  988. package/src/retention/policy.test.ts +571 -0
  989. package/src/retention/policy.ts +774 -0
  990. package/src/retention/purger.test.ts +465 -0
  991. package/src/retention/purger.ts +558 -0
  992. package/src/rls/auth-integration.test.ts +752 -0
  993. package/src/rls/auth-integration.ts +533 -0
  994. package/src/rls/generator.test.ts +829 -0
  995. package/src/rls/generator.ts +573 -0
  996. package/src/rls/index.ts +128 -0
  997. package/src/rls/policy.ts +208 -0
  998. package/src/rls/rls.test.ts +1071 -0
  999. package/src/rls/validator.test.ts +930 -0
  1000. package/src/rls/validator.ts +895 -0
  1001. package/src/routing/adaptive-router.test.ts +884 -0
  1002. package/src/routing/adaptive-router.ts +845 -0
  1003. package/src/routing/circuit-breaker.test.ts +1505 -0
  1004. package/src/routing/circuit-breaker.ts +852 -0
  1005. package/src/routing/cost-metrics.test.ts +565 -0
  1006. package/src/routing/cost-metrics.ts +408 -0
  1007. package/src/routing/do-connection-pool.test.ts +1109 -0
  1008. package/src/routing/do-connection-pool.ts +828 -0
  1009. package/src/routing/index.ts +158 -0
  1010. package/src/routing/query-complexity-estimator.test.ts +356 -0
  1011. package/src/routing/query-complexity-estimator.ts +444 -0
  1012. package/src/routing/request-coalescing.test.ts +738 -0
  1013. package/src/routing/request-coalescing.ts +475 -0
  1014. package/src/routing/runtime-router.test.ts +436 -0
  1015. package/src/routing/runtime-router.ts +357 -0
  1016. package/src/routing/tenant-router.test.ts +2493 -0
  1017. package/src/routing/tenant-router.ts +1908 -0
  1018. package/src/routing/websocket-pool.test.ts +551 -0
  1019. package/src/routing/websocket-pool.ts +577 -0
  1020. package/src/storage/access-pattern-tracker.test.ts +874 -0
  1021. package/src/storage/cache-layer.test.ts +560 -0
  1022. package/src/storage/cache-layer.ts +328 -0
  1023. package/src/storage/cost-aware-tiering.test.ts +652 -0
  1024. package/src/storage/cost-aware-tiering.ts +794 -0
  1025. package/src/storage/do-sqlite-blobs.test.ts +937 -0
  1026. package/src/storage/index.ts +272 -0
  1027. package/src/storage/interfaces.ts +974 -0
  1028. package/src/storage/r2-layer.test.ts +653 -0
  1029. package/src/storage/r2-layer.ts +434 -0
  1030. package/src/storage/r2-overflow.ts +920 -0
  1031. package/src/storage/r2-page-vfs.test.ts +2348 -0
  1032. package/src/storage/r2-page-vfs.ts +1054 -0
  1033. package/src/storage/swr-cache.test.ts +832 -0
  1034. package/src/storage/swr-cache.ts +398 -0
  1035. package/src/storage/swr-tiered-integration.test.ts +617 -0
  1036. package/src/storage/tiered-orchestrator.test.ts +2441 -0
  1037. package/src/storage/tiered-orchestrator.ts +2081 -0
  1038. package/src/storage/tiered-vfs-swr.test.ts +736 -0
  1039. package/src/storage/tiered-vfs-swr.ts +735 -0
  1040. package/src/storage/tiered-vfs.test.ts +793 -0
  1041. package/src/storage/tiered-vfs.ts +1082 -0
  1042. package/src/streaming/backpressure-controller.ts +452 -0
  1043. package/src/streaming/buffer-pool.ts +484 -0
  1044. package/src/streaming/cdc-iceberg-connector.ts +605 -0
  1045. package/src/streaming/index.ts +225 -0
  1046. package/src/streaming/live-cdc-stream.ts +985 -0
  1047. package/src/streaming/memory-bounded-stream.ts +443 -0
  1048. package/src/streaming/query-streamer.ts +662 -0
  1049. package/src/streaming/response-streaming.ts +557 -0
  1050. package/src/types/branded.ts +1075 -0
  1051. package/src/types/branded.ts.backup +273 -0
  1052. package/src/types/utilities.ts +1023 -0
  1053. package/src/types/wasm.d.ts +30 -0
  1054. package/src/validation/typed-errors.test.ts +420 -0
  1055. package/src/wal/replay-engine.ts +1264 -0
  1056. package/src/worker/__mocks__/capnweb.ts +15 -0
  1057. package/src/worker/__mocks__/pglite.data.ts +22 -0
  1058. package/src/worker/__mocks__/pglite.wasm.ts +33 -0
  1059. package/src/worker/auth-rate-limiter.test.ts +272 -0
  1060. package/src/worker/auth-rate-limiter.ts +448 -0
  1061. package/src/worker/auth.security-red.test.ts +1236 -0
  1062. package/src/worker/auth.security.test.ts +822 -0
  1063. package/src/worker/auth.test.ts +469 -0
  1064. package/src/worker/auth.ts +1104 -0
  1065. package/src/worker/cdc-backpressure.test.ts +726 -0
  1066. package/src/worker/cdc-backpressure.ts +866 -0
  1067. package/src/worker/cdc-sse.test.ts +780 -0
  1068. package/src/worker/cdc-sse.ts +728 -0
  1069. package/src/worker/cdc-websocket.ts +1229 -0
  1070. package/src/worker/cdc-ws.test.ts +1009 -0
  1071. package/src/worker/cdc.test.ts +327 -0
  1072. package/src/worker/cdc.ts +289 -0
  1073. package/src/worker/concerns/auth-concern.ts +179 -0
  1074. package/src/worker/concerns/cdc-concern.ts +247 -0
  1075. package/src/worker/concerns/index.ts +58 -0
  1076. package/src/worker/concerns/query-execution-concern.ts +194 -0
  1077. package/src/worker/concerns/storage-orchestration-concern.ts +373 -0
  1078. package/src/worker/discriminated-types.test.ts +280 -0
  1079. package/src/worker/do-auth-manager.ts +257 -0
  1080. package/src/worker/do-decomposition.test.ts +1236 -0
  1081. package/src/worker/do-pglite-manager.ts +302 -0
  1082. package/src/worker/do.test.ts +2254 -0
  1083. package/src/worker/do.ts +1878 -0
  1084. package/src/worker/entry.ts +417 -0
  1085. package/src/worker/errors.ts +285 -0
  1086. package/src/worker/health-check-manager.test.ts +261 -0
  1087. package/src/worker/health-check-manager.ts +231 -0
  1088. package/src/worker/index.ts +389 -0
  1089. package/src/worker/memory-pressure.test.ts +1460 -0
  1090. package/src/worker/memory-pressure.ts +2650 -0
  1091. package/src/worker/migration-manager.ts +582 -0
  1092. package/src/worker/neon-compat.test.ts +332 -0
  1093. package/src/worker/plugin-manager.ts +485 -0
  1094. package/src/worker/postgres.do-rpc.d.ts +76 -0
  1095. package/src/worker/proxy.ts +694 -0
  1096. package/src/worker/query-execution-manager.test.ts +303 -0
  1097. package/src/worker/query-execution-manager.ts +219 -0
  1098. package/src/worker/query-executor.test.ts +282 -0
  1099. package/src/worker/query-executor.ts +560 -0
  1100. package/src/worker/query-stats-manager.ts +229 -0
  1101. package/src/worker/result-handler.test.ts +364 -0
  1102. package/src/worker/result-handler.ts +510 -0
  1103. package/src/worker/routes.test.ts +795 -0
  1104. package/src/worker/routes.ts +650 -0
  1105. package/src/worker/rpc-methods-manager.test.ts +326 -0
  1106. package/src/worker/rpc-methods-manager.ts +276 -0
  1107. package/src/worker/rpc.ts +524 -0
  1108. package/src/worker/schema-version.ts +605 -0
  1109. package/src/worker/session-manager.test.ts +506 -0
  1110. package/src/worker/session-manager.ts +732 -0
  1111. package/src/worker/shutdown-manager.ts +469 -0
  1112. package/src/worker/sql-transform.test.ts +286 -0
  1113. package/src/worker/sql-transform.ts +368 -0
  1114. package/src/worker/supabase-compat.test.ts +621 -0
  1115. package/src/worker/types.test.ts +292 -0
  1116. package/src/worker/types.ts +873 -0
  1117. package/src/worker/user-routes.test.ts +703 -0
  1118. package/src/worker/user-routes.ts +303 -0
  1119. package/src/worker/wal-facade.ts +235 -0
  1120. package/src/worker/wal-r2.test.ts +570 -0
  1121. package/src/worker/wal-r2.ts +930 -0
  1122. package/src/worker/wal-replay.test.ts +845 -0
  1123. package/src/worker/wal-replay.ts +897 -0
  1124. package/src/worker/wal-retention.test.ts +758 -0
  1125. package/src/worker/wal-retention.ts +1075 -0
  1126. package/src/worker/wal.test.ts +618 -0
  1127. package/src/worker/wal.ts +697 -0
  1128. package/src/worker/websocket.test.ts +296 -0
  1129. package/src/worker/websocket.ts +284 -0
@@ -0,0 +1,641 @@
1
+ /**
2
+ * Sample Datasets for Playground
3
+ *
4
+ * Provides pre-built sample datasets for demo and learning purposes.
5
+ * Each dataset includes schema creation and realistic data.
6
+ *
7
+ * @module playground/sample-datasets
8
+ */
9
+ /**
10
+ * Blog/Social Media Dataset
11
+ * A classic users/posts/comments schema for learning SQL
12
+ */
13
+ export const BLOG_DATASET = {
14
+ id: 'blog',
15
+ name: 'Blog Platform',
16
+ description: 'Users, posts, and comments - perfect for learning joins and aggregations',
17
+ tags: ['social', 'blog', 'users', 'posts', 'comments'],
18
+ tables: ['users', 'posts', 'comments', 'tags', 'post_tags'],
19
+ rowCounts: {
20
+ users: 5,
21
+ posts: 15,
22
+ comments: 20,
23
+ tags: 5,
24
+ post_tags: 20,
25
+ },
26
+ complexity: 'simple',
27
+ schemaSql: `
28
+ -- Users table
29
+ CREATE TABLE IF NOT EXISTS users (
30
+ id SERIAL PRIMARY KEY,
31
+ name TEXT NOT NULL,
32
+ email TEXT UNIQUE NOT NULL,
33
+ bio TEXT,
34
+ created_at TIMESTAMP DEFAULT NOW()
35
+ );
36
+
37
+ -- Posts table
38
+ CREATE TABLE IF NOT EXISTS posts (
39
+ id SERIAL PRIMARY KEY,
40
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
41
+ title TEXT NOT NULL,
42
+ body TEXT,
43
+ published BOOLEAN DEFAULT false,
44
+ view_count INTEGER DEFAULT 0,
45
+ created_at TIMESTAMP DEFAULT NOW(),
46
+ updated_at TIMESTAMP DEFAULT NOW()
47
+ );
48
+
49
+ -- Comments table
50
+ CREATE TABLE IF NOT EXISTS comments (
51
+ id SERIAL PRIMARY KEY,
52
+ post_id INTEGER NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
53
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
54
+ content TEXT NOT NULL,
55
+ created_at TIMESTAMP DEFAULT NOW()
56
+ );
57
+
58
+ -- Tags table
59
+ CREATE TABLE IF NOT EXISTS tags (
60
+ id SERIAL PRIMARY KEY,
61
+ name TEXT UNIQUE NOT NULL,
62
+ description TEXT
63
+ );
64
+
65
+ -- Post-Tags junction table (many-to-many)
66
+ CREATE TABLE IF NOT EXISTS post_tags (
67
+ post_id INTEGER REFERENCES posts(id) ON DELETE CASCADE,
68
+ tag_id INTEGER REFERENCES tags(id) ON DELETE CASCADE,
69
+ PRIMARY KEY (post_id, tag_id)
70
+ );
71
+
72
+ -- Indexes for performance
73
+ CREATE INDEX IF NOT EXISTS idx_posts_user_id ON posts(user_id);
74
+ CREATE INDEX IF NOT EXISTS idx_posts_published ON posts(published) WHERE published = true;
75
+ CREATE INDEX IF NOT EXISTS idx_comments_post_id ON comments(post_id);
76
+ CREATE INDEX IF NOT EXISTS idx_comments_user_id ON comments(user_id);
77
+ `,
78
+ dataSql: `
79
+ -- Insert users
80
+ INSERT INTO users (name, email, bio) VALUES
81
+ ('Alice Johnson', 'alice@example.com', 'Full-stack developer and tech blogger'),
82
+ ('Bob Smith', 'bob@example.com', 'Database enthusiast and SQL guru'),
83
+ ('Charlie Brown', 'charlie@example.com', 'Open source contributor'),
84
+ ('Diana Ross', 'diana@example.com', 'DevOps engineer and cloud architect'),
85
+ ('Eve Wilson', 'eve@example.com', 'Security researcher and writer')
86
+ ON CONFLICT (email) DO NOTHING;
87
+
88
+ -- Insert tags
89
+ INSERT INTO tags (name, description) VALUES
90
+ ('postgresql', 'PostgreSQL database topics'),
91
+ ('javascript', 'JavaScript and frontend development'),
92
+ ('devops', 'DevOps, CI/CD, and infrastructure'),
93
+ ('security', 'Security best practices'),
94
+ ('tutorial', 'Step-by-step tutorials')
95
+ ON CONFLICT (name) DO NOTHING;
96
+
97
+ -- Insert posts
98
+ INSERT INTO posts (user_id, title, body, published, view_count, created_at)
99
+ SELECT
100
+ u.id,
101
+ CASE (row_number() OVER ()) % 5
102
+ WHEN 0 THEN 'Getting Started with PostgreSQL'
103
+ WHEN 1 THEN 'Understanding SQL Joins'
104
+ WHEN 2 THEN 'Database Performance Tips'
105
+ WHEN 3 THEN 'Building REST APIs'
106
+ WHEN 4 THEN 'Security Best Practices'
107
+ END || ' - Part ' || ((row_number() OVER () - 1) / 5 + 1),
108
+ 'This is an in-depth article about ' ||
109
+ CASE (row_number() OVER ()) % 5
110
+ WHEN 0 THEN 'PostgreSQL fundamentals and getting your first database running.'
111
+ WHEN 1 THEN 'different types of SQL joins and when to use them.'
112
+ WHEN 2 THEN 'optimizing queries and indexing strategies.'
113
+ WHEN 3 THEN 'designing and implementing RESTful APIs.'
114
+ WHEN 4 THEN 'securing your applications and databases.'
115
+ END,
116
+ (row_number() OVER ()) % 3 != 0, -- 2/3 are published
117
+ (random() * 1000)::integer,
118
+ NOW() - ((row_number() OVER ()) || ' days')::interval
119
+ FROM users u
120
+ CROSS JOIN generate_series(1, 3)
121
+ ON CONFLICT DO NOTHING;
122
+
123
+ -- Insert post_tags relationships
124
+ INSERT INTO post_tags (post_id, tag_id)
125
+ SELECT p.id, t.id
126
+ FROM posts p
127
+ CROSS JOIN tags t
128
+ WHERE random() < 0.4
129
+ ON CONFLICT DO NOTHING;
130
+
131
+ -- Insert comments
132
+ INSERT INTO comments (post_id, user_id, content, created_at)
133
+ SELECT
134
+ p.id,
135
+ u.id,
136
+ CASE (random() * 4)::integer
137
+ WHEN 0 THEN 'Great article! Very helpful.'
138
+ WHEN 1 THEN 'Thanks for sharing this information.'
139
+ WHEN 2 THEN 'I learned something new today.'
140
+ WHEN 3 THEN 'Could you elaborate on this topic?'
141
+ ELSE 'Interesting perspective!'
142
+ END,
143
+ p.created_at + ((random() * 7)::integer || ' days')::interval
144
+ FROM posts p
145
+ CROSS JOIN users u
146
+ WHERE p.published = true
147
+ AND u.id != p.user_id
148
+ AND random() < 0.5
149
+ LIMIT 20
150
+ ON CONFLICT DO NOTHING;
151
+ `,
152
+ };
153
+ /**
154
+ * E-Commerce Dataset
155
+ * Products, orders, and customers for business analytics
156
+ */
157
+ export const ECOMMERCE_DATASET = {
158
+ id: 'ecommerce',
159
+ name: 'E-Commerce Store',
160
+ description: 'Products, orders, and customers - great for analytics and reporting queries',
161
+ tags: ['ecommerce', 'products', 'orders', 'analytics', 'business'],
162
+ tables: ['customers', 'products', 'categories', 'orders', 'order_items'],
163
+ rowCounts: {
164
+ customers: 10,
165
+ products: 20,
166
+ categories: 5,
167
+ orders: 25,
168
+ order_items: 50,
169
+ },
170
+ complexity: 'moderate',
171
+ schemaSql: `
172
+ -- Categories table
173
+ CREATE TABLE IF NOT EXISTS categories (
174
+ id SERIAL PRIMARY KEY,
175
+ name TEXT UNIQUE NOT NULL,
176
+ description TEXT,
177
+ parent_id INTEGER REFERENCES categories(id)
178
+ );
179
+
180
+ -- Customers table
181
+ CREATE TABLE IF NOT EXISTS customers (
182
+ id SERIAL PRIMARY KEY,
183
+ first_name TEXT NOT NULL,
184
+ last_name TEXT NOT NULL,
185
+ email TEXT UNIQUE NOT NULL,
186
+ phone TEXT,
187
+ address TEXT,
188
+ city TEXT,
189
+ country TEXT DEFAULT 'USA',
190
+ created_at TIMESTAMP DEFAULT NOW()
191
+ );
192
+
193
+ -- Products table
194
+ CREATE TABLE IF NOT EXISTS products (
195
+ id SERIAL PRIMARY KEY,
196
+ name TEXT NOT NULL,
197
+ description TEXT,
198
+ category_id INTEGER REFERENCES categories(id),
199
+ price DECIMAL(10, 2) NOT NULL,
200
+ cost DECIMAL(10, 2),
201
+ stock_quantity INTEGER DEFAULT 0,
202
+ sku TEXT UNIQUE,
203
+ active BOOLEAN DEFAULT true,
204
+ created_at TIMESTAMP DEFAULT NOW()
205
+ );
206
+
207
+ -- Orders table
208
+ CREATE TABLE IF NOT EXISTS orders (
209
+ id SERIAL PRIMARY KEY,
210
+ customer_id INTEGER NOT NULL REFERENCES customers(id),
211
+ order_date TIMESTAMP DEFAULT NOW(),
212
+ status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'processing', 'shipped', 'delivered', 'cancelled')),
213
+ shipping_address TEXT,
214
+ total_amount DECIMAL(10, 2) DEFAULT 0,
215
+ notes TEXT
216
+ );
217
+
218
+ -- Order items table
219
+ CREATE TABLE IF NOT EXISTS order_items (
220
+ id SERIAL PRIMARY KEY,
221
+ order_id INTEGER NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
222
+ product_id INTEGER NOT NULL REFERENCES products(id),
223
+ quantity INTEGER NOT NULL CHECK (quantity > 0),
224
+ unit_price DECIMAL(10, 2) NOT NULL,
225
+ discount_percent DECIMAL(5, 2) DEFAULT 0
226
+ );
227
+
228
+ -- Indexes
229
+ CREATE INDEX IF NOT EXISTS idx_products_category ON products(category_id);
230
+ CREATE INDEX IF NOT EXISTS idx_products_active ON products(active) WHERE active = true;
231
+ CREATE INDEX IF NOT EXISTS idx_orders_customer ON orders(customer_id);
232
+ CREATE INDEX IF NOT EXISTS idx_orders_status ON orders(status);
233
+ CREATE INDEX IF NOT EXISTS idx_orders_date ON orders(order_date);
234
+ CREATE INDEX IF NOT EXISTS idx_order_items_order ON order_items(order_id);
235
+ CREATE INDEX IF NOT EXISTS idx_order_items_product ON order_items(product_id);
236
+ `,
237
+ dataSql: `
238
+ -- Insert categories
239
+ INSERT INTO categories (name, description) VALUES
240
+ ('Electronics', 'Electronic devices and accessories'),
241
+ ('Clothing', 'Apparel and fashion items'),
242
+ ('Books', 'Books and reading materials'),
243
+ ('Home & Garden', 'Home decor and garden supplies'),
244
+ ('Sports', 'Sports equipment and fitness gear')
245
+ ON CONFLICT (name) DO NOTHING;
246
+
247
+ -- Insert customers
248
+ INSERT INTO customers (first_name, last_name, email, phone, city, country) VALUES
249
+ ('John', 'Doe', 'john.doe@email.com', '555-0101', 'New York', 'USA'),
250
+ ('Jane', 'Smith', 'jane.smith@email.com', '555-0102', 'Los Angeles', 'USA'),
251
+ ('Michael', 'Johnson', 'michael.j@email.com', '555-0103', 'Chicago', 'USA'),
252
+ ('Emily', 'Williams', 'emily.w@email.com', '555-0104', 'Houston', 'USA'),
253
+ ('David', 'Brown', 'david.b@email.com', '555-0105', 'Phoenix', 'USA'),
254
+ ('Sarah', 'Davis', 'sarah.d@email.com', '555-0106', 'Seattle', 'USA'),
255
+ ('Chris', 'Miller', 'chris.m@email.com', '555-0107', 'Boston', 'USA'),
256
+ ('Lisa', 'Wilson', 'lisa.w@email.com', '555-0108', 'Miami', 'USA'),
257
+ ('James', 'Taylor', 'james.t@email.com', '555-0109', 'Denver', 'USA'),
258
+ ('Amy', 'Anderson', 'amy.a@email.com', '555-0110', 'Portland', 'USA')
259
+ ON CONFLICT (email) DO NOTHING;
260
+
261
+ -- Insert products
262
+ INSERT INTO products (name, description, category_id, price, cost, stock_quantity, sku) VALUES
263
+ ('Laptop Pro 15', 'High-performance laptop', 1, 1299.99, 900.00, 50, 'ELEC-001'),
264
+ ('Wireless Mouse', 'Ergonomic wireless mouse', 1, 29.99, 15.00, 200, 'ELEC-002'),
265
+ ('USB-C Hub', '7-in-1 USB-C adapter', 1, 49.99, 25.00, 150, 'ELEC-003'),
266
+ ('Mechanical Keyboard', 'RGB mechanical keyboard', 1, 89.99, 45.00, 100, 'ELEC-004'),
267
+ ('Cotton T-Shirt', 'Premium cotton t-shirt', 2, 24.99, 8.00, 500, 'CLOTH-001'),
268
+ ('Denim Jeans', 'Classic fit denim jeans', 2, 59.99, 25.00, 300, 'CLOTH-002'),
269
+ ('Hoodie', 'Comfortable pullover hoodie', 2, 44.99, 18.00, 250, 'CLOTH-003'),
270
+ ('Running Shoes', 'Lightweight running shoes', 2, 79.99, 35.00, 200, 'CLOTH-004'),
271
+ ('SQL Handbook', 'Complete SQL reference', 3, 39.99, 15.00, 100, 'BOOK-001'),
272
+ ('Clean Code', 'Software craftsmanship guide', 3, 44.99, 20.00, 75, 'BOOK-002'),
273
+ ('Design Patterns', 'Gang of Four patterns book', 3, 54.99, 25.00, 60, 'BOOK-003'),
274
+ ('Table Lamp', 'Modern LED table lamp', 4, 34.99, 15.00, 150, 'HOME-001'),
275
+ ('Plant Pot Set', 'Ceramic plant pots (3 pack)', 4, 29.99, 12.00, 200, 'HOME-002'),
276
+ ('Throw Pillow', 'Decorative throw pillow', 4, 19.99, 7.00, 300, 'HOME-003'),
277
+ ('Yoga Mat', 'Non-slip exercise mat', 5, 24.99, 10.00, 250, 'SPORT-001'),
278
+ ('Dumbbells Set', 'Adjustable dumbbell pair', 5, 149.99, 75.00, 80, 'SPORT-002'),
279
+ ('Jump Rope', 'Speed jump rope', 5, 14.99, 5.00, 400, 'SPORT-003'),
280
+ ('Water Bottle', 'Insulated sports bottle', 5, 19.99, 8.00, 350, 'SPORT-004'),
281
+ ('Webcam HD', '1080p HD webcam', 1, 69.99, 35.00, 120, 'ELEC-005'),
282
+ ('Monitor Stand', 'Adjustable monitor riser', 1, 39.99, 18.00, 180, 'ELEC-006')
283
+ ON CONFLICT (sku) DO NOTHING;
284
+
285
+ -- Insert orders with varying dates and statuses
286
+ INSERT INTO orders (customer_id, order_date, status, shipping_address, total_amount)
287
+ SELECT
288
+ (random() * 9 + 1)::integer,
289
+ NOW() - ((random() * 60)::integer || ' days')::interval,
290
+ CASE (random() * 4)::integer
291
+ WHEN 0 THEN 'pending'
292
+ WHEN 1 THEN 'processing'
293
+ WHEN 2 THEN 'shipped'
294
+ WHEN 3 THEN 'delivered'
295
+ ELSE 'delivered'
296
+ END,
297
+ '123 Main St, City, State 12345',
298
+ 0
299
+ FROM generate_series(1, 25)
300
+ ON CONFLICT DO NOTHING;
301
+
302
+ -- Insert order items
303
+ INSERT INTO order_items (order_id, product_id, quantity, unit_price, discount_percent)
304
+ SELECT
305
+ o.id,
306
+ p.id,
307
+ (random() * 3 + 1)::integer,
308
+ p.price,
309
+ CASE WHEN random() < 0.3 THEN (random() * 15)::integer ELSE 0 END
310
+ FROM orders o
311
+ CROSS JOIN products p
312
+ WHERE random() < 0.15
313
+ ON CONFLICT DO NOTHING;
314
+
315
+ -- Update order totals
316
+ UPDATE orders SET total_amount = (
317
+ SELECT COALESCE(SUM(quantity * unit_price * (1 - discount_percent/100)), 0)
318
+ FROM order_items
319
+ WHERE order_items.order_id = orders.id
320
+ );
321
+ `,
322
+ };
323
+ /**
324
+ * HR/Employee Dataset
325
+ * Employees, departments, and salaries for organizational queries
326
+ */
327
+ export const HR_DATASET = {
328
+ id: 'hr',
329
+ name: 'HR & Employees',
330
+ description: 'Employees, departments, and salaries - ideal for hierarchical and analytical queries',
331
+ tags: ['hr', 'employees', 'departments', 'salaries', 'organization'],
332
+ tables: ['departments', 'employees', 'salaries', 'job_history'],
333
+ rowCounts: {
334
+ departments: 6,
335
+ employees: 20,
336
+ salaries: 20,
337
+ job_history: 15,
338
+ },
339
+ complexity: 'moderate',
340
+ schemaSql: `
341
+ -- Departments table
342
+ CREATE TABLE IF NOT EXISTS departments (
343
+ id SERIAL PRIMARY KEY,
344
+ name TEXT UNIQUE NOT NULL,
345
+ location TEXT,
346
+ budget DECIMAL(12, 2),
347
+ manager_id INTEGER -- Will be FK to employees after employees created
348
+ );
349
+
350
+ -- Employees table with self-referencing manager
351
+ CREATE TABLE IF NOT EXISTS employees (
352
+ id SERIAL PRIMARY KEY,
353
+ first_name TEXT NOT NULL,
354
+ last_name TEXT NOT NULL,
355
+ email TEXT UNIQUE NOT NULL,
356
+ phone TEXT,
357
+ hire_date DATE NOT NULL,
358
+ job_title TEXT NOT NULL,
359
+ department_id INTEGER REFERENCES departments(id),
360
+ manager_id INTEGER REFERENCES employees(id),
361
+ is_active BOOLEAN DEFAULT true
362
+ );
363
+
364
+ -- Add manager FK to departments
365
+ ALTER TABLE departments
366
+ ADD CONSTRAINT fk_department_manager
367
+ FOREIGN KEY (manager_id) REFERENCES employees(id)
368
+ ON DELETE SET NULL;
369
+
370
+ -- Salaries table (history of salary changes)
371
+ CREATE TABLE IF NOT EXISTS salaries (
372
+ id SERIAL PRIMARY KEY,
373
+ employee_id INTEGER NOT NULL REFERENCES employees(id) ON DELETE CASCADE,
374
+ amount DECIMAL(10, 2) NOT NULL,
375
+ effective_date DATE NOT NULL,
376
+ end_date DATE,
377
+ CONSTRAINT valid_date_range CHECK (end_date IS NULL OR end_date > effective_date)
378
+ );
379
+
380
+ -- Job history table
381
+ CREATE TABLE IF NOT EXISTS job_history (
382
+ id SERIAL PRIMARY KEY,
383
+ employee_id INTEGER NOT NULL REFERENCES employees(id) ON DELETE CASCADE,
384
+ job_title TEXT NOT NULL,
385
+ department_id INTEGER REFERENCES departments(id),
386
+ start_date DATE NOT NULL,
387
+ end_date DATE,
388
+ reason TEXT
389
+ );
390
+
391
+ -- Indexes
392
+ CREATE INDEX IF NOT EXISTS idx_employees_department ON employees(department_id);
393
+ CREATE INDEX IF NOT EXISTS idx_employees_manager ON employees(manager_id);
394
+ CREATE INDEX IF NOT EXISTS idx_employees_hire_date ON employees(hire_date);
395
+ CREATE INDEX IF NOT EXISTS idx_salaries_employee ON salaries(employee_id);
396
+ CREATE INDEX IF NOT EXISTS idx_salaries_effective ON salaries(effective_date);
397
+ CREATE INDEX IF NOT EXISTS idx_job_history_employee ON job_history(employee_id);
398
+ `,
399
+ dataSql: `
400
+ -- Insert departments
401
+ INSERT INTO departments (name, location, budget) VALUES
402
+ ('Engineering', 'San Francisco', 2000000),
403
+ ('Marketing', 'New York', 800000),
404
+ ('Sales', 'Chicago', 1200000),
405
+ ('Human Resources', 'San Francisco', 500000),
406
+ ('Finance', 'New York', 600000),
407
+ ('Operations', 'Chicago', 900000)
408
+ ON CONFLICT (name) DO NOTHING;
409
+
410
+ -- Insert employees (executives first, then managers, then staff)
411
+ INSERT INTO employees (first_name, last_name, email, phone, hire_date, job_title, department_id, manager_id) VALUES
412
+ -- CEO (no manager)
413
+ ('Robert', 'Chen', 'robert.chen@company.com', '555-1001', '2018-01-15', 'CEO', NULL, NULL),
414
+ -- Department heads (report to CEO)
415
+ ('Sarah', 'Martinez', 'sarah.m@company.com', '555-1002', '2018-06-01', 'VP Engineering', 1, 1),
416
+ ('Michael', 'Thompson', 'michael.t@company.com', '555-1003', '2018-07-15', 'VP Marketing', 2, 1),
417
+ ('Jennifer', 'Lee', 'jennifer.l@company.com', '555-1004', '2019-01-10', 'VP Sales', 3, 1),
418
+ ('William', 'Garcia', 'william.g@company.com', '555-1005', '2019-03-20', 'HR Director', 4, 1),
419
+ ('Elizabeth', 'Brown', 'elizabeth.b@company.com', '555-1006', '2019-05-01', 'CFO', 5, 1),
420
+ -- Managers
421
+ ('David', 'Wilson', 'david.w@company.com', '555-2001', '2019-08-15', 'Engineering Manager', 1, 2),
422
+ ('Jessica', 'Taylor', 'jessica.t@company.com', '555-2002', '2019-09-01', 'Marketing Manager', 2, 3),
423
+ ('Christopher', 'Moore', 'chris.m@company.com', '555-2003', '2020-01-15', 'Sales Manager', 3, 4),
424
+ -- Staff
425
+ ('Amanda', 'Anderson', 'amanda.a@company.com', '555-3001', '2020-03-01', 'Senior Engineer', 1, 7),
426
+ ('Daniel', 'Jackson', 'daniel.j@company.com', '555-3002', '2020-06-15', 'Software Engineer', 1, 7),
427
+ ('Michelle', 'White', 'michelle.w@company.com', '555-3003', '2020-09-01', 'Junior Engineer', 1, 7),
428
+ ('Ryan', 'Harris', 'ryan.h@company.com', '555-3004', '2021-01-10', 'Marketing Specialist', 2, 8),
429
+ ('Lauren', 'Martin', 'lauren.m@company.com', '555-3005', '2021-03-15', 'Content Writer', 2, 8),
430
+ ('Kevin', 'Thompson', 'kevin.t@company.com', '555-3006', '2021-06-01', 'Sales Representative', 3, 9),
431
+ ('Nicole', 'Robinson', 'nicole.r@company.com', '555-3007', '2021-08-15', 'Sales Representative', 3, 9),
432
+ ('Brandon', 'Clark', 'brandon.c@company.com', '555-3008', '2022-01-10', 'HR Specialist', 4, 5),
433
+ ('Stephanie', 'Lewis', 'stephanie.l@company.com', '555-3009', '2022-04-01', 'Accountant', 5, 6),
434
+ ('Andrew', 'Walker', 'andrew.w@company.com', '555-3010', '2022-07-15', 'Operations Analyst', 6, 1),
435
+ ('Rachel', 'Hall', 'rachel.h@company.com', '555-3011', '2023-01-05', 'Software Engineer', 1, 7)
436
+ ON CONFLICT (email) DO NOTHING;
437
+
438
+ -- Update department managers
439
+ UPDATE departments SET manager_id = 2 WHERE name = 'Engineering';
440
+ UPDATE departments SET manager_id = 3 WHERE name = 'Marketing';
441
+ UPDATE departments SET manager_id = 4 WHERE name = 'Sales';
442
+ UPDATE departments SET manager_id = 5 WHERE name = 'Human Resources';
443
+ UPDATE departments SET manager_id = 6 WHERE name = 'Finance';
444
+ UPDATE departments SET manager_id = 1 WHERE name = 'Operations';
445
+
446
+ -- Insert current salaries
447
+ INSERT INTO salaries (employee_id, amount, effective_date)
448
+ SELECT
449
+ id,
450
+ CASE
451
+ WHEN job_title LIKE '%CEO%' THEN 350000
452
+ WHEN job_title LIKE '%CFO%' THEN 280000
453
+ WHEN job_title LIKE '%VP%' THEN 220000
454
+ WHEN job_title LIKE '%Director%' THEN 180000
455
+ WHEN job_title LIKE '%Manager%' THEN 130000
456
+ WHEN job_title LIKE '%Senior%' THEN 120000
457
+ WHEN job_title LIKE '%Specialist%' OR job_title LIKE '%Analyst%' THEN 80000
458
+ WHEN job_title LIKE '%Junior%' THEN 65000
459
+ ELSE 75000
460
+ END + (random() * 20000)::integer,
461
+ hire_date
462
+ FROM employees
463
+ ON CONFLICT DO NOTHING;
464
+
465
+ -- Insert some job history
466
+ INSERT INTO job_history (employee_id, job_title, department_id, start_date, end_date, reason)
467
+ SELECT
468
+ e.id,
469
+ 'Previous Role',
470
+ e.department_id,
471
+ e.hire_date - INTERVAL '1 year',
472
+ e.hire_date - INTERVAL '1 day',
473
+ 'Promoted'
474
+ FROM employees e
475
+ WHERE random() < 0.4 AND e.hire_date < '2022-01-01'
476
+ ON CONFLICT DO NOTHING;
477
+ `,
478
+ };
479
+ /**
480
+ * IoT/Sensors Dataset
481
+ * Time-series data from sensors for time-based analytics
482
+ */
483
+ export const IOT_DATASET = {
484
+ id: 'iot',
485
+ name: 'IoT Sensors',
486
+ description: 'Time-series sensor data - perfect for time-based queries and analytics',
487
+ tags: ['iot', 'sensors', 'time-series', 'analytics', 'monitoring'],
488
+ tables: ['locations', 'sensors', 'readings'],
489
+ rowCounts: {
490
+ locations: 4,
491
+ sensors: 8,
492
+ readings: 200,
493
+ },
494
+ complexity: 'complex',
495
+ schemaSql: `
496
+ -- Locations table
497
+ CREATE TABLE IF NOT EXISTS locations (
498
+ id SERIAL PRIMARY KEY,
499
+ name TEXT UNIQUE NOT NULL,
500
+ address TEXT,
501
+ latitude DECIMAL(9, 6),
502
+ longitude DECIMAL(9, 6),
503
+ timezone TEXT DEFAULT 'UTC'
504
+ );
505
+
506
+ -- Sensors table
507
+ CREATE TABLE IF NOT EXISTS sensors (
508
+ id SERIAL PRIMARY KEY,
509
+ location_id INTEGER NOT NULL REFERENCES locations(id),
510
+ name TEXT NOT NULL,
511
+ type TEXT NOT NULL CHECK (type IN ('temperature', 'humidity', 'pressure', 'co2', 'motion')),
512
+ unit TEXT NOT NULL,
513
+ min_threshold DECIMAL(10, 2),
514
+ max_threshold DECIMAL(10, 2),
515
+ is_active BOOLEAN DEFAULT true,
516
+ installed_at TIMESTAMP DEFAULT NOW(),
517
+ UNIQUE (location_id, name)
518
+ );
519
+
520
+ -- Readings table (time-series data)
521
+ CREATE TABLE IF NOT EXISTS readings (
522
+ id SERIAL PRIMARY KEY,
523
+ sensor_id INTEGER NOT NULL REFERENCES sensors(id),
524
+ value DECIMAL(10, 4) NOT NULL,
525
+ recorded_at TIMESTAMP NOT NULL DEFAULT NOW(),
526
+ is_anomaly BOOLEAN DEFAULT false,
527
+ metadata JSONB
528
+ );
529
+
530
+ -- Indexes for time-series queries
531
+ CREATE INDEX IF NOT EXISTS idx_readings_sensor ON readings(sensor_id);
532
+ CREATE INDEX IF NOT EXISTS idx_readings_time ON readings(recorded_at);
533
+ CREATE INDEX IF NOT EXISTS idx_readings_sensor_time ON readings(sensor_id, recorded_at);
534
+ CREATE INDEX IF NOT EXISTS idx_readings_anomaly ON readings(is_anomaly) WHERE is_anomaly = true;
535
+ `,
536
+ dataSql: `
537
+ -- Insert locations
538
+ INSERT INTO locations (name, address, latitude, longitude, timezone) VALUES
539
+ ('Main Office', '100 Tech Park, San Francisco, CA', 37.7749, -122.4194, 'America/Los_Angeles'),
540
+ ('Data Center', '200 Server Lane, Austin, TX', 30.2672, -97.7431, 'America/Chicago'),
541
+ ('Warehouse A', '300 Storage Blvd, Phoenix, AZ', 33.4484, -112.0740, 'America/Phoenix'),
542
+ ('Factory Floor', '400 Manufacturing Dr, Detroit, MI', 42.3314, -83.0458, 'America/Detroit')
543
+ ON CONFLICT (name) DO NOTHING;
544
+
545
+ -- Insert sensors
546
+ INSERT INTO sensors (location_id, name, type, unit, min_threshold, max_threshold) VALUES
547
+ (1, 'Office Temp 1', 'temperature', 'celsius', 18, 26),
548
+ (1, 'Office Humidity', 'humidity', 'percent', 30, 60),
549
+ (2, 'Server Room Temp', 'temperature', 'celsius', 15, 24),
550
+ (2, 'Server Room Humidity', 'humidity', 'percent', 40, 60),
551
+ (3, 'Warehouse Temp', 'temperature', 'celsius', 10, 35),
552
+ (3, 'Warehouse CO2', 'co2', 'ppm', 400, 1000),
553
+ (4, 'Factory Pressure', 'pressure', 'bar', 0.95, 1.05),
554
+ (4, 'Factory Motion', 'motion', 'count', 0, 1000)
555
+ ON CONFLICT (location_id, name) DO NOTHING;
556
+
557
+ -- Insert readings for the past 7 days (multiple per sensor)
558
+ INSERT INTO readings (sensor_id, value, recorded_at, is_anomaly, metadata)
559
+ SELECT
560
+ s.id,
561
+ CASE s.type
562
+ WHEN 'temperature' THEN 20 + (random() * 6 - 3) + (2 * sin(extract(hour from ts) * pi() / 12))
563
+ WHEN 'humidity' THEN 45 + (random() * 20 - 10)
564
+ WHEN 'pressure' THEN 1.0 + (random() * 0.08 - 0.04)
565
+ WHEN 'co2' THEN 600 + (random() * 300 - 100)
566
+ WHEN 'motion' THEN CASE WHEN extract(hour from ts) BETWEEN 8 AND 18 THEN (random() * 500)::integer ELSE (random() * 50)::integer END
567
+ END,
568
+ ts,
569
+ random() < 0.02, -- 2% chance of anomaly
570
+ jsonb_build_object('quality', CASE WHEN random() < 0.95 THEN 'good' ELSE 'degraded' END)
571
+ FROM sensors s
572
+ CROSS JOIN generate_series(
573
+ NOW() - INTERVAL '7 days',
574
+ NOW(),
575
+ INTERVAL '1 hour'
576
+ ) AS ts
577
+ ON CONFLICT DO NOTHING;
578
+
579
+ -- Mark true anomalies (values outside thresholds)
580
+ UPDATE readings r
581
+ SET is_anomaly = true
582
+ FROM sensors s
583
+ WHERE r.sensor_id = s.id
584
+ AND (r.value < s.min_threshold OR r.value > s.max_threshold);
585
+ `,
586
+ };
587
+ /**
588
+ * All available sample datasets
589
+ */
590
+ export const SAMPLE_DATASETS = [
591
+ BLOG_DATASET,
592
+ ECOMMERCE_DATASET,
593
+ HR_DATASET,
594
+ IOT_DATASET,
595
+ ];
596
+ /**
597
+ * Get a dataset by ID
598
+ */
599
+ export function getDatasetById(id) {
600
+ return SAMPLE_DATASETS.find((d) => d.id === id);
601
+ }
602
+ /**
603
+ * Get datasets by tag
604
+ */
605
+ export function getDatasetsByTag(tag) {
606
+ return SAMPLE_DATASETS.filter((d) => d.tags.includes(tag.toLowerCase()));
607
+ }
608
+ /**
609
+ * Get all dataset tags
610
+ */
611
+ export function getAllDatasetTags() {
612
+ const tags = new Set();
613
+ for (const dataset of SAMPLE_DATASETS) {
614
+ for (const tag of dataset.tags) {
615
+ tags.add(tag);
616
+ }
617
+ }
618
+ return Array.from(tags).sort();
619
+ }
620
+ /**
621
+ * Get the SQL to load a dataset (schema + data)
622
+ */
623
+ export function getDatasetSql(dataset) {
624
+ return `-- Dataset: ${dataset.name}
625
+ -- ${dataset.description}
626
+
627
+ -- Schema
628
+ ${dataset.schemaSql}
629
+
630
+ -- Data
631
+ ${dataset.dataSql}
632
+ `;
633
+ }
634
+ /**
635
+ * Get combined SQL for the default blog dataset
636
+ * (Used by loadSampleData in playground.ts)
637
+ */
638
+ export function getDefaultDatasetSql() {
639
+ return getDatasetSql(BLOG_DATASET);
640
+ }
641
+ //# sourceMappingURL=sample-datasets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample-datasets.js","sourceRoot":"","sources":["../../src/playground/sample-datasets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0BH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;IACtD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;IAC3D,SAAS,EAAE;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,EAAE;KACd;IACD,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDZ;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEV;CACA,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;IAClE,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC;IACxE,SAAS,EAAE;QACT,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAChB;IACD,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEZ;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFV;CACA,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,sFAAsF;IACnG,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC;IACpE,MAAM,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC;IAC/D,SAAS,EAAE;QACT,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;KAChB;IACD,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DZ;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EV;CACA,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,wEAAwE;IACrF,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC;IAClE,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;IAC5C,SAAS,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,GAAG;KACd;IACD,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCZ;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDV;CACA,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,WAAW;CACZ,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,OAAO,eAAe,OAAO,CAAC,IAAI;KAC/B,OAAO,CAAC,WAAW;;;EAGtB,OAAO,CAAC,SAAS;;;EAGjB,OAAO,CAAC,OAAO;CAChB,CAAA;AACD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,YAAY,CAAC,CAAA;AACpC,CAAC"}