drizzle-orm 0.43.1-9811cd4 → 0.43.1-d1468f0
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.
- package/aws-data-api/pg/driver.cjs +5 -1
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +1 -0
- package/aws-data-api/pg/driver.d.ts +1 -0
- package/aws-data-api/pg/driver.js +5 -1
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs +15 -4
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +13 -2
- package/aws-data-api/pg/session.d.ts +13 -2
- package/aws-data-api/pg/session.js +15 -4
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +9 -3
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +12 -2
- package/better-sqlite3/session.d.ts +12 -2
- package/better-sqlite3/session.js +9 -3
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +5 -1
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.js +5 -1
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/session.cjs +21 -9
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +12 -2
- package/bun-sql/session.d.ts +12 -2
- package/bun-sql/session.js +21 -9
- package/bun-sql/session.js.map +1 -1
- package/{mssql-core/columns/date.common.cjs → cache/core/cache.cjs} +22 -12
- package/cache/core/cache.cjs.map +1 -0
- package/cache/core/cache.d.cts +35 -0
- package/cache/core/cache.d.ts +35 -0
- package/cache/core/cache.js +22 -0
- package/cache/core/cache.js.map +1 -0
- package/{node-mssql → cache/core}/index.cjs +4 -6
- package/cache/core/index.cjs.map +1 -0
- package/cache/core/index.d.cts +1 -0
- package/cache/core/index.d.ts +1 -0
- package/cache/core/index.js +2 -0
- package/cache/core/index.js.map +1 -0
- package/{mssql-core/subquery.cjs → cache/core/types.cjs} +3 -3
- package/cache/core/types.cjs.map +1 -0
- package/cache/core/types.d.cts +33 -0
- package/cache/core/types.d.ts +33 -0
- package/cache/core/types.js +1 -0
- package/cache/upstash/cache.cjs +191 -0
- package/cache/upstash/cache.cjs.map +1 -0
- package/cache/upstash/cache.d.cts +59 -0
- package/cache/upstash/cache.d.ts +59 -0
- package/cache/upstash/cache.js +166 -0
- package/cache/upstash/cache.js.map +1 -0
- package/{mssql-core/view-common.cjs → cache/upstash/index.cjs} +6 -12
- package/cache/upstash/index.cjs.map +1 -0
- package/cache/upstash/index.d.cts +1 -0
- package/cache/upstash/index.d.ts +1 -0
- package/cache/upstash/index.js +2 -0
- package/cache/upstash/index.js.map +1 -0
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +4 -6
- package/column-builder.d.ts +4 -6
- package/column-builder.js.map +1 -1
- package/column.cjs +0 -2
- package/column.cjs.map +1 -1
- package/column.d.cts +0 -1
- package/column.d.ts +0 -1
- package/column.js +0 -2
- package/column.js.map +1 -1
- package/d1/driver.cjs +5 -1
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.js +5 -1
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +23 -9
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +12 -2
- package/d1/session.d.ts +12 -2
- package/d1/session.js +23 -9
- package/d1/session.js.map +1 -1
- package/durable-sqlite/session.cjs +1 -1
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.js +1 -1
- package/durable-sqlite/session.js.map +1 -1
- package/{mssql-core/alias.cjs → errors/index.cjs} +17 -9
- package/errors/index.cjs.map +1 -0
- package/errors/index.d.cts +6 -0
- package/errors/index.d.ts +6 -0
- package/errors/index.js +16 -0
- package/errors/index.js.map +1 -0
- package/gel/driver.cjs +9 -2
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +2 -0
- package/gel/driver.d.ts +2 -0
- package/gel/driver.js +9 -2
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +25 -10
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +12 -2
- package/gel/session.d.ts +12 -2
- package/gel/session.js +25 -10
- package/gel/session.js.map +1 -1
- package/gel-core/db.cjs +3 -0
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.cts +4 -0
- package/gel-core/db.d.ts +4 -0
- package/gel-core/db.js +3 -0
- package/gel-core/db.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +5 -1
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +5 -1
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +5 -1
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +5 -1
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/select.cjs +29 -4
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.d.cts +9 -0
- package/gel-core/query-builders/select.d.ts +9 -0
- package/gel-core/query-builders/select.js +29 -4
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/update.cjs +5 -1
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +5 -1
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +79 -1
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +14 -3
- package/gel-core/session.d.ts +14 -3
- package/gel-core/session.js +80 -2
- package/gel-core/session.js.map +1 -1
- package/gel-core/utils.cjs +16 -0
- package/gel-core/utils.cjs.map +1 -1
- package/gel-core/utils.d.cts +8 -4
- package/gel-core/utils.d.ts +8 -4
- package/gel-core/utils.js +15 -0
- package/gel-core/utils.js.map +1 -1
- package/libsql/driver-core.cjs +5 -1
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +5 -1
- package/libsql/driver-core.js.map +1 -1
- package/libsql/session.cjs +27 -13
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +12 -2
- package/libsql/session.d.ts +12 -2
- package/libsql/session.js +27 -13
- package/libsql/session.js.map +1 -1
- package/mysql-core/db.cjs +3 -0
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +4 -0
- package/mysql-core/db.d.ts +4 -0
- package/mysql-core/db.js +3 -0
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +9 -1
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.js +9 -1
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +8 -1
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +2 -0
- package/mysql-core/query-builders/insert.d.ts +2 -0
- package/mysql-core/query-builders/insert.js +8 -1
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +27 -3
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +9 -0
- package/mysql-core/query-builders/select.d.ts +9 -0
- package/mysql-core/query-builders/select.js +28 -4
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/update.cjs +11 -1
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +2 -0
- package/mysql-core/query-builders/update.d.ts +2 -0
- package/mysql-core/query-builders/update.js +11 -1
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +80 -0
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +15 -2
- package/mysql-core/session.d.ts +15 -2
- package/mysql-core/session.js +81 -1
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/utils.cjs +16 -0
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +6 -2
- package/mysql-core/utils.d.ts +6 -2
- package/mysql-core/utils.js +15 -0
- package/mysql-core/utils.js.map +1 -1
- package/mysql-proxy/session.cjs +15 -5
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +12 -2
- package/mysql-proxy/session.d.ts +12 -2
- package/mysql-proxy/session.js +15 -5
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +10 -2
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +2 -0
- package/mysql2/driver.d.ts +2 -0
- package/mysql2/driver.js +10 -2
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +15 -5
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +12 -2
- package/mysql2/session.d.ts +12 -2
- package/mysql2/session.js +15 -5
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +9 -2
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +2 -0
- package/neon-http/driver.d.ts +2 -0
- package/neon-http/driver.js +9 -2
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +25 -15
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +12 -2
- package/neon-http/session.d.ts +12 -2
- package/neon-http/session.js +25 -15
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +9 -2
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +2 -0
- package/neon-serverless/driver.d.ts +2 -0
- package/neon-serverless/driver.js +9 -2
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/session.cjs +21 -7
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +12 -2
- package/neon-serverless/session.d.ts +12 -2
- package/neon-serverless/session.js +21 -7
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +9 -2
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +2 -0
- package/node-postgres/driver.d.ts +2 -0
- package/node-postgres/driver.js +9 -2
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +19 -6
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +13 -2
- package/node-postgres/session.d.ts +13 -2
- package/node-postgres/session.js +19 -6
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +5 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.js +5 -1
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +23 -9
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +12 -2
- package/op-sqlite/session.d.ts +12 -2
- package/op-sqlite/session.js +23 -9
- package/op-sqlite/session.js.map +1 -1
- package/package.json +75 -662
- package/pg-core/columns/common.cjs +10 -11
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +2 -3
- package/pg-core/columns/common.d.ts +2 -3
- package/pg-core/columns/common.js +10 -11
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/db.cjs +3 -0
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +4 -0
- package/pg-core/db.d.ts +4 -0
- package/pg-core/db.js +3 -0
- package/pg-core/db.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +6 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +3 -1
- package/pg-core/query-builders/delete.d.ts +3 -1
- package/pg-core/query-builders/delete.js +6 -1
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +6 -1
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +2 -0
- package/pg-core/query-builders/insert.d.ts +2 -0
- package/pg-core/query-builders/insert.js +6 -1
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/select.cjs +31 -5
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +15 -6
- package/pg-core/query-builders/select.d.ts +15 -6
- package/pg-core/query-builders/select.js +31 -5
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +6 -1
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +4 -2
- package/pg-core/query-builders/update.d.ts +4 -2
- package/pg-core/query-builders/update.js +6 -1
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +79 -1
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +14 -3
- package/pg-core/session.d.ts +14 -3
- package/pg-core/session.js +80 -2
- package/pg-core/session.js.map +1 -1
- package/pg-core/unique-constraint.cjs +1 -5
- package/pg-core/unique-constraint.cjs.map +1 -1
- package/pg-core/unique-constraint.d.cts +0 -2
- package/pg-core/unique-constraint.d.ts +0 -2
- package/pg-core/unique-constraint.js +1 -5
- package/pg-core/unique-constraint.js.map +1 -1
- package/pg-core/utils.cjs +16 -0
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +8 -4
- package/pg-core/utils.d.ts +8 -4
- package/pg-core/utils.js +16 -1
- package/pg-core/utils.js.map +1 -1
- package/pg-proxy/driver.cjs +7 -2
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.js +7 -2
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs +15 -5
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +12 -2
- package/pg-proxy/session.d.ts +12 -2
- package/pg-proxy/session.js +15 -5
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +9 -2
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +2 -0
- package/pglite/driver.d.ts +2 -0
- package/pglite/driver.js +9 -2
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +19 -7
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +12 -2
- package/pglite/session.d.ts +12 -2
- package/pglite/session.js +19 -7
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +5 -1
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -0
- package/planetscale-serverless/driver.d.ts +1 -0
- package/planetscale-serverless/driver.js +5 -1
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +15 -5
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +12 -2
- package/planetscale-serverless/session.d.ts +12 -2
- package/planetscale-serverless/session.js +15 -5
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +5 -1
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.js +5 -1
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/session.cjs +18 -6
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +12 -2
- package/postgres-js/session.d.ts +12 -2
- package/postgres-js/session.js +18 -6
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/session.cjs +1 -1
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.js +1 -1
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/session.cjs +1 -1
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.js +1 -1
- package/prisma/pg/session.js.map +1 -1
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.d.cts +2 -1
- package/query-builders/query-builder.d.ts +2 -1
- package/query-builders/query-builder.js.map +1 -1
- package/relations.cjs +0 -48
- package/relations.cjs.map +1 -1
- package/relations.d.cts +0 -1
- package/relations.d.ts +0 -1
- package/relations.js +0 -47
- package/relations.js.map +1 -1
- package/singlestore/driver.cjs +12 -2
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +2 -0
- package/singlestore/driver.d.ts +2 -0
- package/singlestore/driver.js +12 -2
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +15 -5
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +12 -2
- package/singlestore/session.d.ts +12 -2
- package/singlestore/session.js +15 -5
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/db.cjs +3 -0
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +4 -0
- package/singlestore-core/db.d.ts +4 -0
- package/singlestore-core/db.js +3 -0
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +9 -1
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.js +9 -1
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/insert.cjs +6 -1
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.js +6 -1
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +28 -3
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.d.cts +9 -0
- package/singlestore-core/query-builders/select.d.ts +9 -0
- package/singlestore-core/query-builders/select.js +28 -3
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/update.cjs +9 -1
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.js +9 -1
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/session.cjs +80 -0
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +14 -2
- package/singlestore-core/session.d.ts +14 -2
- package/singlestore-core/session.js +81 -1
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/utils.cjs +16 -0
- package/singlestore-core/utils.cjs.map +1 -1
- package/singlestore-core/utils.d.cts +3 -0
- package/singlestore-core/utils.d.ts +3 -0
- package/singlestore-core/utils.js +15 -0
- package/singlestore-core/utils.js.map +1 -1
- package/sql/sql.cjs +10 -0
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.js +10 -0
- package/sql/sql.js.map +1 -1
- package/sqlite-core/db.cjs +3 -0
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +4 -0
- package/sqlite-core/db.d.ts +4 -0
- package/sqlite-core/db.js +3 -0
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +7 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +7 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +7 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +7 -1
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +31 -3
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +9 -0
- package/sqlite-core/query-builders/select.d.ts +9 -0
- package/sqlite-core/query-builders/select.js +31 -3
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +7 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +7 -1
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +89 -3
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +18 -4
- package/sqlite-core/session.d.ts +18 -4
- package/sqlite-core/session.js +90 -4
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/utils.cjs +16 -0
- package/sqlite-core/utils.cjs.map +1 -1
- package/sqlite-core/utils.d.cts +6 -2
- package/sqlite-core/utils.d.ts +6 -2
- package/sqlite-core/utils.js +15 -0
- package/sqlite-core/utils.js.map +1 -1
- package/sqlite-proxy/driver.cjs +9 -2
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.js +9 -2
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +22 -8
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +12 -2
- package/sqlite-proxy/session.d.ts +12 -2
- package/sqlite-proxy/session.js +22 -8
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs +4 -3
- package/subquery.cjs.map +1 -1
- package/subquery.d.cts +2 -1
- package/subquery.d.ts +2 -1
- package/subquery.js +4 -3
- package/subquery.js.map +1 -1
- package/tidb-serverless/driver.cjs +5 -1
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +1 -0
- package/tidb-serverless/driver.d.ts +1 -0
- package/tidb-serverless/driver.js +5 -1
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +15 -5
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +12 -2
- package/tidb-serverless/session.d.ts +12 -2
- package/tidb-serverless/session.js +15 -5
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs +22 -0
- package/utils.cjs.map +1 -1
- package/utils.d.cts +3 -0
- package/utils.d.ts +3 -0
- package/utils.js +11 -0
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +9 -2
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +2 -0
- package/vercel-postgres/driver.d.ts +2 -0
- package/vercel-postgres/driver.js +9 -2
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/session.cjs +21 -7
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +12 -2
- package/vercel-postgres/session.d.ts +12 -2
- package/vercel-postgres/session.js +21 -7
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +2 -2
- package/version.cjs.map +1 -1
- package/version.d.cts +2 -2
- package/version.d.ts +2 -2
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/xata-http/driver.cjs +7 -2
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +2 -0
- package/xata-http/driver.d.ts +2 -0
- package/xata-http/driver.js +7 -2
- package/xata-http/driver.js.map +1 -1
- package/xata-http/session.cjs +21 -7
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +12 -2
- package/xata-http/session.d.ts +12 -2
- package/xata-http/session.js +21 -7
- package/xata-http/session.js.map +1 -1
- package/mssql-core/alias.cjs.map +0 -1
- package/mssql-core/alias.d.cts +0 -4
- package/mssql-core/alias.d.ts +0 -4
- package/mssql-core/alias.js +0 -8
- package/mssql-core/alias.js.map +0 -1
- package/mssql-core/checks.cjs +0 -58
- package/mssql-core/checks.cjs.map +0 -1
- package/mssql-core/checks.d.cts +0 -18
- package/mssql-core/checks.d.ts +0 -18
- package/mssql-core/checks.js +0 -32
- package/mssql-core/checks.js.map +0 -1
- package/mssql-core/columns/all.cjs +0 -72
- package/mssql-core/columns/all.cjs.map +0 -1
- package/mssql-core/columns/all.d.cts +0 -43
- package/mssql-core/columns/all.d.ts +0 -43
- package/mssql-core/columns/all.js +0 -48
- package/mssql-core/columns/all.js.map +0 -1
- package/mssql-core/columns/bigint.cjs +0 -67
- package/mssql-core/columns/bigint.cjs.map +0 -1
- package/mssql-core/columns/bigint.d.cts +0 -33
- package/mssql-core/columns/bigint.d.ts +0 -33
- package/mssql-core/columns/bigint.js +0 -41
- package/mssql-core/columns/bigint.js.map +0 -1
- package/mssql-core/columns/binary.cjs +0 -57
- package/mssql-core/columns/binary.cjs.map +0 -1
- package/mssql-core/columns/binary.d.cts +0 -28
- package/mssql-core/columns/binary.d.ts +0 -28
- package/mssql-core/columns/binary.js +0 -31
- package/mssql-core/columns/binary.js.map +0 -1
- package/mssql-core/columns/bit.cjs +0 -54
- package/mssql-core/columns/bit.cjs.map +0 -1
- package/mssql-core/columns/bit.d.cts +0 -24
- package/mssql-core/columns/bit.d.ts +0 -24
- package/mssql-core/columns/bit.js +0 -28
- package/mssql-core/columns/bit.js.map +0 -1
- package/mssql-core/columns/char.cjs +0 -74
- package/mssql-core/columns/char.cjs.map +0 -1
- package/mssql-core/columns/char.d.cts +0 -37
- package/mssql-core/columns/char.d.ts +0 -37
- package/mssql-core/columns/char.js +0 -47
- package/mssql-core/columns/char.js.map +0 -1
- package/mssql-core/columns/common.cjs +0 -110
- package/mssql-core/columns/common.cjs.map +0 -1
- package/mssql-core/columns/common.d.cts +0 -67
- package/mssql-core/columns/common.d.ts +0 -67
- package/mssql-core/columns/common.js +0 -83
- package/mssql-core/columns/common.js.map +0 -1
- package/mssql-core/columns/custom.cjs +0 -75
- package/mssql-core/columns/custom.cjs.map +0 -1
- package/mssql-core/columns/custom.d.cts +0 -149
- package/mssql-core/columns/custom.d.ts +0 -149
- package/mssql-core/columns/custom.js +0 -49
- package/mssql-core/columns/custom.js.map +0 -1
- package/mssql-core/columns/date.cjs +0 -94
- package/mssql-core/columns/date.cjs.map +0 -1
- package/mssql-core/columns/date.common.cjs.map +0 -1
- package/mssql-core/columns/date.common.d.cts +0 -12
- package/mssql-core/columns/date.common.d.ts +0 -12
- package/mssql-core/columns/date.common.js +0 -13
- package/mssql-core/columns/date.common.js.map +0 -1
- package/mssql-core/columns/date.d.cts +0 -55
- package/mssql-core/columns/date.d.ts +0 -55
- package/mssql-core/columns/date.js +0 -66
- package/mssql-core/columns/date.js.map +0 -1
- package/mssql-core/columns/datetime.cjs +0 -94
- package/mssql-core/columns/datetime.cjs.map +0 -1
- package/mssql-core/columns/datetime.d.cts +0 -54
- package/mssql-core/columns/datetime.d.ts +0 -54
- package/mssql-core/columns/datetime.js +0 -66
- package/mssql-core/columns/datetime.js.map +0 -1
- package/mssql-core/columns/datetime2.cjs +0 -102
- package/mssql-core/columns/datetime2.cjs.map +0 -1
- package/mssql-core/columns/datetime2.d.cts +0 -54
- package/mssql-core/columns/datetime2.d.ts +0 -54
- package/mssql-core/columns/datetime2.js +0 -74
- package/mssql-core/columns/datetime2.js.map +0 -1
- package/mssql-core/columns/datetimeoffset.cjs +0 -102
- package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
- package/mssql-core/columns/datetimeoffset.d.cts +0 -54
- package/mssql-core/columns/datetimeoffset.d.ts +0 -54
- package/mssql-core/columns/datetimeoffset.js +0 -74
- package/mssql-core/columns/datetimeoffset.js.map +0 -1
- package/mssql-core/columns/decimal.cjs +0 -68
- package/mssql-core/columns/decimal.cjs.map +0 -1
- package/mssql-core/columns/decimal.d.cts +0 -30
- package/mssql-core/columns/decimal.d.ts +0 -30
- package/mssql-core/columns/decimal.js +0 -42
- package/mssql-core/columns/decimal.js.map +0 -1
- package/mssql-core/columns/float.cjs +0 -58
- package/mssql-core/columns/float.cjs.map +0 -1
- package/mssql-core/columns/float.d.cts +0 -28
- package/mssql-core/columns/float.d.ts +0 -28
- package/mssql-core/columns/float.js +0 -32
- package/mssql-core/columns/float.js.map +0 -1
- package/mssql-core/columns/index.cjs +0 -63
- package/mssql-core/columns/index.cjs.map +0 -1
- package/mssql-core/columns/index.d.cts +0 -21
- package/mssql-core/columns/index.d.ts +0 -21
- package/mssql-core/columns/index.js +0 -22
- package/mssql-core/columns/index.js.map +0 -1
- package/mssql-core/columns/int.cjs +0 -53
- package/mssql-core/columns/int.cjs.map +0 -1
- package/mssql-core/columns/int.d.cts +0 -23
- package/mssql-core/columns/int.d.ts +0 -23
- package/mssql-core/columns/int.js +0 -27
- package/mssql-core/columns/int.js.map +0 -1
- package/mssql-core/columns/numeric.cjs +0 -68
- package/mssql-core/columns/numeric.cjs.map +0 -1
- package/mssql-core/columns/numeric.d.cts +0 -27
- package/mssql-core/columns/numeric.d.ts +0 -27
- package/mssql-core/columns/numeric.js +0 -42
- package/mssql-core/columns/numeric.js.map +0 -1
- package/mssql-core/columns/real.cjs +0 -53
- package/mssql-core/columns/real.cjs.map +0 -1
- package/mssql-core/columns/real.d.cts +0 -23
- package/mssql-core/columns/real.d.ts +0 -23
- package/mssql-core/columns/real.js +0 -27
- package/mssql-core/columns/real.js.map +0 -1
- package/mssql-core/columns/smallint.cjs +0 -62
- package/mssql-core/columns/smallint.cjs.map +0 -1
- package/mssql-core/columns/smallint.d.cts +0 -24
- package/mssql-core/columns/smallint.d.ts +0 -24
- package/mssql-core/columns/smallint.js +0 -36
- package/mssql-core/columns/smallint.js.map +0 -1
- package/mssql-core/columns/text.cjs +0 -68
- package/mssql-core/columns/text.cjs.map +0 -1
- package/mssql-core/columns/text.d.cts +0 -45
- package/mssql-core/columns/text.d.ts +0 -45
- package/mssql-core/columns/text.js +0 -41
- package/mssql-core/columns/text.js.map +0 -1
- package/mssql-core/columns/time.cjs +0 -90
- package/mssql-core/columns/time.cjs.map +0 -1
- package/mssql-core/columns/time.d.cts +0 -49
- package/mssql-core/columns/time.d.ts +0 -49
- package/mssql-core/columns/time.js +0 -62
- package/mssql-core/columns/time.js.map +0 -1
- package/mssql-core/columns/tinyint.cjs +0 -62
- package/mssql-core/columns/tinyint.cjs.map +0 -1
- package/mssql-core/columns/tinyint.d.cts +0 -24
- package/mssql-core/columns/tinyint.d.ts +0 -24
- package/mssql-core/columns/tinyint.js +0 -36
- package/mssql-core/columns/tinyint.js.map +0 -1
- package/mssql-core/columns/varbinary.cjs +0 -61
- package/mssql-core/columns/varbinary.cjs.map +0 -1
- package/mssql-core/columns/varbinary.d.cts +0 -27
- package/mssql-core/columns/varbinary.d.ts +0 -27
- package/mssql-core/columns/varbinary.js +0 -35
- package/mssql-core/columns/varbinary.js.map +0 -1
- package/mssql-core/columns/varchar.cjs +0 -117
- package/mssql-core/columns/varchar.cjs.map +0 -1
- package/mssql-core/columns/varchar.d.cts +0 -66
- package/mssql-core/columns/varchar.d.ts +0 -66
- package/mssql-core/columns/varchar.js +0 -88
- package/mssql-core/columns/varchar.js.map +0 -1
- package/mssql-core/db.cjs +0 -254
- package/mssql-core/db.cjs.map +0 -1
- package/mssql-core/db.d.cts +0 -228
- package/mssql-core/db.d.ts +0 -228
- package/mssql-core/db.js +0 -235
- package/mssql-core/db.js.map +0 -1
- package/mssql-core/dialect.cjs +0 -611
- package/mssql-core/dialect.cjs.map +0 -1
- package/mssql-core/dialect.d.cts +0 -58
- package/mssql-core/dialect.d.ts +0 -58
- package/mssql-core/dialect.js +0 -593
- package/mssql-core/dialect.js.map +0 -1
- package/mssql-core/expressions.cjs +0 -49
- package/mssql-core/expressions.cjs.map +0 -1
- package/mssql-core/expressions.d.cts +0 -8
- package/mssql-core/expressions.d.ts +0 -8
- package/mssql-core/expressions.js +0 -22
- package/mssql-core/expressions.js.map +0 -1
- package/mssql-core/foreign-keys.cjs +0 -91
- package/mssql-core/foreign-keys.cjs.map +0 -1
- package/mssql-core/foreign-keys.d.cts +0 -51
- package/mssql-core/foreign-keys.d.ts +0 -51
- package/mssql-core/foreign-keys.js +0 -65
- package/mssql-core/foreign-keys.js.map +0 -1
- package/mssql-core/index.cjs +0 -55
- package/mssql-core/index.cjs.map +0 -1
- package/mssql-core/index.d.cts +0 -17
- package/mssql-core/index.d.ts +0 -17
- package/mssql-core/index.js +0 -18
- package/mssql-core/index.js.map +0 -1
- package/mssql-core/indexes.cjs +0 -80
- package/mssql-core/indexes.cjs.map +0 -1
- package/mssql-core/indexes.d.cts +0 -49
- package/mssql-core/indexes.d.ts +0 -49
- package/mssql-core/indexes.js +0 -52
- package/mssql-core/indexes.js.map +0 -1
- package/mssql-core/primary-keys.cjs +0 -64
- package/mssql-core/primary-keys.cjs.map +0 -1
- package/mssql-core/primary-keys.d.cts +0 -23
- package/mssql-core/primary-keys.d.ts +0 -23
- package/mssql-core/primary-keys.js +0 -38
- package/mssql-core/primary-keys.js.map +0 -1
- package/mssql-core/query-builders/delete.cjs +0 -107
- package/mssql-core/query-builders/delete.cjs.map +0 -1
- package/mssql-core/query-builders/delete.d.cts +0 -98
- package/mssql-core/query-builders/delete.d.ts +0 -98
- package/mssql-core/query-builders/delete.js +0 -83
- package/mssql-core/query-builders/delete.js.map +0 -1
- package/mssql-core/query-builders/index.cjs +0 -33
- package/mssql-core/query-builders/index.cjs.map +0 -1
- package/mssql-core/query-builders/index.d.cts +0 -6
- package/mssql-core/query-builders/index.d.ts +0 -6
- package/mssql-core/query-builders/index.js +0 -7
- package/mssql-core/query-builders/index.js.map +0 -1
- package/mssql-core/query-builders/insert.cjs +0 -105
- package/mssql-core/query-builders/insert.cjs.map +0 -1
- package/mssql-core/query-builders/insert.d.cts +0 -78
- package/mssql-core/query-builders/insert.d.ts +0 -78
- package/mssql-core/query-builders/insert.js +0 -80
- package/mssql-core/query-builders/insert.js.map +0 -1
- package/mssql-core/query-builders/query-builder.cjs +0 -95
- package/mssql-core/query-builders/query-builder.cjs.map +0 -1
- package/mssql-core/query-builders/query-builder.d.cts +0 -32
- package/mssql-core/query-builders/query-builder.d.ts +0 -32
- package/mssql-core/query-builders/query-builder.js +0 -71
- package/mssql-core/query-builders/query-builder.js.map +0 -1
- package/mssql-core/query-builders/query.cjs +0 -126
- package/mssql-core/query-builders/query.cjs.map +0 -1
- package/mssql-core/query-builders/query.d.cts +0 -42
- package/mssql-core/query-builders/query.d.ts +0 -42
- package/mssql-core/query-builders/query.js +0 -103
- package/mssql-core/query-builders/query.js.map +0 -1
- package/mssql-core/query-builders/select.cjs +0 -679
- package/mssql-core/query-builders/select.cjs.map +0 -1
- package/mssql-core/query-builders/select.d.cts +0 -549
- package/mssql-core/query-builders/select.d.ts +0 -549
- package/mssql-core/query-builders/select.js +0 -649
- package/mssql-core/query-builders/select.js.map +0 -1
- package/mssql-core/query-builders/select.types.cjs +0 -17
- package/mssql-core/query-builders/select.types.cjs.map +0 -1
- package/mssql-core/query-builders/select.types.d.cts +0 -142
- package/mssql-core/query-builders/select.types.d.ts +0 -142
- package/mssql-core/query-builders/select.types.js +0 -1
- package/mssql-core/query-builders/update.cjs +0 -138
- package/mssql-core/query-builders/update.cjs.map +0 -1
- package/mssql-core/query-builders/update.d.cts +0 -141
- package/mssql-core/query-builders/update.d.ts +0 -141
- package/mssql-core/query-builders/update.js +0 -113
- package/mssql-core/query-builders/update.js.map +0 -1
- package/mssql-core/schema.cjs +0 -51
- package/mssql-core/schema.cjs.map +0 -1
- package/mssql-core/schema.d.cts +0 -22
- package/mssql-core/schema.d.ts +0 -22
- package/mssql-core/schema.js +0 -25
- package/mssql-core/schema.js.map +0 -1
- package/mssql-core/session.cjs +0 -74
- package/mssql-core/session.cjs.map +0 -1
- package/mssql-core/session.d.cts +0 -63
- package/mssql-core/session.d.ts +0 -63
- package/mssql-core/session.js +0 -48
- package/mssql-core/session.js.map +0 -1
- package/mssql-core/subquery.cjs.map +0 -1
- package/mssql-core/subquery.d.cts +0 -18
- package/mssql-core/subquery.d.ts +0 -18
- package/mssql-core/subquery.js +0 -1
- package/mssql-core/subquery.js.map +0 -1
- package/mssql-core/table.cjs +0 -81
- package/mssql-core/table.cjs.map +0 -1
- package/mssql-core/table.d.cts +0 -43
- package/mssql-core/table.d.ts +0 -43
- package/mssql-core/table.js +0 -53
- package/mssql-core/table.js.map +0 -1
- package/mssql-core/unique-constraint.cjs +0 -76
- package/mssql-core/unique-constraint.cjs.map +0 -1
- package/mssql-core/unique-constraint.d.cts +0 -23
- package/mssql-core/unique-constraint.d.ts +0 -23
- package/mssql-core/unique-constraint.js +0 -49
- package/mssql-core/unique-constraint.js.map +0 -1
- package/mssql-core/utils.cjs +0 -85
- package/mssql-core/utils.cjs.map +0 -1
- package/mssql-core/utils.d.cts +0 -31
- package/mssql-core/utils.d.ts +0 -31
- package/mssql-core/utils.js +0 -60
- package/mssql-core/utils.js.map +0 -1
- package/mssql-core/view-base.cjs +0 -33
- package/mssql-core/view-base.cjs.map +0 -1
- package/mssql-core/view-base.d.cts +0 -9
- package/mssql-core/view-base.d.ts +0 -9
- package/mssql-core/view-base.js +0 -9
- package/mssql-core/view-base.js.map +0 -1
- package/mssql-core/view-common.cjs.map +0 -1
- package/mssql-core/view-common.d.cts +0 -1
- package/mssql-core/view-common.d.ts +0 -1
- package/mssql-core/view-common.js +0 -5
- package/mssql-core/view-common.js.map +0 -1
- package/mssql-core/view.cjs +0 -154
- package/mssql-core/view.cjs.map +0 -1
- package/mssql-core/view.d.cts +0 -64
- package/mssql-core/view.d.ts +0 -64
- package/mssql-core/view.js +0 -125
- package/mssql-core/view.js.map +0 -1
- package/node-mssql/driver.cjs +0 -88
- package/node-mssql/driver.cjs.map +0 -1
- package/node-mssql/driver.d.cts +0 -34
- package/node-mssql/driver.d.ts +0 -34
- package/node-mssql/driver.js +0 -65
- package/node-mssql/driver.js.map +0 -1
- package/node-mssql/index.cjs.map +0 -1
- package/node-mssql/index.d.cts +0 -2
- package/node-mssql/index.d.ts +0 -2
- package/node-mssql/index.js +0 -3
- package/node-mssql/index.js.map +0 -1
- package/node-mssql/migrator.cjs +0 -33
- package/node-mssql/migrator.cjs.map +0 -1
- package/node-mssql/migrator.d.cts +0 -3
- package/node-mssql/migrator.d.ts +0 -3
- package/node-mssql/migrator.js +0 -9
- package/node-mssql/migrator.js.map +0 -1
- package/node-mssql/session.cjs +0 -243
- package/node-mssql/session.cjs.map +0 -1
- package/node-mssql/session.d.cts +0 -47
- package/node-mssql/session.d.ts +0 -47
- package/node-mssql/session.js +0 -211
- package/node-mssql/session.js.map +0 -1
- /package/{mssql-core/query-builders/select.types.js.map → cache/core/types.js.map} +0 -0
package/sqlite-core/session.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NoopCache } from "../cache/core/cache.js";
|
|
2
|
+
import { entityKind, is } from "../entity.js";
|
|
2
3
|
import { DrizzleError, TransactionRollbackError } from "../errors.js";
|
|
4
|
+
import { DrizzleQueryError } from "../errors/index.js";
|
|
3
5
|
import { QueryPromise } from "../query-promise.js";
|
|
6
|
+
import { hashQuery } from "../utils.js";
|
|
4
7
|
import { BaseSQLiteDatabase } from "./db.js";
|
|
5
8
|
class ExecuteResultSync extends QueryPromise {
|
|
6
9
|
constructor(resultCb) {
|
|
@@ -16,14 +19,89 @@ class ExecuteResultSync extends QueryPromise {
|
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
21
|
class SQLitePreparedQuery {
|
|
19
|
-
constructor(mode, executeMethod, query) {
|
|
22
|
+
constructor(mode, executeMethod, query, cache, queryMetadata, cacheConfig) {
|
|
20
23
|
this.mode = mode;
|
|
21
24
|
this.executeMethod = executeMethod;
|
|
22
25
|
this.query = query;
|
|
26
|
+
this.cache = cache;
|
|
27
|
+
this.queryMetadata = queryMetadata;
|
|
28
|
+
this.cacheConfig = cacheConfig;
|
|
29
|
+
if (cache && cache.strategy() === "all" && cacheConfig === void 0) {
|
|
30
|
+
this.cacheConfig = { enable: true, autoInvalidate: true };
|
|
31
|
+
}
|
|
32
|
+
if (!this.cacheConfig?.enable) {
|
|
33
|
+
this.cacheConfig = void 0;
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
36
|
static [entityKind] = "PreparedQuery";
|
|
25
37
|
/** @internal */
|
|
26
38
|
joinsNotNullableMap;
|
|
39
|
+
/** @internal */
|
|
40
|
+
async queryWithCache(queryString, params, query) {
|
|
41
|
+
if (this.cache === void 0 || is(this.cache, NoopCache) || this.queryMetadata === void 0) {
|
|
42
|
+
try {
|
|
43
|
+
return await query();
|
|
44
|
+
} catch (e) {
|
|
45
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (this.cacheConfig && !this.cacheConfig.enable) {
|
|
49
|
+
try {
|
|
50
|
+
return await query();
|
|
51
|
+
} catch (e) {
|
|
52
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if ((this.queryMetadata.type === "insert" || this.queryMetadata.type === "update" || this.queryMetadata.type === "delete") && this.queryMetadata.tables.length > 0) {
|
|
56
|
+
try {
|
|
57
|
+
const [res] = await Promise.all([
|
|
58
|
+
query(),
|
|
59
|
+
this.cache.onMutate({ tables: this.queryMetadata.tables })
|
|
60
|
+
]);
|
|
61
|
+
return res;
|
|
62
|
+
} catch (e) {
|
|
63
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!this.cacheConfig) {
|
|
67
|
+
try {
|
|
68
|
+
return await query();
|
|
69
|
+
} catch (e) {
|
|
70
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (this.queryMetadata.type === "select") {
|
|
74
|
+
const fromCache = await this.cache.get(
|
|
75
|
+
this.cacheConfig.tag ?? (await hashQuery(queryString, params)),
|
|
76
|
+
this.queryMetadata.tables,
|
|
77
|
+
this.cacheConfig.tag !== void 0,
|
|
78
|
+
this.cacheConfig.autoInvalidate
|
|
79
|
+
);
|
|
80
|
+
if (fromCache === void 0) {
|
|
81
|
+
let result;
|
|
82
|
+
try {
|
|
83
|
+
result = await query();
|
|
84
|
+
} catch (e) {
|
|
85
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
86
|
+
}
|
|
87
|
+
await this.cache.put(
|
|
88
|
+
this.cacheConfig.tag ?? (await hashQuery(queryString, params)),
|
|
89
|
+
result,
|
|
90
|
+
// make sure we send tables that were used in a query only if user wants to invalidate it on each write
|
|
91
|
+
this.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],
|
|
92
|
+
this.cacheConfig.tag !== void 0,
|
|
93
|
+
this.cacheConfig.config
|
|
94
|
+
);
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
return fromCache;
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
return await query();
|
|
101
|
+
} catch (e) {
|
|
102
|
+
throw new DrizzleQueryError(queryString, params, e);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
27
105
|
getQuery() {
|
|
28
106
|
return this.query;
|
|
29
107
|
}
|
|
@@ -61,8 +139,16 @@ class SQLiteSession {
|
|
|
61
139
|
this.dialect = dialect;
|
|
62
140
|
}
|
|
63
141
|
static [entityKind] = "SQLiteSession";
|
|
64
|
-
prepareOneTimeQuery(query, fields, executeMethod, isResponseInArrayMode) {
|
|
65
|
-
return this.prepareQuery(
|
|
142
|
+
prepareOneTimeQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
|
|
143
|
+
return this.prepareQuery(
|
|
144
|
+
query,
|
|
145
|
+
fields,
|
|
146
|
+
executeMethod,
|
|
147
|
+
isResponseInArrayMode,
|
|
148
|
+
customResultMapper,
|
|
149
|
+
queryMetadata,
|
|
150
|
+
cacheConfig
|
|
151
|
+
);
|
|
66
152
|
}
|
|
67
153
|
run(query) {
|
|
68
154
|
const staticQuery = this.dialect.sqlToQuery(query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DrizzleError, TransactionRollbackError } from '~/errors.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\n// import { QueryPromise } from '../index.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport { BaseSQLiteDatabase } from './db.ts';\nimport type { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\ttype: 'sync' | 'async';\n\trun: unknown;\n\tall: unknown;\n\tget: unknown;\n\tvalues: unknown;\n\texecute: unknown;\n}\n\nexport class ExecuteResultSync<T> extends QueryPromise<T> {\n\tstatic override readonly [entityKind]: string = 'ExecuteResultSync';\n\n\tconstructor(private resultCb: () => T) {\n\t\tsuper();\n\t}\n\n\toverride async execute(): Promise<T> {\n\t\treturn this.resultCb();\n\t}\n\n\tsync(): T {\n\t\treturn this.resultCb();\n\t}\n}\n\nexport type ExecuteResult<TType extends 'sync' | 'async', TResult> = TType extends 'async' ? Promise<TResult>\n\t: ExecuteResultSync<TResult>;\n\nexport abstract class SQLitePreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tstatic readonly [entityKind]: string = 'PreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tconstructor(\n\t\tprivate mode: 'sync' | 'async',\n\t\tprivate executeMethod: SQLiteExecuteMethod,\n\t\tprotected query: Query,\n\t) {}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tabstract run(placeholderValues?: Record<string, unknown>): Result<T['type'], T['run']>;\n\n\tmapRunResult(result: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn result;\n\t}\n\n\tabstract all(placeholderValues?: Record<string, unknown>): Result<T['type'], T['all']>;\n\n\tmapAllResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract get(placeholderValues?: Record<string, unknown>): Result<T['type'], T['get']>;\n\n\tmapGetResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract values(placeholderValues?: Record<string, unknown>): Result<T['type'], T['values']>;\n\n\texecute(placeholderValues?: Record<string, unknown>): ExecuteResult<T['type'], T['execute']> {\n\t\tif (this.mode === 'async') {\n\t\t\treturn this[this.executeMethod](placeholderValues) as ExecuteResult<T['type'], T['execute']>;\n\t\t}\n\t\treturn new ExecuteResultSync(() => this[this.executeMethod](placeholderValues));\n\t}\n\n\tmapResult(response: unknown, isFromBatch?: boolean) {\n\t\tswitch (this.executeMethod) {\n\t\t\tcase 'run': {\n\t\t\t\treturn this.mapRunResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'all': {\n\t\t\t\treturn this.mapAllResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'get': {\n\t\t\t\treturn this.mapGetResult(response, isFromBatch);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface SQLiteTransactionConfig {\n\tbehavior?: 'deferred' | 'immediate' | 'exclusive';\n}\n\nexport type SQLiteExecuteMethod = 'run' | 'all' | 'get';\n\nexport abstract class SQLiteSession<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSession';\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t) {}\n\n\tabstract prepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TResultKind }>;\n\n\tprepareOneTimeQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TResultKind }> {\n\t\treturn this.prepareQuery(query, fields, executeMethod, isResponseInArrayMode);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TSchema>) => Result<TResultKind, T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result<TResultKind, T>;\n\n\trun(query: SQL): Result<TResultKind, TRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result<TResultKind, TRunResult>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\t/** @internal */\n\textractRawRunValueFromBatchResult(result: unknown) {\n\t\treturn result;\n\t}\n\n\tall<T = unknown>(query: SQL): Result<TResultKind, T[]> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawAllValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tget<T = unknown>(query: SQL): Result<TResultKind, T> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\tTResultKind,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawGetValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tvalues<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<TResultKind, T[]> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\tasync count(sql: SQL) {\n\t\tconst result = await this.values(sql) as [[number]];\n\n\t\treturn result[0][0];\n\t}\n\n\t/** @internal */\n\textractRawValuesValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n}\n\nexport type Result<TKind extends 'sync' | 'async', TResult> = { sync: TResult; async: Promise<TResult> }[TKind];\n\nexport type DBResult<TKind extends 'sync' | 'async', TResult> = { sync: TResult; async: SQLiteRaw<TResult> }[TKind];\n\nexport abstract class SQLiteTransaction<\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends BaseSQLiteDatabase<TResultType, TRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTransaction';\n\n\tconstructor(\n\t\tresultType: TResultType,\n\t\tdialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultType],\n\t\tsession: SQLiteSession<TResultType, TRunResult, TFullSchema, TSchema>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(resultType, dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite-core/session.ts"],"sourcesContent":["import { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError, TransactionRollbackError } from '~/errors.ts';\nimport { DrizzleQueryError } from '~/errors/index.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { hashQuery } from '~/utils.ts';\nimport { BaseSQLiteDatabase } from './db.ts';\nimport type { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\ttype: 'sync' | 'async';\n\trun: unknown;\n\tall: unknown;\n\tget: unknown;\n\tvalues: unknown;\n\texecute: unknown;\n}\n\nexport class ExecuteResultSync<T> extends QueryPromise<T> {\n\tstatic override readonly [entityKind]: string = 'ExecuteResultSync';\n\n\tconstructor(private resultCb: () => T) {\n\t\tsuper();\n\t}\n\n\toverride async execute(): Promise<T> {\n\t\treturn this.resultCb();\n\t}\n\n\tsync(): T {\n\t\treturn this.resultCb();\n\t}\n}\n\nexport type ExecuteResult<TType extends 'sync' | 'async', TResult> = TType extends 'async' ? Promise<TResult>\n\t: ExecuteResultSync<TResult>;\n\nexport abstract class SQLitePreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tstatic readonly [entityKind]: string = 'PreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tconstructor(\n\t\tprivate mode: 'sync' | 'async',\n\t\tprivate executeMethod: SQLiteExecuteMethod,\n\t\tprotected query: Query,\n\t\tprivate cache?: Cache,\n\t\t// per query related metadata\n\t\tprivate queryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\t// config that was passed through $withCache\n\t\tprivate cacheConfig?: WithCacheConfig,\n\t) {\n\t\t// it means that no $withCache options were passed and it should be just enabled\n\t\tif (cache && cache.strategy() === 'all' && cacheConfig === undefined) {\n\t\t\tthis.cacheConfig = { enable: true, autoInvalidate: true };\n\t\t}\n\t\tif (!this.cacheConfig?.enable) {\n\t\t\tthis.cacheConfig = undefined;\n\t\t}\n\t}\n\n\t/** @internal */\n\tprotected async queryWithCache<T>(\n\t\tqueryString: string,\n\t\tparams: any[],\n\t\tquery: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (this.cache === undefined || is(this.cache, NoopCache) || this.queryMetadata === undefined) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any mutations, if globally is false\n\t\tif (this.cacheConfig && !this.cacheConfig.enable) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// For mutate queries, we should query the database, wait for a response, and then perform invalidation\n\t\tif (\n\t\t\t(\n\t\t\t\tthis.queryMetadata.type === 'insert' || this.queryMetadata.type === 'update'\n\t\t\t\t|| this.queryMetadata.type === 'delete'\n\t\t\t) && this.queryMetadata.tables.length > 0\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst [res] = await Promise.all([\n\t\t\t\t\tquery(),\n\t\t\t\t\tthis.cache.onMutate({ tables: this.queryMetadata.tables }),\n\t\t\t\t]);\n\t\t\t\treturn res;\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any reads if globally disabled\n\t\tif (!this.cacheConfig) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\tif (this.queryMetadata.type === 'select') {\n\t\t\tconst fromCache = await this.cache.get(\n\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\tthis.queryMetadata.tables,\n\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\tthis.cacheConfig.autoInvalidate,\n\t\t\t);\n\t\t\tif (fromCache === undefined) {\n\t\t\t\tlet result;\n\t\t\t\ttry {\n\t\t\t\t\tresult = await query();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t\t}\n\n\t\t\t\t// put actual key\n\t\t\t\tawait this.cache.put(\n\t\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\t\tresult,\n\t\t\t\t\t// make sure we send tables that were used in a query only if user wants to invalidate it on each write\n\t\t\t\t\tthis.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],\n\t\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\t\tthis.cacheConfig.config,\n\t\t\t\t);\n\t\t\t\t// put flag if we should invalidate or not\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn fromCache as unknown as T;\n\t\t}\n\t\ttry {\n\t\t\treturn await query();\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t}\n\t}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tabstract run(placeholderValues?: Record<string, unknown>): Result<T['type'], T['run']>;\n\n\tmapRunResult(result: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn result;\n\t}\n\n\tabstract all(placeholderValues?: Record<string, unknown>): Result<T['type'], T['all']>;\n\n\tmapAllResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract get(placeholderValues?: Record<string, unknown>): Result<T['type'], T['get']>;\n\n\tmapGetResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract values(placeholderValues?: Record<string, unknown>): Result<T['type'], T['values']>;\n\n\texecute(placeholderValues?: Record<string, unknown>): ExecuteResult<T['type'], T['execute']> {\n\t\tif (this.mode === 'async') {\n\t\t\treturn this[this.executeMethod](placeholderValues) as ExecuteResult<T['type'], T['execute']>;\n\t\t}\n\t\treturn new ExecuteResultSync(() => this[this.executeMethod](placeholderValues));\n\t}\n\n\tmapResult(response: unknown, isFromBatch?: boolean) {\n\t\tswitch (this.executeMethod) {\n\t\t\tcase 'run': {\n\t\t\t\treturn this.mapRunResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'all': {\n\t\t\t\treturn this.mapAllResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'get': {\n\t\t\t\treturn this.mapGetResult(response, isFromBatch);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface SQLiteTransactionConfig {\n\tbehavior?: 'deferred' | 'immediate' | 'exclusive';\n}\n\nexport type SQLiteExecuteMethod = 'run' | 'all' | 'get';\n\nexport abstract class SQLiteSession<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSession';\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t) {}\n\n\tabstract prepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TResultKind }>;\n\n\tprepareOneTimeQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TResultKind }> {\n\t\treturn this.prepareQuery(\n\t\t\tquery,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TSchema>) => Result<TResultKind, T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result<TResultKind, T>;\n\n\trun(query: SQL): Result<TResultKind, TRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result<TResultKind, TRunResult>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\t/** @internal */\n\textractRawRunValueFromBatchResult(result: unknown) {\n\t\treturn result;\n\t}\n\n\tall<T = unknown>(query: SQL): Result<TResultKind, T[]> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawAllValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tget<T = unknown>(query: SQL): Result<TResultKind, T> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\tTResultKind,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawGetValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tvalues<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<TResultKind, T[]> {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\tasync count(sql: SQL) {\n\t\tconst result = await this.values(sql) as [[number]];\n\n\t\treturn result[0][0];\n\t}\n\n\t/** @internal */\n\textractRawValuesValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n}\n\nexport type Result<TKind extends 'sync' | 'async', TResult> = { sync: TResult; async: Promise<TResult> }[TKind];\n\nexport type DBResult<TKind extends 'sync' | 'async', TResult> = { sync: TResult; async: SQLiteRaw<TResult> }[TKind];\n\nexport abstract class SQLiteTransaction<\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends BaseSQLiteDatabase<TResultType, TRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTransaction';\n\n\tconstructor(\n\t\tresultType: TResultType,\n\t\tdialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultType],\n\t\tsession: SQLiteSession<TResultType, TRunResult, TFullSchema, TSchema>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(resultType, dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n}\n"],"mappings":"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","names":[]}
|
package/sqlite-core/utils.cjs
CHANGED
|
@@ -18,11 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var utils_exports = {};
|
|
20
20
|
__export(utils_exports, {
|
|
21
|
+
extractUsedTable: () => extractUsedTable,
|
|
21
22
|
getTableConfig: () => getTableConfig,
|
|
22
23
|
getViewConfig: () => getViewConfig
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(utils_exports);
|
|
25
26
|
var import_entity = require("../entity.cjs");
|
|
27
|
+
var import_sql = require("../sql/sql.cjs");
|
|
28
|
+
var import_subquery = require("../subquery.cjs");
|
|
26
29
|
var import_table = require("../table.cjs");
|
|
27
30
|
var import_view_common = require("../view-common.cjs");
|
|
28
31
|
var import_checks = require("./checks.cjs");
|
|
@@ -67,6 +70,18 @@ function getTableConfig(table) {
|
|
|
67
70
|
name
|
|
68
71
|
};
|
|
69
72
|
}
|
|
73
|
+
function extractUsedTable(table) {
|
|
74
|
+
if ((0, import_entity.is)(table, import_table2.SQLiteTable)) {
|
|
75
|
+
return [`${table[import_table.Table.Symbol.BaseName]}`];
|
|
76
|
+
}
|
|
77
|
+
if ((0, import_entity.is)(table, import_subquery.Subquery)) {
|
|
78
|
+
return table._.usedTables ?? [];
|
|
79
|
+
}
|
|
80
|
+
if ((0, import_entity.is)(table, import_sql.SQL)) {
|
|
81
|
+
return table.usedTables ?? [];
|
|
82
|
+
}
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
70
85
|
function getViewConfig(view) {
|
|
71
86
|
return {
|
|
72
87
|
...view[import_view_common.ViewBaseConfig]
|
|
@@ -75,6 +90,7 @@ function getViewConfig(view) {
|
|
|
75
90
|
}
|
|
76
91
|
// Annotate the CommonJS export names for ESM import in node:
|
|
77
92
|
0 && (module.exports = {
|
|
93
|
+
extractUsedTable,
|
|
78
94
|
getTableConfig,
|
|
79
95
|
getViewConfig
|
|
80
96
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig<TTable extends SQLiteTable>(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,mBAAsB;AACtB,yBAA+B;AAE/B,oBAA6B;AAE7B,0BAAkC;AAElC,qBAA6B;AAE7B,0BAAkC;AAClC,IAAAA,gBAA4B;AAC5B,+BAA+D;
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig<TTable extends SQLiteTable>(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[] {\n\tif (is(table, SQLiteTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,iBAAoB;AACpB,sBAAyB;AACzB,mBAAsB;AACtB,yBAA+B;AAE/B,oBAA6B;AAE7B,0BAAkC;AAElC,qBAA6B;AAE7B,0BAAkC;AAClC,IAAAA,gBAA4B;AAC5B,+BAA+D;AAIxD,SAAS,eAA2C,OAAe;AACzE,QAAM,UAAU,OAAO,OAAO,MAAM,0BAAY,OAAO,OAAO,CAAC;AAC/D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,0BAAY,OAAO,iBAAiB,CAAC;AAC3F,QAAM,OAAO,MAAM,mBAAM,OAAO,IAAI;AAEpC,QAAM,qBAAqB,MAAM,0BAAY,OAAO,kBAAkB;AAEtE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,0BAAY,OAAO,OAAO,CAAC;AACxE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,iBAAiB,OAAgE;AAChG,UAAI,kBAAG,OAAO,yBAAW,GAAG;AAC3B,WAAO,CAAC,GAAG,MAAM,mBAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,UAAI,kBAAG,OAAO,wBAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,UAAI,kBAAG,OAAO,cAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAIO,SAAS,cAGd,MAAoC;AACrC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA;AAAA,EAEvB;AACD;","names":["import_table"]}
|
package/sqlite-core/utils.d.cts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { SQL } from "../sql/sql.cjs";
|
|
2
|
+
import { Subquery } from "../subquery.cjs";
|
|
1
3
|
import type { Check } from "./checks.cjs";
|
|
2
4
|
import type { ForeignKey } from "./foreign-keys.cjs";
|
|
3
5
|
import type { Index } from "./indexes.cjs";
|
|
4
6
|
import type { PrimaryKey } from "./primary-keys.cjs";
|
|
5
7
|
import { SQLiteTable } from "./table.cjs";
|
|
6
8
|
import { type UniqueConstraint } from "./unique-constraint.cjs";
|
|
9
|
+
import type { SQLiteViewBase } from "./view-base.cjs";
|
|
7
10
|
import type { SQLiteView } from "./view.cjs";
|
|
8
11
|
export declare function getTableConfig<TTable extends SQLiteTable>(table: TTable): {
|
|
9
12
|
columns: import("./index.ts").SQLiteColumn<any, {}, {}>[];
|
|
@@ -14,13 +17,14 @@ export declare function getTableConfig<TTable extends SQLiteTable>(table: TTable
|
|
|
14
17
|
uniqueConstraints: UniqueConstraint[];
|
|
15
18
|
name: string;
|
|
16
19
|
};
|
|
20
|
+
export declare function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[];
|
|
17
21
|
export type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';
|
|
18
22
|
export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: SQLiteView<TName, TExisting>): {
|
|
19
23
|
name: TName;
|
|
20
24
|
originalName: TName;
|
|
21
25
|
schema: string | undefined;
|
|
22
|
-
selectedFields: import("../
|
|
26
|
+
selectedFields: import("../sql/sql.ts").ColumnsSelection;
|
|
23
27
|
isExisting: TExisting;
|
|
24
|
-
query: TExisting extends true ? undefined :
|
|
28
|
+
query: TExisting extends true ? undefined : SQL<unknown>;
|
|
25
29
|
isAlias: boolean;
|
|
26
30
|
};
|
package/sqlite-core/utils.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { SQL } from "../sql/sql.js";
|
|
2
|
+
import { Subquery } from "../subquery.js";
|
|
1
3
|
import type { Check } from "./checks.js";
|
|
2
4
|
import type { ForeignKey } from "./foreign-keys.js";
|
|
3
5
|
import type { Index } from "./indexes.js";
|
|
4
6
|
import type { PrimaryKey } from "./primary-keys.js";
|
|
5
7
|
import { SQLiteTable } from "./table.js";
|
|
6
8
|
import { type UniqueConstraint } from "./unique-constraint.js";
|
|
9
|
+
import type { SQLiteViewBase } from "./view-base.js";
|
|
7
10
|
import type { SQLiteView } from "./view.js";
|
|
8
11
|
export declare function getTableConfig<TTable extends SQLiteTable>(table: TTable): {
|
|
9
12
|
columns: import("./index.js").SQLiteColumn<any, {}, {}>[];
|
|
@@ -14,13 +17,14 @@ export declare function getTableConfig<TTable extends SQLiteTable>(table: TTable
|
|
|
14
17
|
uniqueConstraints: UniqueConstraint[];
|
|
15
18
|
name: string;
|
|
16
19
|
};
|
|
20
|
+
export declare function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[];
|
|
17
21
|
export type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';
|
|
18
22
|
export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: SQLiteView<TName, TExisting>): {
|
|
19
23
|
name: TName;
|
|
20
24
|
originalName: TName;
|
|
21
25
|
schema: string | undefined;
|
|
22
|
-
selectedFields: import("../
|
|
26
|
+
selectedFields: import("../sql/sql.js").ColumnsSelection;
|
|
23
27
|
isExisting: TExisting;
|
|
24
|
-
query: TExisting extends true ? undefined :
|
|
28
|
+
query: TExisting extends true ? undefined : SQL<unknown>;
|
|
25
29
|
isAlias: boolean;
|
|
26
30
|
};
|
package/sqlite-core/utils.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { is } from "../entity.js";
|
|
2
|
+
import { SQL } from "../sql/sql.js";
|
|
3
|
+
import { Subquery } from "../subquery.js";
|
|
2
4
|
import { Table } from "../table.js";
|
|
3
5
|
import { ViewBaseConfig } from "../view-common.js";
|
|
4
6
|
import { CheckBuilder } from "./checks.js";
|
|
@@ -43,6 +45,18 @@ function getTableConfig(table) {
|
|
|
43
45
|
name
|
|
44
46
|
};
|
|
45
47
|
}
|
|
48
|
+
function extractUsedTable(table) {
|
|
49
|
+
if (is(table, SQLiteTable)) {
|
|
50
|
+
return [`${table[Table.Symbol.BaseName]}`];
|
|
51
|
+
}
|
|
52
|
+
if (is(table, Subquery)) {
|
|
53
|
+
return table._.usedTables ?? [];
|
|
54
|
+
}
|
|
55
|
+
if (is(table, SQL)) {
|
|
56
|
+
return table.usedTables ?? [];
|
|
57
|
+
}
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
46
60
|
function getViewConfig(view) {
|
|
47
61
|
return {
|
|
48
62
|
...view[ViewBaseConfig]
|
|
@@ -50,6 +64,7 @@ function getViewConfig(view) {
|
|
|
50
64
|
};
|
|
51
65
|
}
|
|
52
66
|
export {
|
|
67
|
+
extractUsedTable,
|
|
53
68
|
getTableConfig,
|
|
54
69
|
getViewConfig
|
|
55
70
|
};
|
package/sqlite-core/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig<TTable extends SQLiteTable>(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAgC,+BAA+B;
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig<TTable extends SQLiteTable>(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[] {\n\tif (is(table, SQLiteTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,WAAW;AACpB,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAgC,+BAA+B;AAIxD,SAAS,eAA2C,OAAe;AACzE,QAAM,UAAU,OAAO,OAAO,MAAM,YAAY,OAAO,OAAO,CAAC;AAC/D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,YAAY,OAAO,iBAAiB,CAAC;AAC3F,QAAM,OAAO,MAAM,MAAM,OAAO,IAAI;AAEpC,QAAM,qBAAqB,MAAM,YAAY,OAAO,kBAAkB;AAEtE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,YAAY,OAAO,OAAO,CAAC;AACxE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,UAAI,GAAG,SAAS,YAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,WAAW,GAAG,SAAS,YAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,WAAW,GAAG,SAAS,uBAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,iBAAiB,OAAgE;AAChG,MAAI,GAAG,OAAO,WAAW,GAAG;AAC3B,WAAO,CAAC,GAAG,MAAM,MAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,MAAI,GAAG,OAAO,QAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,MAAI,GAAG,OAAO,GAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAIO,SAAS,cAGd,MAAoC;AACrC,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA;AAAA,EAEvB;AACD;","names":[]}
|
package/sqlite-proxy/driver.cjs
CHANGED
|
@@ -37,6 +37,7 @@ class SqliteRemoteDatabase extends import_db.BaseSQLiteDatabase {
|
|
|
37
37
|
function drizzle(callback, batchCallback, config) {
|
|
38
38
|
const dialect = new import_dialect.SQLiteAsyncDialect({ casing: config?.casing });
|
|
39
39
|
let logger;
|
|
40
|
+
let cache;
|
|
40
41
|
let _batchCallback;
|
|
41
42
|
let _config = {};
|
|
42
43
|
if (batchCallback) {
|
|
@@ -51,6 +52,7 @@ function drizzle(callback, batchCallback, config) {
|
|
|
51
52
|
logger = new import_logger.DefaultLogger();
|
|
52
53
|
} else if (_config.logger !== false) {
|
|
53
54
|
logger = _config.logger;
|
|
55
|
+
cache = _config.cache;
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
let schema;
|
|
@@ -65,8 +67,13 @@ function drizzle(callback, batchCallback, config) {
|
|
|
65
67
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
66
68
|
};
|
|
67
69
|
}
|
|
68
|
-
const session = new import_session.SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger });
|
|
69
|
-
|
|
70
|
+
const session = new import_session.SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger, cache });
|
|
71
|
+
const db = new SqliteRemoteDatabase("async", dialect, session, schema);
|
|
72
|
+
db.$cache = cache;
|
|
73
|
+
if (db.$cache) {
|
|
74
|
+
db.$cache["invalidate"] = cache?.onMutate;
|
|
75
|
+
}
|
|
76
|
+
return db;
|
|
70
77
|
}
|
|
71
78
|
// Annotate the CommonJS export names for ESM import in node:
|
|
72
79
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite-proxy/driver.ts"],"sourcesContent":["import type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteRemoteSession } from './session.ts';\n\nexport interface SqliteRemoteResult<T = unknown> {\n\trows?: T[];\n}\n\nexport class SqliteRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', SqliteRemoteResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SqliteRemoteDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteRemoteSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport type AsyncRemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'run' | 'all' | 'values' | 'get',\n) => Promise<{ rows: any[] }>;\n\nexport type AsyncBatchRemoteCallback = (batch: {\n\tsql: string;\n\tparams: any[];\n\tmethod: 'run' | 'all' | 'values' | 'get';\n}[]) => Promise<{ rows: any[] }[]>;\n\nexport type RemoteCallback = AsyncRemoteCallback;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback | DrizzleConfig<TSchema>,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config?.casing });\n\tlet logger;\n\tlet _batchCallback: AsyncBatchRemoteCallback | undefined;\n\tlet _config: DrizzleConfig<TSchema> = {};\n\n\tif (batchCallback) {\n\t\tif (typeof batchCallback === 'function') {\n\t\t\t_batchCallback = batchCallback as AsyncBatchRemoteCallback;\n\t\t\t_config = config ?? {};\n\t\t} else {\n\t\t\t_batchCallback = undefined;\n\t\t\t_config = batchCallback as DrizzleConfig<TSchema>;\n\t\t}\n\n\t\tif (_config.logger === true) {\n\t\t\tlogger = new DefaultLogger();\n\t\t} else if (_config.logger !== false) {\n\t\t\tlogger = _config.logger;\n\t\t}\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (_config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\t_config.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: _config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger });\n\
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite-proxy/driver.ts"],"sourcesContent":["import type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteRemoteSession } from './session.ts';\n\nexport interface SqliteRemoteResult<T = unknown> {\n\trows?: T[];\n}\n\nexport class SqliteRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', SqliteRemoteResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SqliteRemoteDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteRemoteSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport type AsyncRemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'run' | 'all' | 'values' | 'get',\n) => Promise<{ rows: any[] }>;\n\nexport type AsyncBatchRemoteCallback = (batch: {\n\tsql: string;\n\tparams: any[];\n\tmethod: 'run' | 'all' | 'values' | 'get';\n}[]) => Promise<{ rows: any[] }[]>;\n\nexport type RemoteCallback = AsyncRemoteCallback;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback | DrizzleConfig<TSchema>,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config?.casing });\n\tlet logger;\n\tlet cache;\n\tlet _batchCallback: AsyncBatchRemoteCallback | undefined;\n\tlet _config: DrizzleConfig<TSchema> = {};\n\n\tif (batchCallback) {\n\t\tif (typeof batchCallback === 'function') {\n\t\t\t_batchCallback = batchCallback as AsyncBatchRemoteCallback;\n\t\t\t_config = config ?? {};\n\t\t} else {\n\t\t\t_batchCallback = undefined;\n\t\t\t_config = batchCallback as DrizzleConfig<TSchema>;\n\t\t}\n\n\t\tif (_config.logger === true) {\n\t\t\tlogger = new DefaultLogger();\n\t\t} else if (_config.logger !== false) {\n\t\t\tlogger = _config.logger;\n\t\t\tcache = _config.cache;\n\t\t}\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (_config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\t_config.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: _config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger, cache });\n\tconst db = new SqliteRemoteDatabase('async', dialect, session, schema) as SqliteRemoteDatabase<TSchema>;\n\t(<any> db).$cache = cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = cache?.onMutate;\n\t}\n\treturn db;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAA2E;AAE3E,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAoC;AAM7B,MAAM,6BAEH,6BAAyD;AAAA,EAClE,QAA0B,wBAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAyBO,SAAS,QACf,UACA,eACA,QACgC;AAChC,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,QAAQ,OAAO,CAAC;AACjE,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,UAAkC,CAAC;AAEvC,MAAI,eAAe;AAClB,QAAI,OAAO,kBAAkB,YAAY;AACxC,uBAAiB;AACjB,gBAAU,UAAU,CAAC;AAAA,IACtB,OAAO;AACN,uBAAiB;AACjB,gBAAU;AAAA,IACX;AAEA,QAAI,QAAQ,WAAW,MAAM;AAC5B,eAAS,IAAI,4BAAc;AAAA,IAC5B,WAAW,QAAQ,WAAW,OAAO;AACpC,eAAS,QAAQ;AACjB,cAAQ,QAAQ;AAAA,IACjB;AAAA,EACD;AAEA,MAAI;AACJ,MAAI,QAAQ,QAAQ;AACnB,UAAM,mBAAe;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,QAAQ;AAAA,MACpB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,mCAAoB,UAAU,SAAS,QAAQ,gBAAgB,EAAE,QAAQ,MAAM,CAAC;AACpG,QAAM,KAAK,IAAI,qBAAqB,SAAS,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,SAAS;AACpB,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO;AAAA,EAC1C;AACA,SAAO;AACR;","names":[]}
|
package/sqlite-proxy/driver.js
CHANGED
|
@@ -13,6 +13,7 @@ class SqliteRemoteDatabase extends BaseSQLiteDatabase {
|
|
|
13
13
|
function drizzle(callback, batchCallback, config) {
|
|
14
14
|
const dialect = new SQLiteAsyncDialect({ casing: config?.casing });
|
|
15
15
|
let logger;
|
|
16
|
+
let cache;
|
|
16
17
|
let _batchCallback;
|
|
17
18
|
let _config = {};
|
|
18
19
|
if (batchCallback) {
|
|
@@ -27,6 +28,7 @@ function drizzle(callback, batchCallback, config) {
|
|
|
27
28
|
logger = new DefaultLogger();
|
|
28
29
|
} else if (_config.logger !== false) {
|
|
29
30
|
logger = _config.logger;
|
|
31
|
+
cache = _config.cache;
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
let schema;
|
|
@@ -41,8 +43,13 @@ function drizzle(callback, batchCallback, config) {
|
|
|
41
43
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
|
-
const session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger });
|
|
45
|
-
|
|
46
|
+
const session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger, cache });
|
|
47
|
+
const db = new SqliteRemoteDatabase("async", dialect, session, schema);
|
|
48
|
+
db.$cache = cache;
|
|
49
|
+
if (db.$cache) {
|
|
50
|
+
db.$cache["invalidate"] = cache?.onMutate;
|
|
51
|
+
}
|
|
52
|
+
return db;
|
|
46
53
|
}
|
|
47
54
|
export {
|
|
48
55
|
SqliteRemoteDatabase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite-proxy/driver.ts"],"sourcesContent":["import type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteRemoteSession } from './session.ts';\n\nexport interface SqliteRemoteResult<T = unknown> {\n\trows?: T[];\n}\n\nexport class SqliteRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', SqliteRemoteResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SqliteRemoteDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteRemoteSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport type AsyncRemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'run' | 'all' | 'values' | 'get',\n) => Promise<{ rows: any[] }>;\n\nexport type AsyncBatchRemoteCallback = (batch: {\n\tsql: string;\n\tparams: any[];\n\tmethod: 'run' | 'all' | 'values' | 'get';\n}[]) => Promise<{ rows: any[] }[]>;\n\nexport type RemoteCallback = AsyncRemoteCallback;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback | DrizzleConfig<TSchema>,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config?.casing });\n\tlet logger;\n\tlet _batchCallback: AsyncBatchRemoteCallback | undefined;\n\tlet _config: DrizzleConfig<TSchema> = {};\n\n\tif (batchCallback) {\n\t\tif (typeof batchCallback === 'function') {\n\t\t\t_batchCallback = batchCallback as AsyncBatchRemoteCallback;\n\t\t\t_config = config ?? {};\n\t\t} else {\n\t\t\t_batchCallback = undefined;\n\t\t\t_config = batchCallback as DrizzleConfig<TSchema>;\n\t\t}\n\n\t\tif (_config.logger === true) {\n\t\t\tlogger = new DefaultLogger();\n\t\t} else if (_config.logger !== false) {\n\t\t\tlogger = _config.logger;\n\t\t}\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (_config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\t_config.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: _config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger });\n\
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite-proxy/driver.ts"],"sourcesContent":["import type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteRemoteSession } from './session.ts';\n\nexport interface SqliteRemoteResult<T = unknown> {\n\trows?: T[];\n}\n\nexport class SqliteRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', SqliteRemoteResult, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SqliteRemoteDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteRemoteSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport type AsyncRemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'run' | 'all' | 'values' | 'get',\n) => Promise<{ rows: any[] }>;\n\nexport type AsyncBatchRemoteCallback = (batch: {\n\tsql: string;\n\tparams: any[];\n\tmethod: 'run' | 'all' | 'values' | 'get';\n}[]) => Promise<{ rows: any[] }[]>;\n\nexport type RemoteCallback = AsyncRemoteCallback;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema>;\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tbatchCallback?: AsyncBatchRemoteCallback | DrizzleConfig<TSchema>,\n\tconfig?: DrizzleConfig<TSchema>,\n): SqliteRemoteDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config?.casing });\n\tlet logger;\n\tlet cache;\n\tlet _batchCallback: AsyncBatchRemoteCallback | undefined;\n\tlet _config: DrizzleConfig<TSchema> = {};\n\n\tif (batchCallback) {\n\t\tif (typeof batchCallback === 'function') {\n\t\t\t_batchCallback = batchCallback as AsyncBatchRemoteCallback;\n\t\t\t_config = config ?? {};\n\t\t} else {\n\t\t\t_batchCallback = undefined;\n\t\t\t_config = batchCallback as DrizzleConfig<TSchema>;\n\t\t}\n\n\t\tif (_config.logger === true) {\n\t\t\tlogger = new DefaultLogger();\n\t\t} else if (_config.logger !== false) {\n\t\t\tlogger = _config.logger;\n\t\t\tcache = _config.cache;\n\t\t}\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (_config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\t_config.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: _config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteRemoteSession(callback, dialect, schema, _batchCallback, { logger, cache });\n\tconst db = new SqliteRemoteDatabase('async', dialect, session, schema) as SqliteRemoteDatabase<TSchema>;\n\t(<any> db).$cache = cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = cache?.onMutate;\n\t}\n\treturn db;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B,qCAAqC;AAE3E,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,2BAA2B;AAM7B,MAAM,6BAEH,mBAAyD;AAAA,EAClE,QAA0B,UAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAyBO,SAAS,QACf,UACA,eACA,QACgC;AAChC,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,QAAQ,OAAO,CAAC;AACjE,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,UAAkC,CAAC;AAEvC,MAAI,eAAe;AAClB,QAAI,OAAO,kBAAkB,YAAY;AACxC,uBAAiB;AACjB,gBAAU,UAAU,CAAC;AAAA,IACtB,OAAO;AACN,uBAAiB;AACjB,gBAAU;AAAA,IACX;AAEA,QAAI,QAAQ,WAAW,MAAM;AAC5B,eAAS,IAAI,cAAc;AAAA,IAC5B,WAAW,QAAQ,WAAW,OAAO;AACpC,eAAS,QAAQ;AACjB,cAAQ,QAAQ;AAAA,IACjB;AAAA,EACD;AAEA,MAAI;AACJ,MAAI,QAAQ,QAAQ;AACnB,UAAM,eAAe;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,QAAQ;AAAA,MACpB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,oBAAoB,UAAU,SAAS,QAAQ,gBAAgB,EAAE,QAAQ,MAAM,CAAC;AACpG,QAAM,KAAK,IAAI,qBAAqB,SAAS,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,SAAS;AACpB,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO;AAAA,EAC1C;AACA,SAAO;AACR;","names":[]}
|
package/sqlite-proxy/session.cjs
CHANGED
|
@@ -23,6 +23,7 @@ __export(session_exports, {
|
|
|
23
23
|
SQLiteRemoteSession: () => SQLiteRemoteSession
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(session_exports);
|
|
26
|
+
var import_core = require("../cache/core/index.cjs");
|
|
26
27
|
var import_entity = require("../entity.cjs");
|
|
27
28
|
var import_logger = require("../logger.cjs");
|
|
28
29
|
var import_sql = require("../sql/sql.cjs");
|
|
@@ -36,14 +37,19 @@ class SQLiteRemoteSession extends import_session.SQLiteSession {
|
|
|
36
37
|
this.schema = schema;
|
|
37
38
|
this.batchCLient = batchCLient;
|
|
38
39
|
this.logger = options.logger ?? new import_logger.NoopLogger();
|
|
40
|
+
this.cache = options.cache ?? new import_core.NoopCache();
|
|
39
41
|
}
|
|
40
42
|
static [import_entity.entityKind] = "SQLiteRemoteSession";
|
|
41
43
|
logger;
|
|
42
|
-
|
|
44
|
+
cache;
|
|
45
|
+
prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
|
|
43
46
|
return new RemotePreparedQuery(
|
|
44
47
|
this.client,
|
|
45
48
|
query,
|
|
46
49
|
this.logger,
|
|
50
|
+
this.cache,
|
|
51
|
+
queryMetadata,
|
|
52
|
+
cacheConfig,
|
|
47
53
|
fields,
|
|
48
54
|
executeMethod,
|
|
49
55
|
isResponseInArrayMode,
|
|
@@ -101,8 +107,8 @@ class SQLiteProxyTransaction extends import_sqlite_core.SQLiteTransaction {
|
|
|
101
107
|
}
|
|
102
108
|
}
|
|
103
109
|
class RemotePreparedQuery extends import_session.SQLitePreparedQuery {
|
|
104
|
-
constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
|
|
105
|
-
super("async", executeMethod, query);
|
|
110
|
+
constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
|
|
111
|
+
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
106
112
|
this.client = client;
|
|
107
113
|
this.logger = logger;
|
|
108
114
|
this.fields = fields;
|
|
@@ -116,10 +122,12 @@ class RemotePreparedQuery extends import_session.SQLitePreparedQuery {
|
|
|
116
122
|
getQuery() {
|
|
117
123
|
return { ...this.query, method: this.method };
|
|
118
124
|
}
|
|
119
|
-
run(placeholderValues) {
|
|
125
|
+
async run(placeholderValues) {
|
|
120
126
|
const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
|
|
121
127
|
this.logger.logQuery(this.query.sql, params);
|
|
122
|
-
return this.
|
|
128
|
+
return await this.queryWithCache(this.query.sql, params, async () => {
|
|
129
|
+
return await this.client(this.query.sql, params, "run");
|
|
130
|
+
});
|
|
123
131
|
}
|
|
124
132
|
mapAllResult(rows, isFromBatch) {
|
|
125
133
|
if (isFromBatch) {
|
|
@@ -143,14 +151,18 @@ class RemotePreparedQuery extends import_session.SQLitePreparedQuery {
|
|
|
143
151
|
const { query, logger, client } = this;
|
|
144
152
|
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
|
|
145
153
|
logger.logQuery(query.sql, params);
|
|
146
|
-
const { rows } = await
|
|
154
|
+
const { rows } = await this.queryWithCache(query.sql, params, async () => {
|
|
155
|
+
return await client(query.sql, params, "all");
|
|
156
|
+
});
|
|
147
157
|
return this.mapAllResult(rows);
|
|
148
158
|
}
|
|
149
159
|
async get(placeholderValues) {
|
|
150
160
|
const { query, logger, client } = this;
|
|
151
161
|
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
|
|
152
162
|
logger.logQuery(query.sql, params);
|
|
153
|
-
const clientResult = await
|
|
163
|
+
const clientResult = await this.queryWithCache(query.sql, params, async () => {
|
|
164
|
+
return await client(query.sql, params, "get");
|
|
165
|
+
});
|
|
154
166
|
return this.mapGetResult(clientResult.rows);
|
|
155
167
|
}
|
|
156
168
|
mapGetResult(rows, isFromBatch) {
|
|
@@ -176,7 +188,9 @@ class RemotePreparedQuery extends import_session.SQLitePreparedQuery {
|
|
|
176
188
|
async values(placeholderValues) {
|
|
177
189
|
const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
|
|
178
190
|
this.logger.logQuery(this.query.sql, params);
|
|
179
|
-
const clientResult = await this.
|
|
191
|
+
const clientResult = await this.queryWithCache(this.query.sql, params, async () => {
|
|
192
|
+
return await this.client(this.query.sql, params, "values");
|
|
193
|
+
});
|
|
180
194
|
return clientResult.rows;
|
|
181
195
|
}
|
|
182
196
|
/** @internal */
|