@fragno-dev/db 0.1.6 → 0.1.8

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 (191) hide show
  1. package/.turbo/turbo-build.log +212 -207
  2. package/CHANGELOG.md +14 -0
  3. package/dist/adapters/adapters.d.ts +6 -1
  4. package/dist/adapters/adapters.d.ts.map +1 -1
  5. package/dist/adapters/adapters.js +7 -1
  6. package/dist/adapters/adapters.js.map +1 -0
  7. package/dist/adapters/drizzle/drizzle-adapter.d.ts +5 -2
  8. package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
  9. package/dist/adapters/drizzle/drizzle-adapter.js +23 -14
  10. package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
  11. package/dist/adapters/drizzle/drizzle-connection-pool.js +40 -0
  12. package/dist/adapters/drizzle/drizzle-connection-pool.js.map +1 -0
  13. package/dist/adapters/drizzle/drizzle-query.js +24 -11
  14. package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
  15. package/dist/adapters/drizzle/drizzle-uow-compiler.d.ts.map +1 -1
  16. package/dist/adapters/drizzle/drizzle-uow-compiler.js +10 -11
  17. package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
  18. package/dist/adapters/drizzle/drizzle-uow-executor.js +12 -5
  19. package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
  20. package/dist/adapters/kysely/kysely-adapter.d.ts +5 -2
  21. package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
  22. package/dist/adapters/kysely/kysely-adapter.js +70 -39
  23. package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
  24. package/dist/adapters/kysely/kysely-connection-pool.js +41 -0
  25. package/dist/adapters/kysely/kysely-connection-pool.js.map +1 -0
  26. package/dist/adapters/kysely/kysely-query-compiler.js +2 -3
  27. package/dist/adapters/kysely/kysely-query-compiler.js.map +1 -1
  28. package/dist/adapters/kysely/kysely-query.js +22 -11
  29. package/dist/adapters/kysely/kysely-query.js.map +1 -1
  30. package/dist/adapters/kysely/kysely-uow-compiler.js +5 -5
  31. package/dist/adapters/kysely/kysely-uow-compiler.js.map +1 -1
  32. package/dist/adapters/kysely/migration/execute-factory.js +8 -2
  33. package/dist/adapters/kysely/migration/execute-factory.js.map +1 -1
  34. package/dist/migration-engine/generation-engine.d.ts.map +1 -1
  35. package/dist/migration-engine/generation-engine.js +8 -1
  36. package/dist/migration-engine/generation-engine.js.map +1 -1
  37. package/dist/mod.d.ts +1 -1
  38. package/dist/mod.d.ts.map +1 -1
  39. package/dist/mod.js.map +1 -1
  40. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/alias.js +1 -1
  41. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/alias.js.map +1 -0
  42. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/casing.js +1 -1
  43. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/casing.js.map +1 -0
  44. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/column-builder.js +1 -1
  45. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/column-builder.js.map +1 -0
  46. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/column.js +1 -1
  47. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/column.js.map +1 -0
  48. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/entity.js +1 -1
  49. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/entity.js.map +1 -0
  50. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/errors.js +1 -1
  51. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/errors.js.map +1 -0
  52. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/pg-core/columns/common.js +1 -1
  53. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/pg-core/columns/common.js.map +1 -0
  54. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/pg-core/columns/enum.js +1 -1
  55. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/pg-core/columns/enum.js.map +1 -0
  56. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/pg-core/foreign-keys.js +1 -1
  57. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +1 -0
  58. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/pg-core/unique-constraint.js +1 -1
  59. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +1 -0
  60. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/pg-core/utils/array.js +1 -1
  61. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/pg-core/utils/array.js.map +1 -0
  62. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/query-builders/query-builder.js +1 -1
  63. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/query-builders/query-builder.js.map +1 -0
  64. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/query-promise.js +1 -1
  65. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/query-promise.js.map +1 -0
  66. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/relations.js +1 -1
  67. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/relations.js.map +1 -0
  68. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/selection-proxy.js +1 -1
  69. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/selection-proxy.js.map +1 -0
  70. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sql/expressions/conditions.js +1 -1
  71. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sql/expressions/conditions.js.map +1 -0
  72. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sql/expressions/select.js +1 -1
  73. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sql/expressions/select.js.map +1 -0
  74. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sql/functions/aggregate.js +1 -1
  75. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sql/functions/aggregate.js.map +1 -0
  76. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sql/sql.js +1 -1
  77. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sql/sql.js.map +1 -0
  78. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/columns/common.js +1 -1
  79. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/columns/common.js.map +1 -0
  80. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/db.js +1 -1
  81. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/db.js.map +1 -0
  82. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/dialect.js +1 -1
  83. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/dialect.js.map +1 -0
  84. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +1 -1
  85. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map +1 -0
  86. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +1 -1
  87. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map +1 -0
  88. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +1 -1
  89. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map +1 -0
  90. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +1 -1
  91. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map +1 -0
  92. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +1 -1
  93. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map +1 -0
  94. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +1 -1
  95. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map +1 -0
  96. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +1 -1
  97. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map +1 -0
  98. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +1 -1
  99. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map +1 -0
  100. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +1 -1
  101. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map +1 -0
  102. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/table.js +1 -1
  103. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/table.js.map +1 -0
  104. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +1 -1
  105. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map +1 -0
  106. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/utils.js +1 -1
  107. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/utils.js.map +1 -0
  108. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/sqlite-core/view-base.js +1 -1
  109. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/sqlite-core/view-base.js.map +1 -0
  110. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/subquery.js +1 -1
  111. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/subquery.js.map +1 -0
  112. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/table.js +1 -1
  113. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/table.js.map +1 -0
  114. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/table.utils.js +6 -0
  115. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/table.utils.js.map +1 -0
  116. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing-utils.js +8 -0
  117. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing-utils.js.map +1 -0
  118. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing.js +8 -0
  119. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing.js.map +1 -0
  120. package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260}/node_modules/drizzle-orm/utils.js +1 -1
  121. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/utils.js.map +1 -0
  122. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/view-common.js +6 -0
  123. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/view-common.js.map +1 -0
  124. package/package.json +4 -5
  125. package/src/adapters/adapters.ts +8 -0
  126. package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +54 -0
  127. package/src/adapters/drizzle/drizzle-adapter-sqlite.test.ts +9 -11
  128. package/src/adapters/drizzle/drizzle-adapter.ts +31 -16
  129. package/src/adapters/drizzle/drizzle-connection-pool.ts +66 -0
  130. package/src/adapters/drizzle/drizzle-query.ts +33 -16
  131. package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +182 -62
  132. package/src/adapters/drizzle/drizzle-uow-compiler.ts +23 -14
  133. package/src/adapters/drizzle/drizzle-uow-executor.ts +27 -4
  134. package/src/adapters/kysely/kysely-adapter.ts +94 -55
  135. package/src/adapters/kysely/kysely-connection-pool.ts +70 -0
  136. package/src/adapters/kysely/kysely-query-compiler.ts +10 -6
  137. package/src/adapters/kysely/kysely-query.ts +30 -17
  138. package/src/adapters/kysely/kysely-uow-compiler.test.ts +47 -47
  139. package/src/adapters/kysely/kysely-uow-compiler.ts +13 -8
  140. package/src/adapters/kysely/kysely-uow-joins.test.ts +34 -34
  141. package/src/adapters/kysely/migration/execute-factory.ts +24 -3
  142. package/src/fragment.test.ts +7 -0
  143. package/src/migration-engine/generation-engine.ts +18 -6
  144. package/src/mod.ts +1 -1
  145. package/src/shared/connection-pool.ts +24 -0
  146. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/alias.js.map +0 -1
  147. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/casing.js.map +0 -1
  148. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column-builder.js.map +0 -1
  149. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column.js.map +0 -1
  150. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/entity.js.map +0 -1
  151. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/errors.js.map +0 -1
  152. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/common.js.map +0 -1
  153. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/enum.js.map +0 -1
  154. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +0 -1
  155. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +0 -1
  156. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/utils/array.js.map +0 -1
  157. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-builders/query-builder.js.map +0 -1
  158. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-promise.js.map +0 -1
  159. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/relations.js.map +0 -1
  160. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/selection-proxy.js.map +0 -1
  161. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/conditions.js.map +0 -1
  162. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/select.js.map +0 -1
  163. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/functions/aggregate.js.map +0 -1
  164. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/sql.js.map +0 -1
  165. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/columns/common.js.map +0 -1
  166. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/db.js.map +0 -1
  167. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js.map +0 -1
  168. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map +0 -1
  169. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map +0 -1
  170. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map +0 -1
  171. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map +0 -1
  172. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map +0 -1
  173. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map +0 -1
  174. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map +0 -1
  175. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map +0 -1
  176. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map +0 -1
  177. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/table.js.map +0 -1
  178. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map +0 -1
  179. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/utils.js.map +0 -1
  180. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/view-base.js.map +0 -1
  181. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/subquery.js.map +0 -1
  182. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.js.map +0 -1
  183. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js +0 -6
  184. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js.map +0 -1
  185. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js +0 -8
  186. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js.map +0 -1
  187. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js +0 -8
  188. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js.map +0 -1
  189. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/utils.js.map +0 -1
  190. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js +0 -6
  191. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js.map +0 -1
@@ -8,13 +8,19 @@ import type {
8
8
  UOWCompiler,
9
9
  } from "../../query/unit-of-work";
10
10
  import { buildCondition, type Condition } from "../../query/condition-builder";
11
- import type { DrizzleConfig } from "./drizzle-adapter";
12
- import { type ColumnType, type TableType, type TableNameMapper, parseDrizzle } from "./shared";
11
+ import {
12
+ type ColumnType,
13
+ type TableType,
14
+ type TableNameMapper,
15
+ parseDrizzle,
16
+ type DBType,
17
+ } from "./shared";
13
18
  import { encodeValues, ReferenceSubquery } from "../../query/result-transform";
14
19
  import { serialize } from "../../schema/serialize";
15
20
  import { decodeCursor, serializeCursorValues } from "../../query/cursor";
16
21
  import type { CompiledJoin } from "../../query/orm/orm";
17
22
  import { getOrderedJoinColumns } from "./join-column-utils";
23
+ import type { ConnectionPool } from "../../shared/connection-pool";
18
24
 
19
25
  export type DrizzleCompiledQuery = {
20
26
  sql: string;
@@ -28,19 +34,23 @@ export type DrizzleCompiledQuery = {
28
34
  * that can be executed as a batch/transaction.
29
35
  *
30
36
  * @param schema - The database schema
31
- * @param config - Drizzle configuration
37
+ * @param pool - Connection pool for acquiring database connections
38
+ * @param provider - SQL provider (sqlite, mysql, postgresql)
32
39
  * @param mapper - Optional table name mapper for namespace prefixing
33
40
  * @param onQuery - Optional callback to receive compiled queries for logging/debugging
34
41
  * @returns A UOWCompiler instance for Drizzle
35
42
  */
36
43
  export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
37
44
  schema: TSchema,
38
- config: DrizzleConfig,
45
+ pool: ConnectionPool<DBType>,
46
+ provider: "sqlite" | "mysql" | "postgresql",
39
47
  mapper?: TableNameMapper,
40
48
  onQuery?: (query: DrizzleCompiledQuery) => void,
41
49
  ): UOWCompiler<TSchema, DrizzleCompiledQuery> {
42
- const [db, drizzleTables] = parseDrizzle(config.db);
43
- const { provider } = config;
50
+ // Get db synchronously for compilation (doesn't execute, just builds SQL)
51
+ // TODO: We don't even need a Drizzle instance with a db client attached here. `drizzle({ schema })` is enough.
52
+ const dbRaw = pool.getDatabaseSync();
53
+ const [db, drizzleTables] = parseDrizzle(dbRaw);
44
54
 
45
55
  /**
46
56
  * Convert a Fragno table to a Drizzle table
@@ -175,16 +185,15 @@ export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
175
185
  const externalId = value.externalIdValue;
176
186
  const internalIdCol = refTable.getInternalIdColumn();
177
187
  const idCol = refTable.getIdColumn();
178
- const drizzleRefTable = toDrizzleTable(refTable);
179
- const drizzleIdCol = toDrizzleColumn(idCol);
180
188
 
181
- // Create a parameterized SQL subquery using Drizzle's query builder
189
+ // Map logical table name to physical table name using the mapper
190
+ const physicalTableName = mapper ? mapper.toPhysical(refTable.ormName) : refTable.ormName;
191
+
192
+ // Build a SQL subquery using Drizzle's sql template
193
+ // This creates a subquery: (SELECT _internalId FROM table WHERE id = ? LIMIT 1)
182
194
  // Safe cast: we're building a SQL subquery that returns a single bigint value
183
- processed[key] = db
184
- .select({ value: drizzleRefTable[internalIdCol.ormName] })
185
- .from(drizzleRefTable)
186
- .where(Drizzle.eq(drizzleIdCol, externalId))
187
- .limit(1) as unknown;
195
+ processed[key] =
196
+ Drizzle.sql`(select ${Drizzle.sql.identifier(internalIdCol.name)} from ${Drizzle.sql.identifier(physicalTableName)} where ${Drizzle.sql.identifier(idCol.name)} = ${externalId} limit 1)`;
188
197
  } else {
189
198
  processed[key] = value;
190
199
  }
@@ -85,6 +85,11 @@ function getAffectedRows(result: unknown): number {
85
85
  }
86
86
 
87
87
  if (result && typeof result === "object") {
88
+ // libsql uses rowsAffected
89
+ if ("rowsAffected" in result && typeof result["rowsAffected"] === "number") {
90
+ return result["rowsAffected"];
91
+ }
92
+
88
93
  if ("affectedRows" in result && typeof result["affectedRows"] === "number") {
89
94
  return result["affectedRows"];
90
95
  }
@@ -114,14 +119,20 @@ async function executeInTransaction(
114
119
  db: DBType,
115
120
  provider: "sqlite" | "mysql" | "postgresql",
116
121
  syncExecutor: (db: SyncSQLiteDB) => void,
117
- asyncExecutor: (tx: { execute: (sql: SQL) => Promise<unknown> }) => Promise<void>,
122
+ asyncExecutor: (tx: {
123
+ execute?: (sql: SQL) => Promise<unknown>;
124
+ run?: (sql: SQL) => Promise<unknown>;
125
+ }) => Promise<void>,
118
126
  ): Promise<void> {
119
127
  if (provider === "sqlite" && isSyncSQLite(db)) {
120
128
  assertSyncSQLite(db);
121
129
  db.transaction(() => syncExecutor(db));
122
130
  } else {
123
131
  await db.transaction(
124
- async (tx) => await asyncExecutor(tx as { execute: (sql: SQL) => Promise<unknown> }),
132
+ async (tx) =>
133
+ await asyncExecutor(
134
+ tx as { execute?: (sql: SQL) => Promise<unknown>; run?: (sql: SQL) => Promise<unknown> },
135
+ ),
125
136
  );
126
137
  }
127
138
  }
@@ -186,7 +197,13 @@ export async function executeDrizzleRetrievalPhase(
186
197
  },
187
198
  async (tx) => {
188
199
  for (const query of retrievalBatch) {
189
- const result = (await tx.execute(toSQL(query, provider))) as DrizzleResult;
200
+ const sqlObj = toSQL(query, provider);
201
+ // Fallback to run when execute is not available (e.g., libsql)
202
+ const executeMethod = tx.execute ?? tx.run;
203
+ if (!executeMethod) {
204
+ throw new Error("Transaction object has neither execute nor run method");
205
+ }
206
+ const result = (await executeMethod.call(tx, sqlObj)) as DrizzleResult;
190
207
  retrievalResults.push(result);
191
208
  }
192
209
  },
@@ -232,7 +249,13 @@ export async function executeDrizzleMutationPhase(
232
249
  },
233
250
  async (tx) => {
234
251
  for (const { query, expectedAffectedRows } of mutationBatch) {
235
- const result = await tx.execute(toSQL(query, provider));
252
+ const sqlObj = toSQL(query, provider);
253
+ // Fallback to run when execute is not available (e.g., libsql)
254
+ const executeMethod = tx.execute ?? tx.run;
255
+ if (!executeMethod) {
256
+ throw new Error("Transaction object has neither execute nor run method");
257
+ }
258
+ const result = await executeMethod.call(tx, sqlObj);
236
259
 
237
260
  if (expectedAffectedRows === null) {
238
261
  createdInternalIds.push(extractCreatedInternalId(result));
@@ -1,6 +1,10 @@
1
1
  import { sql, type Kysely } from "kysely";
2
2
  import type { SQLProvider } from "../../shared/providers";
3
- import type { DatabaseAdapter } from "../adapters";
3
+ import {
4
+ fragnoDatabaseAdapterNameFakeSymbol,
5
+ fragnoDatabaseAdapterVersionFakeSymbol,
6
+ type DatabaseAdapter,
7
+ } from "../adapters";
4
8
  import { createMigrator, type Migrator } from "../../migration-engine/create";
5
9
  import type { AnySchema } from "../../schema/create";
6
10
  import type { CustomOperation, MigrationOperation } from "../../migration-engine/shared";
@@ -10,56 +14,68 @@ import { fromKysely } from "./kysely-query";
10
14
  import { createTableNameMapper } from "./kysely-shared";
11
15
  import { createHash } from "node:crypto";
12
16
  import { SETTINGS_TABLE_NAME } from "../../shared/settings-schema";
17
+ import type { ConnectionPool } from "../../shared/connection-pool";
18
+ import { createKyselyConnectionPool } from "./kysely-connection-pool";
13
19
 
14
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
21
  type KyselyAny = Kysely<any>;
16
22
 
17
23
  export interface KyselyConfig {
18
- db: KyselyAny | (() => KyselyAny);
24
+ db: KyselyAny | (() => KyselyAny | Promise<KyselyAny>);
19
25
  provider: SQLProvider;
20
26
  }
21
27
 
22
28
  export class KyselyAdapter implements DatabaseAdapter {
23
- #kyselyConfig: KyselyConfig;
29
+ #connectionPool: ConnectionPool<KyselyAny>;
30
+ #provider: SQLProvider;
24
31
 
25
32
  constructor(config: KyselyConfig) {
26
- this.#kyselyConfig = config;
33
+ this.#connectionPool = createKyselyConnectionPool(config.db);
34
+ this.#provider = config.provider;
27
35
  }
28
36
 
29
- #getDb(): KyselyAny {
30
- const db = this.#kyselyConfig.db;
31
- return typeof db === "function" ? db() : db;
37
+ get [fragnoDatabaseAdapterNameFakeSymbol](): string {
38
+ return "kysely";
39
+ }
40
+
41
+ get [fragnoDatabaseAdapterVersionFakeSymbol](): number {
42
+ return 0;
43
+ }
44
+
45
+ async close(): Promise<void> {
46
+ await this.#connectionPool.close();
32
47
  }
33
48
 
34
49
  createQueryEngine<T extends AnySchema>(schema: T, namespace: string): AbstractQuery<T> {
35
50
  // Only create mapper if namespace is non-empty
36
51
  const mapper = namespace ? createTableNameMapper(namespace) : undefined;
37
- // Resolve the db instance if it's a function
38
- const resolvedConfig: KyselyConfig = {
39
- db: this.#getDb(),
40
- provider: this.#kyselyConfig.provider,
41
- };
42
- return fromKysely(schema, resolvedConfig, mapper);
52
+ return fromKysely(schema, this.#connectionPool, this.#provider, mapper);
43
53
  }
44
54
 
45
55
  async isConnectionHealthy(): Promise<boolean> {
56
+ const conn = await this.#connectionPool.connect();
46
57
  try {
47
- const db = this.#getDb();
48
- const result = await db.executeQuery(sql`SELECT 1 as healthy`.compile(db));
58
+ const result = await conn.db.executeQuery(sql`SELECT 1 as healthy`.compile(conn.db));
49
59
  return (result.rows[0] as Record<string, unknown>)["healthy"] === 1;
50
60
  } catch {
51
61
  return false;
62
+ } finally {
63
+ await conn.release();
52
64
  }
53
65
  }
54
66
 
55
67
  createMigrationEngine(schema: AnySchema, namespace: string): Migrator {
56
- const manager = createSettingsManager(this.#getDb(), namespace);
57
68
  const mapper = namespace ? createTableNameMapper(namespace) : undefined;
58
69
 
59
- const preprocessMigrationOperations = (operations: MigrationOperation[]) => {
60
- let preprocessed = preprocessOperations(operations, this.#kyselyConfig);
70
+ const preprocessMigrationOperations = (operations: MigrationOperation[], db: KyselyAny) => {
71
+ // Preprocess operations using the provided db instance
72
+ const config: KyselyConfig = {
73
+ db,
74
+ provider: this.#provider,
75
+ };
76
+ let preprocessed = preprocessOperations(operations, config);
61
77
 
62
- if (this.#kyselyConfig.provider === "mysql") {
78
+ if (this.#provider === "mysql") {
63
79
  preprocessed.unshift({ type: "custom", sql: "SET FOREIGN_KEY_CHECKS = 0" });
64
80
  preprocessed.push({ type: "custom", sql: "SET FOREIGN_KEY_CHECKS = 1" });
65
81
  }
@@ -82,45 +98,52 @@ export class KyselyAdapter implements DatabaseAdapter {
82
98
  };
83
99
  };
84
100
 
85
- const dbConfig: KyselyConfig = { db, provider: this.#kyselyConfig.provider };
101
+ const config: KyselyConfig = { db, provider: this.#provider };
86
102
  return operations.flatMap((op) =>
87
- execute(op, dbConfig, (node) => onCustomNode(node, db), mapper),
103
+ execute(op, config, (node) => onCustomNode(node, db), mapper),
88
104
  );
89
105
  };
90
106
 
91
107
  const migrator = createMigrator({
92
108
  schema,
93
109
  executor: async (operations) => {
94
- const db = this.#getDb();
95
- // For SQLite, execute PRAGMA defer_foreign_keys BEFORE transaction
96
- if (this.#kyselyConfig.provider === "sqlite") {
97
- await sql.raw("PRAGMA defer_foreign_keys = ON").execute(db);
98
- }
110
+ const conn = await this.#connectionPool.connect();
111
+ try {
112
+ // For SQLite, execute PRAGMA defer_foreign_keys BEFORE transaction
113
+ if (this.#provider === "sqlite") {
114
+ await sql.raw("PRAGMA defer_foreign_keys = ON").execute(conn.db);
115
+ }
99
116
 
100
- await db.transaction().execute(async (tx) => {
101
- const preprocessed = preprocessMigrationOperations(operations);
102
- const nodes = toExecutableNodes(preprocessed, tx);
103
- for (const node of nodes) {
104
- try {
105
- await node.execute();
106
- } catch (e) {
107
- console.error("failed at", node.compile(), e);
108
- throw e;
117
+ await conn.db.transaction().execute(async (tx) => {
118
+ // Use the transaction instance for both preprocessing and execution
119
+ const preprocessed = preprocessMigrationOperations(operations, tx);
120
+ const nodes = toExecutableNodes(preprocessed, tx);
121
+ for (const node of nodes) {
122
+ try {
123
+ await node.execute();
124
+ } catch (e) {
125
+ console.error("failed at", node.compile(), e);
126
+ throw e;
127
+ }
109
128
  }
110
- }
111
- });
129
+ });
130
+ } finally {
131
+ await conn.release();
132
+ }
112
133
  },
113
134
  sql: {
114
135
  toSql: (operations) => {
115
136
  const parts: string[] = [];
116
137
 
117
138
  // Add SQLite PRAGMA at the beginning
118
- if (this.#kyselyConfig.provider === "sqlite") {
139
+ if (this.#provider === "sqlite") {
119
140
  parts.push("PRAGMA defer_foreign_keys = ON;");
120
141
  }
121
142
 
122
- const preprocessed = preprocessMigrationOperations(operations);
123
- const nodes = toExecutableNodes(preprocessed, this.#getDb());
143
+ // Use getDatabaseSync for SQL generation (doesn't execute, just builds SQL strings)
144
+ const db = this.#connectionPool.getDatabaseSync();
145
+ const preprocessed = preprocessMigrationOperations(operations, db);
146
+ const nodes = toExecutableNodes(preprocessed, db);
124
147
  const compiled = nodes.map((node) => `${node.compile().sql};`);
125
148
 
126
149
  parts.push(...compiled);
@@ -131,19 +154,31 @@ export class KyselyAdapter implements DatabaseAdapter {
131
154
 
132
155
  settings: {
133
156
  getVersion: async () => {
134
- const v = await manager.get(`schema_version`);
135
- return v ? parseInt(v) : 0;
157
+ const conn = await this.#connectionPool.connect();
158
+ try {
159
+ const manager = createSettingsManager(conn.db, namespace);
160
+ const v = await manager.get(`schema_version`);
161
+ return v ? parseInt(v) : 0;
162
+ } finally {
163
+ await conn.release();
164
+ }
136
165
  },
137
166
  updateSettingsInMigration: async (fromVersion, toVersion) => {
138
- return [
139
- {
140
- type: "custom",
141
- sql:
142
- fromVersion === 0
143
- ? manager.insert(`schema_version`, toVersion.toString())
144
- : manager.update(`schema_version`, toVersion.toString()),
145
- },
146
- ];
167
+ const conn = await this.#connectionPool.connect();
168
+ try {
169
+ const manager = createSettingsManager(conn.db, namespace);
170
+ return [
171
+ {
172
+ type: "custom",
173
+ sql:
174
+ fromVersion === 0
175
+ ? manager.insert(`schema_version`, toVersion.toString())
176
+ : manager.update(`schema_version`, toVersion.toString()),
177
+ },
178
+ ];
179
+ } finally {
180
+ await conn.release();
181
+ }
147
182
  },
148
183
  },
149
184
  });
@@ -151,10 +186,14 @@ export class KyselyAdapter implements DatabaseAdapter {
151
186
  return migrator;
152
187
  }
153
188
 
154
- getSchemaVersion(namespace: string) {
155
- const manager = createSettingsManager(this.#getDb(), namespace);
156
-
157
- return manager.get(`schema_version`);
189
+ async getSchemaVersion(namespace: string): Promise<string | undefined> {
190
+ const conn = await this.#connectionPool.connect();
191
+ try {
192
+ const manager = createSettingsManager(conn.db, namespace);
193
+ return await manager.get(`schema_version`);
194
+ } finally {
195
+ await conn.release();
196
+ }
158
197
  }
159
198
  }
160
199
 
@@ -0,0 +1,70 @@
1
+ import type { Kysely } from "kysely";
2
+ import type { ConnectionPool } from "../../shared/connection-pool";
3
+
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ type KyselyAny = Kysely<any>;
6
+
7
+ /**
8
+ * Creates a Kysely-specific connection pool with proper cleanup.
9
+ * Calls db.destroy() when the pool is closed to properly release database connections.
10
+ */
11
+ export function createKyselyConnectionPool(
12
+ dbOrFactory: KyselyAny | (() => KyselyAny | Promise<KyselyAny>),
13
+ ): ConnectionPool<KyselyAny> {
14
+ let cachedDb: KyselyAny | undefined;
15
+ let initPromise: Promise<KyselyAny> | undefined;
16
+
17
+ const ensureInitialized = async (): Promise<KyselyAny> => {
18
+ if (cachedDb) {
19
+ return cachedDb;
20
+ }
21
+
22
+ if (!initPromise) {
23
+ initPromise = (async () => {
24
+ const db =
25
+ typeof dbOrFactory === "function"
26
+ ? await (dbOrFactory as () => KyselyAny | Promise<KyselyAny>)()
27
+ : dbOrFactory;
28
+ cachedDb = db;
29
+ return db;
30
+ })();
31
+ }
32
+
33
+ return initPromise;
34
+ };
35
+
36
+ // Eagerly start initialization if it's a factory function
37
+ if (typeof dbOrFactory === "function") {
38
+ void ensureInitialized();
39
+ } else {
40
+ // Direct instance - cache it immediately
41
+ cachedDb = dbOrFactory;
42
+ }
43
+
44
+ return {
45
+ async connect() {
46
+ const db = await ensureInitialized();
47
+
48
+ return {
49
+ db,
50
+ release: async () => {},
51
+ };
52
+ },
53
+
54
+ getDatabaseSync() {
55
+ if (!cachedDb) {
56
+ throw new Error("Cannot get database synchronously: database not initialized.");
57
+ }
58
+ return cachedDb;
59
+ },
60
+
61
+ async close() {
62
+ if (cachedDb) {
63
+ // Properly destroy Kysely instance to close all connections
64
+ await cachedDb.destroy();
65
+ }
66
+ cachedDb = undefined;
67
+ initPromise = undefined;
68
+ },
69
+ };
70
+ }
@@ -1,11 +1,15 @@
1
- import type { CompiledQuery } from "kysely";
1
+ import type { CompiledQuery, Kysely } from "kysely";
2
2
  import type { AnySchema, AnyTable } from "../../schema/create";
3
3
  import { buildCondition } from "../../query/condition-builder";
4
4
  import { buildFindOptions } from "../../query/orm/orm";
5
- import type { KyselyConfig } from "./kysely-adapter";
6
5
  import { createKyselyQueryBuilder } from "./kysely-query-builder";
7
6
  import type { ConditionBuilder, Condition } from "../../query/condition-builder";
8
7
  import type { TableNameMapper } from "./kysely-shared";
8
+ import type { ConnectionPool } from "../../shared/connection-pool";
9
+ import type { SQLProvider } from "../../shared/providers";
10
+
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ type KyselyAny = Kysely<any>;
9
13
 
10
14
  /**
11
15
  * Internal query compiler interface for Kysely
@@ -27,12 +31,12 @@ export interface KyselyQueryCompiler {
27
31
 
28
32
  export function createKyselyQueryCompiler<T extends AnySchema>(
29
33
  schema: T,
30
- config: KyselyConfig,
34
+ pool: ConnectionPool<KyselyAny>,
35
+ provider: SQLProvider,
31
36
  mapper?: TableNameMapper,
32
37
  ): KyselyQueryCompiler {
33
- const { db, provider } = config;
34
- // Resolve the db instance if it's a function
35
- const kysely = typeof db === "function" ? db() : db;
38
+ // Get kysely instance for query building (compilation doesn't execute, just builds SQL)
39
+ const kysely = pool.getDatabaseSync();
36
40
  const queryBuilder = createKyselyQueryBuilder(kysely, provider, mapper);
37
41
 
38
42
  function toTable(name: unknown): AnyTable {
@@ -1,13 +1,17 @@
1
1
  import type { AbstractQuery } from "../../query/query";
2
2
  import type { AnySchema } from "../../schema/create";
3
- import type { KyselyConfig } from "./kysely-adapter";
4
3
  import type { CompiledMutation, UOWDecoder, UOWExecutor } from "../../query/unit-of-work";
5
4
  import { decodeResult } from "../../query/result-transform";
6
5
  import { createKyselyUOWCompiler } from "./kysely-uow-compiler";
7
6
  import { executeKyselyRetrievalPhase, executeKyselyMutationPhase } from "./kysely-uow-executor";
8
7
  import { UnitOfWork } from "../../query/unit-of-work";
9
- import type { CompiledQuery } from "kysely";
8
+ import type { CompiledQuery, Kysely } from "kysely";
10
9
  import type { TableNameMapper } from "./kysely-shared";
10
+ import type { ConnectionPool } from "../../shared/connection-pool";
11
+ import type { SQLProvider } from "../../shared/providers";
12
+
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ type KyselyAny = Kysely<any>;
11
15
 
12
16
  /**
13
17
  * Creates a Kysely-based query engine for the given schema.
@@ -17,16 +21,15 @@ import type { TableNameMapper } from "./kysely-shared";
17
21
  * enabling features like SQL snapshot testing.
18
22
  *
19
23
  * @param schema - The database schema definition
20
- * @param config - Kysely configuration containing the database instance and provider
24
+ * @param pool - Connection pool for acquiring database connections
25
+ * @param provider - SQL provider (postgresql, mysql, sqlite, etc.)
21
26
  * @param mapper - Optional table name mapper for namespace prefixing
22
27
  * @returns An AbstractQuery instance for performing database operations
23
28
  *
24
29
  * @example
25
30
  * ```ts
26
- * const queryEngine = fromKysely(mySchema, {
27
- * db: kysely,
28
- * provider: 'postgresql'
29
- * });
31
+ * const pool = createSimpleConnectionPool(kysely);
32
+ * const queryEngine = fromKysely(mySchema, pool, 'postgresql');
30
33
  *
31
34
  * const users = await queryEngine.findMany('users', {
32
35
  * where: (b) => b('age', '>', 18),
@@ -36,20 +39,30 @@ import type { TableNameMapper } from "./kysely-shared";
36
39
  */
37
40
  export function fromKysely<T extends AnySchema>(
38
41
  schema: T,
39
- config: KyselyConfig,
42
+ pool: ConnectionPool<KyselyAny>,
43
+ provider: SQLProvider,
40
44
  mapper?: TableNameMapper,
41
45
  ): AbstractQuery<T> {
42
- const { db, provider } = config;
43
- // Resolve the db instance if it's a function
44
- const kysely = typeof db === "function" ? db() : db;
45
- const uowCompiler = createKyselyUOWCompiler(schema, config, mapper);
46
-
47
46
  function createUOW(name?: string): UnitOfWork<T, []> {
47
+ const uowCompiler = createKyselyUOWCompiler(schema, pool, provider, mapper);
48
+
48
49
  const executor: UOWExecutor<CompiledQuery, unknown> = {
49
- executeRetrievalPhase: (retrievalBatch: CompiledQuery[]) =>
50
- executeKyselyRetrievalPhase(kysely, retrievalBatch),
51
- executeMutationPhase: (mutationBatch: CompiledMutation<CompiledQuery>[]) =>
52
- executeKyselyMutationPhase(kysely, mutationBatch),
50
+ async executeRetrievalPhase(retrievalBatch: CompiledQuery[]) {
51
+ const conn = await pool.connect();
52
+ try {
53
+ return await executeKyselyRetrievalPhase(conn.db, retrievalBatch);
54
+ } finally {
55
+ await conn.release();
56
+ }
57
+ },
58
+ async executeMutationPhase(mutationBatch: CompiledMutation<CompiledQuery>[]) {
59
+ const conn = await pool.connect();
60
+ try {
61
+ return await executeKyselyMutationPhase(conn.db, mutationBatch);
62
+ } finally {
63
+ await conn.release();
64
+ }
65
+ },
53
66
  };
54
67
 
55
68
  // Create a decoder function to transform raw results into application format