drizzle-orm 0.43.1-d1468f0 → 0.43.1-e3d1c4f
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 +7 -10
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +4 -4
- package/aws-data-api/pg/driver.d.ts +4 -4
- package/aws-data-api/pg/driver.js +7 -10
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs +26 -20
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +6 -16
- package/aws-data-api/pg/session.d.ts +6 -16
- package/aws-data-api/pg/session.js +26 -20
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +4 -3
- package/better-sqlite3/driver.d.ts +4 -3
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +7 -13
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +6 -16
- package/better-sqlite3/session.d.ts +6 -16
- package/better-sqlite3/session.js +7 -13
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +3 -6
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.d.cts +4 -3
- package/bun-sql/driver.d.ts +4 -3
- package/bun-sql/driver.js +3 -6
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/session.cjs +26 -29
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +6 -15
- package/bun-sql/session.d.ts +6 -15
- package/bun-sql/session.js +26 -29
- package/bun-sql/session.js.map +1 -1
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +4 -3
- package/bun-sqlite/driver.d.ts +4 -3
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/session.cjs +5 -5
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +5 -5
- package/bun-sqlite/session.d.ts +5 -5
- package/bun-sqlite/session.js +5 -5
- package/bun-sqlite/session.js.map +1 -1
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +7 -2
- package/column-builder.d.ts +7 -2
- package/column-builder.js.map +1 -1
- package/column.cjs +2 -0
- package/column.cjs.map +1 -1
- package/column.d.cts +6 -0
- package/column.d.ts +6 -0
- package/column.js +2 -0
- package/column.js.map +1 -1
- package/d1/driver.cjs +3 -6
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.cts +2 -1
- package/d1/driver.d.ts +2 -1
- package/d1/driver.js +3 -6
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +24 -29
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +8 -17
- package/d1/session.d.ts +8 -17
- package/d1/session.js +24 -29
- package/d1/session.js.map +1 -1
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.d.cts +2 -1
- package/durable-sqlite/driver.d.ts +2 -1
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/session.cjs +6 -6
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +5 -5
- package/durable-sqlite/session.d.ts +5 -5
- package/durable-sqlite/session.js +6 -6
- package/durable-sqlite/session.js.map +1 -1
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.cts +2 -1
- package/expo-sqlite/driver.d.ts +2 -1
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/session.cjs +5 -5
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +5 -5
- package/expo-sqlite/session.d.ts +5 -5
- package/expo-sqlite/session.js +5 -5
- package/expo-sqlite/session.js.map +1 -1
- package/{cache/core/cache.cjs → extension-core/gel/index.cjs} +9 -23
- package/extension-core/gel/index.cjs.map +1 -0
- package/extension-core/gel/index.d.cts +67 -0
- package/extension-core/gel/index.d.ts +67 -0
- package/extension-core/gel/index.js +9 -0
- package/extension-core/gel/index.js.map +1 -0
- package/extension-core/index.cjs +42 -0
- package/extension-core/index.cjs.map +1 -0
- package/extension-core/index.d.cts +9 -0
- package/extension-core/index.d.ts +9 -0
- package/extension-core/index.js +15 -0
- package/extension-core/index.js.map +1 -0
- package/{errors → extension-core/mysql}/index.cjs +9 -16
- package/extension-core/mysql/index.cjs.map +1 -0
- package/extension-core/mysql/index.d.cts +69 -0
- package/extension-core/mysql/index.d.ts +69 -0
- package/extension-core/mysql/index.js +9 -0
- package/extension-core/mysql/index.js.map +1 -0
- package/extension-core/pg/index.cjs +33 -0
- package/extension-core/pg/index.cjs.map +1 -0
- package/extension-core/pg/index.d.cts +67 -0
- package/extension-core/pg/index.d.ts +67 -0
- package/extension-core/pg/index.js +9 -0
- package/extension-core/pg/index.js.map +1 -0
- package/extension-core/singlestore/index.cjs +33 -0
- package/extension-core/singlestore/index.cjs.map +1 -0
- package/extension-core/singlestore/index.d.cts +67 -0
- package/extension-core/singlestore/index.d.ts +67 -0
- package/extension-core/singlestore/index.js +9 -0
- package/extension-core/singlestore/index.js.map +1 -0
- package/extension-core/sqlite/index.cjs +33 -0
- package/extension-core/sqlite/index.cjs.map +1 -0
- package/extension-core/sqlite/index.d.cts +68 -0
- package/extension-core/sqlite/index.d.ts +68 -0
- package/extension-core/sqlite/index.js +9 -0
- package/extension-core/sqlite/index.js.map +1 -0
- package/extensions/hook/gel/index.cjs +47 -0
- package/extensions/hook/gel/index.cjs.map +1 -0
- package/extensions/hook/gel/index.d.cts +11 -0
- package/extensions/hook/gel/index.d.ts +11 -0
- package/extensions/hook/gel/index.js +22 -0
- package/extensions/hook/gel/index.js.map +1 -0
- package/extensions/hook/mysql/index.cjs +47 -0
- package/extensions/hook/mysql/index.cjs.map +1 -0
- package/extensions/hook/mysql/index.d.cts +11 -0
- package/extensions/hook/mysql/index.d.ts +11 -0
- package/extensions/hook/mysql/index.js +22 -0
- package/extensions/hook/mysql/index.js.map +1 -0
- package/extensions/hook/pg/index.cjs +47 -0
- package/extensions/hook/pg/index.cjs.map +1 -0
- package/extensions/hook/pg/index.d.cts +11 -0
- package/extensions/hook/pg/index.d.ts +11 -0
- package/extensions/hook/pg/index.js +22 -0
- package/extensions/hook/pg/index.js.map +1 -0
- package/extensions/hook/singlestore/index.cjs +47 -0
- package/extensions/hook/singlestore/index.cjs.map +1 -0
- package/extensions/hook/singlestore/index.d.cts +11 -0
- package/extensions/hook/singlestore/index.d.ts +11 -0
- package/extensions/hook/singlestore/index.js +22 -0
- package/extensions/hook/singlestore/index.js.map +1 -0
- package/extensions/hook/sqlite/index.cjs +47 -0
- package/extensions/hook/sqlite/index.cjs.map +1 -0
- package/extensions/hook/sqlite/index.d.cts +11 -0
- package/extensions/hook/sqlite/index.d.ts +11 -0
- package/extensions/hook/sqlite/index.js +22 -0
- package/extensions/hook/sqlite/index.js.map +1 -0
- package/extensions/s3-file/common.cjs +321 -0
- package/extensions/s3-file/common.cjs.map +1 -0
- package/extensions/s3-file/common.d.cts +88 -0
- package/extensions/s3-file/common.d.ts +88 -0
- package/extensions/s3-file/common.js +288 -0
- package/extensions/s3-file/common.js.map +1 -0
- package/extensions/s3-file/gel/column.cjs +124 -0
- package/extensions/s3-file/gel/column.cjs.map +1 -0
- package/extensions/s3-file/gel/column.d.cts +105 -0
- package/extensions/s3-file/gel/column.d.ts +105 -0
- package/extensions/s3-file/gel/column.js +103 -0
- package/extensions/s3-file/gel/column.js.map +1 -0
- package/extensions/s3-file/gel/extension.cjs +271 -0
- package/extensions/s3-file/gel/extension.cjs.map +1 -0
- package/extensions/s3-file/gel/extension.d.cts +18 -0
- package/extensions/s3-file/gel/extension.d.ts +18 -0
- package/extensions/s3-file/gel/extension.js +257 -0
- package/extensions/s3-file/gel/extension.js.map +1 -0
- package/{cache/upstash → extensions/s3-file/gel}/index.cjs +6 -4
- package/extensions/s3-file/gel/index.cjs.map +1 -0
- package/extensions/s3-file/gel/index.d.cts +2 -0
- package/extensions/s3-file/gel/index.d.ts +2 -0
- package/extensions/s3-file/gel/index.js +3 -0
- package/extensions/s3-file/gel/index.js.map +1 -0
- package/{cache/core → extensions/s3-file}/index.cjs +4 -4
- package/extensions/s3-file/index.cjs.map +1 -0
- package/extensions/s3-file/index.d.cts +1 -0
- package/extensions/s3-file/index.d.ts +1 -0
- package/extensions/s3-file/index.js +2 -0
- package/extensions/s3-file/index.js.map +1 -0
- package/extensions/s3-file/mysql/column.cjs +121 -0
- package/extensions/s3-file/mysql/column.cjs.map +1 -0
- package/extensions/s3-file/mysql/column.d.cts +63 -0
- package/extensions/s3-file/mysql/column.d.ts +63 -0
- package/extensions/s3-file/mysql/column.js +97 -0
- package/extensions/s3-file/mysql/column.js.map +1 -0
- package/extensions/s3-file/mysql/extension.cjs +250 -0
- package/extensions/s3-file/mysql/extension.cjs.map +1 -0
- package/extensions/s3-file/mysql/extension.d.cts +18 -0
- package/extensions/s3-file/mysql/extension.d.ts +18 -0
- package/extensions/s3-file/mysql/extension.js +236 -0
- package/extensions/s3-file/mysql/extension.js.map +1 -0
- package/extensions/s3-file/mysql/index.cjs +25 -0
- package/extensions/s3-file/mysql/index.cjs.map +1 -0
- package/extensions/s3-file/mysql/index.d.cts +2 -0
- package/extensions/s3-file/mysql/index.d.ts +2 -0
- package/extensions/s3-file/mysql/index.js +3 -0
- package/extensions/s3-file/mysql/index.js.map +1 -0
- package/extensions/s3-file/pg/column.cjs +124 -0
- package/extensions/s3-file/pg/column.cjs.map +1 -0
- package/extensions/s3-file/pg/column.d.cts +105 -0
- package/extensions/s3-file/pg/column.d.ts +105 -0
- package/extensions/s3-file/pg/column.js +103 -0
- package/extensions/s3-file/pg/column.js.map +1 -0
- package/extensions/s3-file/pg/extension.cjs +272 -0
- package/extensions/s3-file/pg/extension.cjs.map +1 -0
- package/extensions/s3-file/pg/extension.d.cts +18 -0
- package/extensions/s3-file/pg/extension.d.ts +18 -0
- package/extensions/s3-file/pg/extension.js +258 -0
- package/extensions/s3-file/pg/extension.js.map +1 -0
- package/{cache/core/types.cjs → extensions/s3-file/pg/index.cjs} +11 -3
- package/extensions/s3-file/pg/index.cjs.map +1 -0
- package/extensions/s3-file/pg/index.d.cts +2 -0
- package/extensions/s3-file/pg/index.d.ts +2 -0
- package/extensions/s3-file/pg/index.js +3 -0
- package/extensions/s3-file/pg/index.js.map +1 -0
- package/extensions/s3-file/singlestore/column.cjs +121 -0
- package/extensions/s3-file/singlestore/column.cjs.map +1 -0
- package/extensions/s3-file/singlestore/column.d.cts +63 -0
- package/extensions/s3-file/singlestore/column.d.ts +63 -0
- package/extensions/s3-file/singlestore/column.js +97 -0
- package/extensions/s3-file/singlestore/column.js.map +1 -0
- package/extensions/s3-file/singlestore/extension.cjs +247 -0
- package/extensions/s3-file/singlestore/extension.cjs.map +1 -0
- package/extensions/s3-file/singlestore/extension.d.cts +18 -0
- package/extensions/s3-file/singlestore/extension.d.ts +18 -0
- package/extensions/s3-file/singlestore/extension.js +233 -0
- package/extensions/s3-file/singlestore/extension.js.map +1 -0
- package/extensions/s3-file/singlestore/index.cjs +25 -0
- package/extensions/s3-file/singlestore/index.cjs.map +1 -0
- package/extensions/s3-file/singlestore/index.d.cts +2 -0
- package/extensions/s3-file/singlestore/index.d.ts +2 -0
- package/extensions/s3-file/singlestore/index.js +3 -0
- package/extensions/s3-file/singlestore/index.js.map +1 -0
- package/extensions/s3-file/sqlite/column.cjs +121 -0
- package/extensions/s3-file/sqlite/column.cjs.map +1 -0
- package/extensions/s3-file/sqlite/column.d.cts +63 -0
- package/extensions/s3-file/sqlite/column.d.ts +63 -0
- package/extensions/s3-file/sqlite/column.js +97 -0
- package/extensions/s3-file/sqlite/column.js.map +1 -0
- package/extensions/s3-file/sqlite/extension.cjs +250 -0
- package/extensions/s3-file/sqlite/extension.cjs.map +1 -0
- package/extensions/s3-file/sqlite/extension.d.cts +18 -0
- package/extensions/s3-file/sqlite/extension.d.ts +18 -0
- package/extensions/s3-file/sqlite/extension.js +236 -0
- package/extensions/s3-file/sqlite/extension.js.map +1 -0
- package/extensions/s3-file/sqlite/index.cjs +25 -0
- package/extensions/s3-file/sqlite/index.cjs.map +1 -0
- package/extensions/s3-file/sqlite/index.d.cts +2 -0
- package/extensions/s3-file/sqlite/index.d.ts +2 -0
- package/extensions/s3-file/sqlite/index.js +3 -0
- package/extensions/s3-file/sqlite/index.js.map +1 -0
- package/gel/driver.cjs +6 -11
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +6 -6
- package/gel/driver.d.ts +6 -6
- package/gel/driver.js +6 -11
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +19 -31
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +5 -14
- package/gel/session.d.ts +5 -14
- package/gel/session.js +19 -31
- package/gel/session.js.map +1 -1
- package/gel-core/columns/common.cjs +8 -0
- package/gel-core/columns/common.cjs.map +1 -1
- package/gel-core/columns/common.d.cts +2 -0
- package/gel-core/columns/common.d.ts +2 -0
- package/gel-core/columns/common.js +8 -0
- package/gel-core/columns/common.js.map +1 -1
- package/gel-core/db.cjs +5 -6
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.cts +3 -5
- package/gel-core/db.d.ts +3 -5
- package/gel-core/db.js +5 -6
- package/gel-core/db.js.map +1 -1
- package/gel-core/dialect.cjs +25 -19
- package/gel-core/dialect.cjs.map +1 -1
- package/gel-core/dialect.d.cts +7 -6
- package/gel-core/dialect.d.ts +7 -6
- package/gel-core/dialect.js +26 -20
- package/gel-core/dialect.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +6 -5
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +6 -5
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +31 -9
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +33 -11
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/query.cjs +12 -1
- package/gel-core/query-builders/query.cjs.map +1 -1
- package/gel-core/query-builders/query.js +12 -1
- package/gel-core/query-builders/query.js.map +1 -1
- package/gel-core/query-builders/select.cjs +12 -30
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.d.cts +0 -9
- package/gel-core/query-builders/select.d.ts +0 -9
- package/gel-core/query-builders/select.js +12 -30
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/update.cjs +7 -6
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +7 -6
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +48 -82
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +12 -17
- package/gel-core/session.d.ts +12 -17
- package/gel-core/session.js +49 -83
- package/gel-core/session.js.map +1 -1
- package/gel-core/utils.cjs +0 -16
- package/gel-core/utils.cjs.map +1 -1
- package/gel-core/utils.d.cts +4 -8
- package/gel-core/utils.d.ts +4 -8
- package/gel-core/utils.js +0 -15
- package/gel-core/utils.js.map +1 -1
- package/libsql/driver-core.cjs +3 -6
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +3 -6
- package/libsql/driver-core.js.map +1 -1
- package/libsql/driver.cjs +4 -1
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +4 -3
- package/libsql/driver.d.ts +4 -3
- package/libsql/driver.js +4 -1
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs +4 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/http/index.d.cts +4 -3
- package/libsql/http/index.d.ts +4 -3
- package/libsql/http/index.js +4 -1
- package/libsql/http/index.js.map +1 -1
- package/libsql/node/index.cjs +4 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/node/index.d.cts +4 -3
- package/libsql/node/index.d.ts +4 -3
- package/libsql/node/index.js +4 -1
- package/libsql/node/index.js.map +1 -1
- package/libsql/session.cjs +37 -34
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +9 -18
- package/libsql/session.d.ts +9 -18
- package/libsql/session.js +37 -34
- package/libsql/session.js.map +1 -1
- package/libsql/sqlite3/index.cjs +4 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/sqlite3/index.d.cts +4 -3
- package/libsql/sqlite3/index.d.ts +4 -3
- package/libsql/sqlite3/index.js +4 -1
- package/libsql/sqlite3/index.js.map +1 -1
- package/libsql/wasm/index.cjs +4 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/wasm/index.d.cts +4 -3
- package/libsql/wasm/index.d.ts +4 -3
- package/libsql/wasm/index.js +4 -1
- package/libsql/wasm/index.js.map +1 -1
- package/libsql/web/index.cjs +4 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/web/index.d.cts +4 -3
- package/libsql/web/index.d.ts +4 -3
- package/libsql/web/index.js +4 -1
- package/libsql/web/index.js.map +1 -1
- package/libsql/ws/index.cjs +4 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/libsql/ws/index.d.cts +4 -3
- package/libsql/ws/index.d.ts +4 -3
- package/libsql/ws/index.js +4 -1
- package/libsql/ws/index.js.map +1 -1
- package/mysql-core/db.cjs +5 -6
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +3 -5
- package/mysql-core/db.d.ts +3 -5
- package/mysql-core/db.js +5 -6
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +30 -23
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +8 -7
- package/mysql-core/dialect.d.ts +8 -7
- package/mysql-core/dialect.js +31 -24
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +5 -7
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.js +5 -7
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +30 -13
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +0 -2
- package/mysql-core/query-builders/insert.d.ts +0 -2
- package/mysql-core/query-builders/insert.js +32 -15
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/query.cjs +14 -2
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.js +14 -2
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +14 -30
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +0 -9
- package/mysql-core/query-builders/select.d.ts +0 -9
- package/mysql-core/query-builders/select.js +15 -31
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/update.cjs +13 -11
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +0 -2
- package/mysql-core/query-builders/update.d.ts +0 -2
- package/mysql-core/query-builders/update.js +13 -11
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +42 -80
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +14 -18
- package/mysql-core/session.d.ts +14 -18
- package/mysql-core/session.js +43 -81
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/utils.cjs +0 -16
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +2 -6
- package/mysql-core/utils.d.ts +2 -6
- package/mysql-core/utils.js +0 -15
- package/mysql-core/utils.js.map +1 -1
- package/mysql-proxy/driver.cjs +3 -2
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +2 -1
- package/mysql-proxy/driver.d.ts +2 -1
- package/mysql-proxy/driver.js +3 -2
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/session.cjs +10 -20
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +5 -16
- package/mysql-proxy/session.d.ts +5 -16
- package/mysql-proxy/session.js +10 -20
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +6 -12
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +4 -4
- package/mysql2/driver.d.ts +4 -4
- package/mysql2/driver.js +6 -12
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +16 -22
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +5 -15
- package/mysql2/session.d.ts +5 -15
- package/mysql2/session.js +16 -22
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +5 -10
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +6 -6
- package/neon-http/driver.d.ts +6 -6
- package/neon-http/driver.js +5 -10
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +20 -28
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +5 -14
- package/neon-http/session.d.ts +5 -14
- package/neon-http/session.js +20 -28
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +6 -11
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +6 -6
- package/neon-serverless/driver.d.ts +6 -6
- package/neon-serverless/driver.js +6 -11
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/session.cjs +27 -27
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +5 -14
- package/neon-serverless/session.d.ts +5 -14
- package/neon-serverless/session.js +27 -27
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +6 -11
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +6 -6
- package/node-postgres/driver.d.ts +6 -6
- package/node-postgres/driver.js +6 -11
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +21 -25
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +5 -15
- package/node-postgres/session.d.ts +5 -15
- package/node-postgres/session.js +21 -25
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +1 -5
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.cts +2 -1
- package/op-sqlite/driver.d.ts +2 -1
- package/op-sqlite/driver.js +1 -5
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +11 -25
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +6 -16
- package/op-sqlite/session.d.ts +6 -16
- package/op-sqlite/session.js +11 -25
- package/op-sqlite/session.js.map +1 -1
- package/package.json +331 -50
- package/pg-core/columns/common.cjs +2 -0
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.js +2 -0
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/db.cjs +5 -6
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +3 -5
- package/pg-core/db.d.ts +3 -5
- package/pg-core/db.js +5 -6
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +26 -19
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +7 -6
- package/pg-core/dialect.d.ts +7 -6
- package/pg-core/dialect.js +27 -20
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +7 -7
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +0 -2
- package/pg-core/query-builders/delete.d.ts +0 -2
- package/pg-core/query-builders/delete.js +7 -7
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +37 -11
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +0 -2
- package/pg-core/query-builders/insert.d.ts +0 -2
- package/pg-core/query-builders/insert.js +39 -13
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query.cjs +12 -1
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.js +12 -1
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/select.cjs +14 -33
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +6 -15
- package/pg-core/query-builders/select.d.ts +6 -15
- package/pg-core/query-builders/select.js +14 -33
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +8 -8
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +1 -3
- package/pg-core/query-builders/update.d.ts +1 -3
- package/pg-core/query-builders/update.js +9 -13
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +45 -78
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +12 -17
- package/pg-core/session.d.ts +12 -17
- package/pg-core/session.js +46 -79
- package/pg-core/session.js.map +1 -1
- package/pg-core/utils.cjs +0 -16
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +4 -8
- package/pg-core/utils.d.ts +4 -8
- package/pg-core/utils.js +1 -16
- package/pg-core/utils.js.map +1 -1
- package/pg-proxy/driver.cjs +3 -7
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +2 -1
- package/pg-proxy/driver.d.ts +2 -1
- package/pg-proxy/driver.js +3 -7
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs +10 -18
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +5 -14
- package/pg-proxy/session.d.ts +5 -14
- package/pg-proxy/session.js +10 -18
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +6 -11
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +6 -6
- package/pglite/driver.d.ts +6 -6
- package/pglite/driver.js +6 -11
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +23 -25
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +5 -14
- package/pglite/session.d.ts +5 -14
- package/pglite/session.js +23 -25
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +3 -6
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +4 -4
- package/planetscale-serverless/driver.d.ts +4 -4
- package/planetscale-serverless/driver.js +3 -6
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +25 -25
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +6 -17
- package/planetscale-serverless/session.d.ts +6 -17
- package/planetscale-serverless/session.js +25 -25
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +3 -6
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +4 -3
- package/postgres-js/driver.d.ts +4 -3
- package/postgres-js/driver.js +3 -6
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/session.cjs +30 -31
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +6 -15
- package/postgres-js/session.d.ts +6 -15
- package/postgres-js/session.js +30 -31
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/driver.cjs +3 -3
- package/prisma/mysql/driver.cjs.map +1 -1
- package/prisma/mysql/driver.d.cts +3 -2
- package/prisma/mysql/driver.d.ts +3 -2
- package/prisma/mysql/driver.js +3 -3
- package/prisma/mysql/driver.js.map +1 -1
- package/prisma/mysql/session.cjs +10 -11
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.d.cts +7 -6
- package/prisma/mysql/session.d.ts +7 -6
- package/prisma/mysql/session.js +10 -11
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/driver.cjs +3 -3
- package/prisma/pg/driver.cjs.map +1 -1
- package/prisma/pg/driver.d.cts +2 -1
- package/prisma/pg/driver.d.ts +2 -1
- package/prisma/pg/driver.js +3 -3
- package/prisma/pg/driver.js.map +1 -1
- package/prisma/pg/session.cjs +7 -7
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.d.cts +6 -5
- package/prisma/pg/session.d.ts +6 -5
- package/prisma/pg/session.js +7 -7
- package/prisma/pg/session.js.map +1 -1
- package/prisma/sqlite/driver.cjs +7 -1
- package/prisma/sqlite/driver.cjs.map +1 -1
- package/prisma/sqlite/driver.d.cts +2 -1
- package/prisma/sqlite/driver.d.ts +2 -1
- package/prisma/sqlite/driver.js +7 -1
- package/prisma/sqlite/driver.js.map +1 -1
- package/prisma/sqlite/session.cjs +6 -6
- package/prisma/sqlite/session.cjs.map +1 -1
- package/prisma/sqlite/session.d.cts +6 -5
- package/prisma/sqlite/session.d.ts +6 -5
- package/prisma/sqlite/session.js +6 -6
- package/prisma/sqlite/session.js.map +1 -1
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.d.cts +1 -2
- package/query-builders/query-builder.d.ts +1 -2
- package/query-builders/query-builder.js.map +1 -1
- package/singlestore/driver.cjs +28 -29
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +4 -4
- package/singlestore/driver.d.ts +4 -4
- package/singlestore/driver.js +28 -29
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +16 -22
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +5 -15
- package/singlestore/session.d.ts +5 -15
- package/singlestore/session.js +16 -22
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/db.cjs +5 -6
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +3 -5
- package/singlestore-core/db.d.ts +3 -5
- package/singlestore-core/db.js +5 -6
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +25 -18
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.d.cts +7 -6
- package/singlestore-core/dialect.d.ts +7 -6
- package/singlestore-core/dialect.js +26 -19
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +5 -7
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.js +5 -7
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/insert.cjs +30 -11
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.js +32 -13
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/query.cjs +12 -1
- package/singlestore-core/query-builders/query.cjs.map +1 -1
- package/singlestore-core/query-builders/query.js +12 -1
- package/singlestore-core/query-builders/query.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +14 -31
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.d.cts +0 -9
- package/singlestore-core/query-builders/select.d.ts +0 -9
- package/singlestore-core/query-builders/select.js +14 -31
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/update.cjs +6 -8
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.js +6 -8
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/session.cjs +42 -80
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +14 -17
- package/singlestore-core/session.d.ts +14 -17
- package/singlestore-core/session.js +43 -81
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/utils.cjs +0 -16
- package/singlestore-core/utils.cjs.map +1 -1
- package/singlestore-core/utils.d.cts +0 -3
- package/singlestore-core/utils.d.ts +0 -3
- package/singlestore-core/utils.js +0 -15
- package/singlestore-core/utils.js.map +1 -1
- package/singlestore-proxy/driver.cjs +3 -2
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.d.cts +2 -1
- package/singlestore-proxy/driver.d.ts +2 -1
- package/singlestore-proxy/driver.js +3 -2
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/session.cjs +8 -8
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +5 -6
- package/singlestore-proxy/session.d.ts +5 -6
- package/singlestore-proxy/session.js +8 -8
- package/singlestore-proxy/session.js.map +1 -1
- package/sql/sql.cjs +24 -12
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +12 -0
- package/sql/sql.d.ts +12 -0
- package/sql/sql.js +23 -12
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.cts +2 -1
- package/sql-js/driver.d.ts +2 -1
- package/sql-js/driver.js.map +1 -1
- package/sql-js/session.cjs +4 -4
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +4 -4
- package/sql-js/session.d.ts +4 -4
- package/sql-js/session.js +4 -4
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/db.cjs +5 -6
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +3 -5
- package/sqlite-core/db.d.ts +3 -5
- package/sqlite-core/db.js +5 -6
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +30 -19
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +7 -6
- package/sqlite-core/dialect.d.ts +7 -6
- package/sqlite-core/dialect.js +31 -20
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +5 -5
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +5 -5
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +25 -8
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +32 -10
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +12 -1
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.js +12 -1
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +15 -34
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +0 -9
- package/sqlite-core/query-builders/select.d.ts +0 -9
- package/sqlite-core/query-builders/select.js +15 -34
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +6 -6
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +6 -6
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +78 -90
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +20 -24
- package/sqlite-core/session.d.ts +20 -24
- package/sqlite-core/session.js +79 -91
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/utils.cjs +0 -16
- package/sqlite-core/utils.cjs.map +1 -1
- package/sqlite-core/utils.d.cts +2 -6
- package/sqlite-core/utils.d.ts +2 -6
- package/sqlite-core/utils.js +0 -15
- package/sqlite-core/utils.js.map +1 -1
- package/sqlite-proxy/driver.cjs +4 -10
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.cts +3 -2
- package/sqlite-proxy/driver.d.ts +3 -2
- package/sqlite-proxy/driver.js +4 -10
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +24 -29
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +8 -17
- package/sqlite-proxy/session.d.ts +8 -17
- package/sqlite-proxy/session.js +24 -29
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs +3 -4
- package/subquery.cjs.map +1 -1
- package/subquery.d.cts +1 -2
- package/subquery.d.ts +1 -2
- package/subquery.js +3 -4
- package/subquery.js.map +1 -1
- package/tidb-serverless/driver.cjs +9 -6
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +4 -4
- package/tidb-serverless/driver.d.ts +4 -4
- package/tidb-serverless/driver.js +9 -6
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +25 -25
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +6 -17
- package/tidb-serverless/session.d.ts +6 -17
- package/tidb-serverless/session.js +25 -25
- package/tidb-serverless/session.js.map +1 -1
- package/tracing.cjs.map +1 -1
- package/tracing.js.map +1 -1
- package/utils.cjs +34 -24
- package/utils.cjs.map +1 -1
- package/utils.d.cts +5 -4
- package/utils.d.ts +5 -4
- package/utils.js +35 -15
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +10 -12
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +6 -6
- package/vercel-postgres/driver.d.ts +6 -6
- package/vercel-postgres/driver.js +10 -12
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/session.cjs +22 -27
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +5 -14
- package/vercel-postgres/session.d.ts +5 -14
- package/vercel-postgres/session.js +22 -27
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/xata-http/driver.cjs +8 -10
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +4 -4
- package/xata-http/driver.d.ts +4 -4
- package/xata-http/driver.js +8 -10
- package/xata-http/driver.js.map +1 -1
- package/xata-http/session.cjs +12 -24
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +5 -14
- package/xata-http/session.d.ts +5 -14
- package/xata-http/session.js +12 -24
- package/xata-http/session.js.map +1 -1
- package/cache/core/cache.cjs.map +0 -1
- package/cache/core/cache.d.cts +0 -35
- package/cache/core/cache.d.ts +0 -35
- package/cache/core/cache.js +0 -22
- package/cache/core/cache.js.map +0 -1
- package/cache/core/index.cjs.map +0 -1
- package/cache/core/index.d.cts +0 -1
- package/cache/core/index.d.ts +0 -1
- package/cache/core/index.js +0 -2
- package/cache/core/index.js.map +0 -1
- package/cache/core/types.cjs.map +0 -1
- package/cache/core/types.d.cts +0 -33
- package/cache/core/types.d.ts +0 -33
- package/cache/core/types.js +0 -1
- package/cache/core/types.js.map +0 -1
- package/cache/upstash/cache.cjs +0 -191
- package/cache/upstash/cache.cjs.map +0 -1
- package/cache/upstash/cache.d.cts +0 -59
- package/cache/upstash/cache.d.ts +0 -59
- package/cache/upstash/cache.js +0 -166
- package/cache/upstash/cache.js.map +0 -1
- package/cache/upstash/index.cjs.map +0 -1
- package/cache/upstash/index.d.cts +0 -1
- package/cache/upstash/index.d.ts +0 -1
- package/cache/upstash/index.js +0 -2
- package/cache/upstash/index.js.map +0 -1
- package/errors/index.cjs.map +0 -1
- package/errors/index.d.cts +0 -6
- package/errors/index.d.ts +0 -6
- package/errors/index.js +0 -16
- package/errors/index.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sql } from '@vercel/postgres';
|
|
2
|
-
import type { Cache } from "../cache/core/cache.cjs";
|
|
3
2
|
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { DrizzlePgExtension } from "../extension-core/pg/index.cjs";
|
|
4
4
|
import type { Logger } from "../logger.cjs";
|
|
5
5
|
import { PgDatabase } from "../pg-core/db.cjs";
|
|
6
6
|
import { PgDialect } from "../pg-core/index.cjs";
|
|
@@ -9,14 +9,14 @@ import { type DrizzleConfig } from "../utils.cjs";
|
|
|
9
9
|
import { type VercelPgClient, type VercelPgQueryResultHKT, VercelPgSession } from "./session.cjs";
|
|
10
10
|
export interface VercelPgDriverOptions {
|
|
11
11
|
logger?: Logger;
|
|
12
|
-
cache?: Cache;
|
|
13
12
|
}
|
|
14
13
|
export declare class VercelPgDriver {
|
|
15
14
|
private client;
|
|
16
15
|
private dialect;
|
|
17
16
|
private options;
|
|
17
|
+
private extensions?;
|
|
18
18
|
static readonly [entityKind]: string;
|
|
19
|
-
constructor(client: VercelPgClient, dialect: PgDialect, options?: VercelPgDriverOptions);
|
|
19
|
+
constructor(client: VercelPgClient, dialect: PgDialect, options?: VercelPgDriverOptions, extensions?: DrizzlePgExtension[] | undefined);
|
|
20
20
|
createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): VercelPgSession<Record<string, unknown>, TablesRelationalConfig>;
|
|
21
21
|
}
|
|
22
22
|
export declare class VercelPgDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<VercelPgQueryResultHKT, TSchema> {
|
|
@@ -26,16 +26,16 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
26
26
|
TClient
|
|
27
27
|
] | [
|
|
28
28
|
TClient,
|
|
29
|
-
DrizzleConfig<TSchema>
|
|
29
|
+
DrizzleConfig<TSchema, DrizzlePgExtension>
|
|
30
30
|
] | [
|
|
31
|
-
(DrizzleConfig<TSchema> & ({
|
|
31
|
+
(DrizzleConfig<TSchema, DrizzlePgExtension> & ({
|
|
32
32
|
client?: TClient;
|
|
33
33
|
}))
|
|
34
34
|
]): VercelPgDatabase<TSchema> & {
|
|
35
35
|
$client: TClient;
|
|
36
36
|
};
|
|
37
37
|
export declare namespace drizzle {
|
|
38
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): VercelPgDatabase<TSchema> & {
|
|
38
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): VercelPgDatabase<TSchema> & {
|
|
39
39
|
$client: '$client is not available on drizzle.mock()';
|
|
40
40
|
};
|
|
41
41
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sql } from '@vercel/postgres';
|
|
2
|
-
import type { Cache } from "../cache/core/cache.js";
|
|
3
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { DrizzlePgExtension } from "../extension-core/pg/index.js";
|
|
4
4
|
import type { Logger } from "../logger.js";
|
|
5
5
|
import { PgDatabase } from "../pg-core/db.js";
|
|
6
6
|
import { PgDialect } from "../pg-core/index.js";
|
|
@@ -9,14 +9,14 @@ import { type DrizzleConfig } from "../utils.js";
|
|
|
9
9
|
import { type VercelPgClient, type VercelPgQueryResultHKT, VercelPgSession } from "./session.js";
|
|
10
10
|
export interface VercelPgDriverOptions {
|
|
11
11
|
logger?: Logger;
|
|
12
|
-
cache?: Cache;
|
|
13
12
|
}
|
|
14
13
|
export declare class VercelPgDriver {
|
|
15
14
|
private client;
|
|
16
15
|
private dialect;
|
|
17
16
|
private options;
|
|
17
|
+
private extensions?;
|
|
18
18
|
static readonly [entityKind]: string;
|
|
19
|
-
constructor(client: VercelPgClient, dialect: PgDialect, options?: VercelPgDriverOptions);
|
|
19
|
+
constructor(client: VercelPgClient, dialect: PgDialect, options?: VercelPgDriverOptions, extensions?: DrizzlePgExtension[] | undefined);
|
|
20
20
|
createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): VercelPgSession<Record<string, unknown>, TablesRelationalConfig>;
|
|
21
21
|
}
|
|
22
22
|
export declare class VercelPgDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<VercelPgQueryResultHKT, TSchema> {
|
|
@@ -26,16 +26,16 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
26
26
|
TClient
|
|
27
27
|
] | [
|
|
28
28
|
TClient,
|
|
29
|
-
DrizzleConfig<TSchema>
|
|
29
|
+
DrizzleConfig<TSchema, DrizzlePgExtension>
|
|
30
30
|
] | [
|
|
31
|
-
(DrizzleConfig<TSchema> & ({
|
|
31
|
+
(DrizzleConfig<TSchema, DrizzlePgExtension> & ({
|
|
32
32
|
client?: TClient;
|
|
33
33
|
}))
|
|
34
34
|
]): VercelPgDatabase<TSchema> & {
|
|
35
35
|
$client: TClient;
|
|
36
36
|
};
|
|
37
37
|
export declare namespace drizzle {
|
|
38
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): VercelPgDatabase<TSchema> & {
|
|
38
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): VercelPgDatabase<TSchema> & {
|
|
39
39
|
$client: '$client is not available on drizzle.mock()';
|
|
40
40
|
};
|
|
41
41
|
}
|
|
@@ -10,17 +10,15 @@ import {
|
|
|
10
10
|
import { isConfig } from "../utils.js";
|
|
11
11
|
import { VercelPgSession } from "./session.js";
|
|
12
12
|
class VercelPgDriver {
|
|
13
|
-
constructor(client, dialect, options = {}) {
|
|
13
|
+
constructor(client, dialect, options = {}, extensions) {
|
|
14
14
|
this.client = client;
|
|
15
15
|
this.dialect = dialect;
|
|
16
16
|
this.options = options;
|
|
17
|
+
this.extensions = extensions;
|
|
17
18
|
}
|
|
18
19
|
static [entityKind] = "VercelPgDriver";
|
|
19
20
|
createSession(schema) {
|
|
20
|
-
return new VercelPgSession(this.client, this.dialect, schema, {
|
|
21
|
-
logger: this.options.logger,
|
|
22
|
-
cache: this.options.cache
|
|
23
|
-
});
|
|
21
|
+
return new VercelPgSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
24
|
class VercelPgDatabase extends PgDatabase {
|
|
@@ -46,14 +44,11 @@ function construct(client, config = {}) {
|
|
|
46
44
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
47
45
|
};
|
|
48
46
|
}
|
|
49
|
-
const
|
|
47
|
+
const extensions = config.extensions;
|
|
48
|
+
const driver = new VercelPgDriver(client, dialect, { logger }, extensions);
|
|
50
49
|
const session = driver.createSession(schema);
|
|
51
|
-
const db = new VercelPgDatabase(dialect, session, schema);
|
|
50
|
+
const db = new VercelPgDatabase(dialect, session, schema, extensions);
|
|
52
51
|
db.$client = client;
|
|
53
|
-
db.$cache = config.cache;
|
|
54
|
-
if (db.$cache) {
|
|
55
|
-
db.$cache["invalidate"] = config.cache?.onMutate;
|
|
56
|
-
}
|
|
57
52
|
return db;
|
|
58
53
|
}
|
|
59
54
|
function drizzle(...params) {
|
|
@@ -61,7 +56,10 @@ function drizzle(...params) {
|
|
|
61
56
|
const { client, ...drizzleConfig } = params[0];
|
|
62
57
|
return construct(client ?? sql, drizzleConfig);
|
|
63
58
|
}
|
|
64
|
-
return construct(
|
|
59
|
+
return construct(
|
|
60
|
+
params[0] ?? sql,
|
|
61
|
+
params[1]
|
|
62
|
+
);
|
|
65
63
|
}
|
|
66
64
|
((drizzle2) => {
|
|
67
65
|
function mock(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/vercel-postgres/driver.ts"],"sourcesContent":["import { sql } from '@vercel/postgres';\nimport
|
|
1
|
+
{"version":3,"sources":["../../src/vercel-postgres/driver.ts"],"sourcesContent":["import { sql } from '@vercel/postgres';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/index.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { type VercelPgClient, type VercelPgQueryResultHKT, VercelPgSession } from './session.ts';\n\nexport interface VercelPgDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class VercelPgDriver {\n\tstatic readonly [entityKind]: string = 'VercelPgDriver';\n\n\tconstructor(\n\t\tprivate client: VercelPgClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: VercelPgDriverOptions = {},\n\t\tprivate extensions?: DrizzlePgExtension[],\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): VercelPgSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new VercelPgSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);\n\t}\n}\n\nexport class VercelPgDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<VercelPgQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'VercelPgDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: VercelPgClient,\n\tconfig: DrizzleConfig<TSchema, DrizzlePgExtension> = {},\n): VercelPgDatabase<TSchema> & {\n\t$client: VercelPgClient;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.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 extensions = config.extensions;\n\tconst driver = new VercelPgDriver(client, dialect, { logger }, extensions);\n\tconst session = driver.createSession(schema);\n\tconst db = new VercelPgDatabase(dialect, session, schema as any, extensions) as VercelPgDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends VercelPgClient = typeof sql,\n>(\n\t...params: [] | [\n\t\tTClient,\n\t] | [\n\t\tTClient,\n\t\tDrizzleConfig<TSchema, DrizzlePgExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t\t& ({\n\t\t\t\tclient?: TClient;\n\t\t\t})\n\t\t),\n\t]\n): VercelPgDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (isConfig(params[0])) {\n\t\tconst { client, ...drizzleConfig } =\n\t\t\tparams[0] as ({ client?: TClient } & DrizzleConfig<TSchema, DrizzlePgExtension>);\n\t\treturn construct(client ?? sql, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\t(params[0] ?? sql) as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzlePgExtension>,\n\t): VercelPgDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAC7C,SAA2D,uBAAuB;AAM3E,MAAM,eAAe;AAAA,EAG3B,YACS,QACA,SACA,UAAiC,CAAC,GAClC,YACP;AAJO;AACA;AACA;AACA;AAAA,EAET;AAAA,EARA,QAAiB,UAAU,IAAY;AAAA,EAUvC,cACC,QACmE;AACnE,WAAO,IAAI,gBAAgB,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,OAAO,GAAG,KAAK,UAAU;AAAA,EAC/G;AACD;AAEO,MAAM,yBAEH,WAA4C;AAAA,EACrD,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAqD,CAAC,GAGrD;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,aAAa,OAAO;AAC1B,QAAM,SAAS,IAAI,eAAe,QAAQ,SAAS,EAAE,OAAO,GAAG,UAAU;AACzE,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,QAAe,UAAU;AAC3E,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAeF;AACD,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,QAAQ,GAAG,cAAc,IAChC,OAAO,CAAC;AACT,WAAO,UAAU,UAAU,KAAK,aAAa;AAAA,EAC9C;AAEA,SAAO;AAAA,IACL,OAAO,CAAC,KAAK;AAAA,IACd,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
|
|
@@ -24,7 +24,6 @@ __export(session_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(session_exports);
|
|
26
26
|
var import_postgres = require("@vercel/postgres");
|
|
27
|
-
var import_cache = require("../cache/core/cache.cjs");
|
|
28
27
|
var import_entity = require("../entity.cjs");
|
|
29
28
|
var import_logger = require("../logger.cjs");
|
|
30
29
|
var import_pg_core = require("../pg-core/index.cjs");
|
|
@@ -32,8 +31,8 @@ var import_session = require("../pg-core/session.cjs");
|
|
|
32
31
|
var import_sql = require("../sql/sql.cjs");
|
|
33
32
|
var import_utils = require("../utils.cjs");
|
|
34
33
|
class VercelPgPreparedQuery extends import_session.PgPreparedQuery {
|
|
35
|
-
constructor(client, queryString, params, logger,
|
|
36
|
-
super({ sql: queryString, params },
|
|
34
|
+
constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
|
|
35
|
+
super({ sql: queryString, params }, extensions, hookContext);
|
|
37
36
|
this.client = client;
|
|
38
37
|
this.params = params;
|
|
39
38
|
this.logger = logger;
|
|
@@ -119,18 +118,14 @@ class VercelPgPreparedQuery extends import_session.PgPreparedQuery {
|
|
|
119
118
|
static [import_entity.entityKind] = "VercelPgPreparedQuery";
|
|
120
119
|
rawQuery;
|
|
121
120
|
queryConfig;
|
|
122
|
-
async
|
|
121
|
+
async _execute(placeholderValues = {}) {
|
|
123
122
|
const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
|
|
124
123
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
125
124
|
const { fields, rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;
|
|
126
125
|
if (!fields && !customResultMapper) {
|
|
127
|
-
return
|
|
128
|
-
return await client.query(rawQuery, params);
|
|
129
|
-
});
|
|
126
|
+
return client.query(rawQuery, params);
|
|
130
127
|
}
|
|
131
|
-
const { rows } = await
|
|
132
|
-
return await client.query(query, params);
|
|
133
|
-
});
|
|
128
|
+
const { rows } = await client.query(query, params);
|
|
134
129
|
if (customResultMapper) {
|
|
135
130
|
return customResultMapper(rows);
|
|
136
131
|
}
|
|
@@ -139,16 +134,12 @@ class VercelPgPreparedQuery extends import_session.PgPreparedQuery {
|
|
|
139
134
|
all(placeholderValues = {}) {
|
|
140
135
|
const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
|
|
141
136
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
142
|
-
return this.
|
|
143
|
-
return await this.client.query(this.rawQuery, params);
|
|
144
|
-
}).then((result) => result.rows);
|
|
137
|
+
return this.client.query(this.rawQuery, params).then((result) => result.rows);
|
|
145
138
|
}
|
|
146
139
|
values(placeholderValues = {}) {
|
|
147
140
|
const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
|
|
148
141
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
149
|
-
return this.
|
|
150
|
-
return await this.client.query(this.queryConfig, params);
|
|
151
|
-
}).then((result) => result.rows);
|
|
142
|
+
return this.client.query(this.queryConfig, params).then((result) => result.rows);
|
|
152
143
|
}
|
|
153
144
|
/** @internal */
|
|
154
145
|
isResponseInArrayMode() {
|
|
@@ -156,29 +147,26 @@ class VercelPgPreparedQuery extends import_session.PgPreparedQuery {
|
|
|
156
147
|
}
|
|
157
148
|
}
|
|
158
149
|
class VercelPgSession extends import_session.PgSession {
|
|
159
|
-
constructor(client, dialect, schema, options = {}) {
|
|
160
|
-
super(dialect);
|
|
150
|
+
constructor(client, dialect, schema, options = {}, extensions) {
|
|
151
|
+
super(dialect, extensions);
|
|
161
152
|
this.client = client;
|
|
162
153
|
this.schema = schema;
|
|
163
154
|
this.options = options;
|
|
164
155
|
this.logger = options.logger ?? new import_logger.NoopLogger();
|
|
165
|
-
this.cache = options.cache ?? new import_cache.NoopCache();
|
|
166
156
|
}
|
|
167
157
|
static [import_entity.entityKind] = "VercelPgSession";
|
|
168
158
|
logger;
|
|
169
|
-
|
|
170
|
-
prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
|
|
159
|
+
prepareQuery(query, fields, name, isResponseInArrayMode, hookContext, customResultMapper) {
|
|
171
160
|
return new VercelPgPreparedQuery(
|
|
172
161
|
this.client,
|
|
173
162
|
query.sql,
|
|
174
163
|
query.params,
|
|
175
164
|
this.logger,
|
|
176
|
-
this.cache,
|
|
177
|
-
queryMetadata,
|
|
178
|
-
cacheConfig,
|
|
179
165
|
fields,
|
|
180
166
|
name,
|
|
181
167
|
isResponseInArrayMode,
|
|
168
|
+
this.extensions,
|
|
169
|
+
hookContext,
|
|
182
170
|
customResultMapper
|
|
183
171
|
);
|
|
184
172
|
}
|
|
@@ -199,8 +187,14 @@ class VercelPgSession extends import_session.PgSession {
|
|
|
199
187
|
return Number(result["rows"][0]["count"]);
|
|
200
188
|
}
|
|
201
189
|
async transaction(transaction, config) {
|
|
202
|
-
const session = this.client instanceof import_postgres.VercelPool ? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
|
|
203
|
-
const tx = new VercelPgTransaction(
|
|
190
|
+
const session = this.client instanceof import_postgres.VercelPool ? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions) : this;
|
|
191
|
+
const tx = new VercelPgTransaction(
|
|
192
|
+
this.dialect,
|
|
193
|
+
session,
|
|
194
|
+
this.schema,
|
|
195
|
+
void 0,
|
|
196
|
+
this.extensions
|
|
197
|
+
);
|
|
204
198
|
await tx.execute(import_sql.sql`begin${config ? import_sql.sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);
|
|
205
199
|
try {
|
|
206
200
|
const result = await transaction(tx);
|
|
@@ -224,7 +218,8 @@ class VercelPgTransaction extends import_pg_core.PgTransaction {
|
|
|
224
218
|
this.dialect,
|
|
225
219
|
this.session,
|
|
226
220
|
this.schema,
|
|
227
|
-
this.nestedIndex + 1
|
|
221
|
+
this.nestedIndex + 1,
|
|
222
|
+
this._.extensions
|
|
228
223
|
);
|
|
229
224
|
await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));
|
|
230
225
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/vercel-postgres/session.ts"],"sourcesContent":["import {\n\ttype QueryArrayConfig,\n\ttype QueryConfig,\n\ttype QueryResult,\n\ttype QueryResultRow,\n\ttypes,\n\ttype VercelClient,\n\tVercelPool,\n\ttype VercelPoolClient,\n} from '@vercel/postgres';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { type PgDialect, PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type VercelPgClient = VercelPool | VercelClient | VercelPoolClient;\n\nexport class VercelPgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'VercelPgPreparedQuery';\n\n\tprivate rawQuery: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: VercelPgClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\n\t\tconst { fields, rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn this.queryWithCache(rawQuery.text, params, async () => {\n\t\t\t\treturn await client.query(rawQuery, params);\n\t\t\t});\n\t\t}\n\n\t\tconst { rows } = await this.queryWithCache(query.text, params, async () => {\n\t\t\treturn await client.query(query, params);\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\t\treturn this.queryWithCache(this.rawQuery.text, params, async () => {\n\t\t\treturn await this.client.query(this.rawQuery, params);\n\t\t}).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\t\treturn this.queryWithCache(this.queryConfig.text, params, async () => {\n\t\t\treturn await this.client.query(this.queryConfig, params);\n\t\t}).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface VercelPgSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class VercelPgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<VercelPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'VercelPgSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: VercelPgClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: VercelPgSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\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): PgPreparedQuery<T> {\n\t\treturn new VercelPgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<QueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\trowMode: 'array',\n\t\t\ttext: query,\n\t\t\tvalues: params,\n\t\t});\n\t\treturn result;\n\t}\n\n\tasync queryObjects<T extends QueryResultRow>(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<QueryResult<T>> {\n\t\treturn this.client.query<T>(query, params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst result = await this.execute(sql);\n\n\t\treturn Number((result as any)['rows'][0]['count']);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: VercelPgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof VercelPool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options)\n\t\t\t: this;\n\t\tconst tx = new VercelPgTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof VercelPool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as VercelPoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class VercelPgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<VercelPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'VercelPgTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: VercelPgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new VercelPgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface VercelPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
|
|
1
|
+
{"version":3,"sources":["../../src/vercel-postgres/session.ts"],"sourcesContent":["import {\n\ttype QueryArrayConfig,\n\ttype QueryConfig,\n\ttype QueryResult,\n\ttype QueryResultRow,\n\ttypes,\n\ttype VercelClient,\n\tVercelPool,\n\ttype VercelPoolClient,\n} from '@vercel/postgres';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { type PgDialect, PgTransaction } from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport { PgPreparedQuery, PgSession } from '~/pg-core/session.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nexport type VercelPgClient = VercelPool | VercelClient | VercelPoolClient;\n\nexport class VercelPgPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'VercelPgPreparedQuery';\n\n\tprivate rawQuery: QueryConfig;\n\tprivate queryConfig: QueryArrayConfig;\n\n\tconstructor(\n\t\tprivate client: VercelPgClient,\n\t\tqueryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, extensions, hookContext);\n\t\tthis.rawQuery = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tthis.queryConfig = {\n\t\t\tname,\n\t\t\ttext: queryString,\n\t\t\trowMode: 'array',\n\t\t\ttypes: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tgetTypeParser: (typeId, format) => {\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMPTZ) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.TIMESTAMP) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.DATE) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeId === types.builtins.INTERVAL) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// numeric[]\n\t\t\t\t\tif (typeId === 1231 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp[]\n\t\t\t\t\tif (typeId === 1115 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// timestamp with timezone[]\n\t\t\t\t\tif (typeId === 1185 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// interval[]\n\t\t\t\t\tif (typeId === 1187 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// date[]\n\t\t\t\t\tif (typeId === 1182 as any) {\n\t\t\t\t\t\treturn (val: any) => val;\n\t\t\t\t\t}\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn types.getTypeParser(typeId, format);\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\n\t\tconst { fields, rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn client.query(rawQuery, params);\n\t\t}\n\n\t\tconst { rows } = await client.query(query, params);\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\t\treturn this.client.query(this.rawQuery, params).then((result) => result.rows);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\tthis.logger.logQuery(this.rawQuery.text, params);\n\t\treturn this.client.query(this.queryConfig, params).then((result) => result.rows);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface VercelPgSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class VercelPgSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<VercelPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'VercelPgSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: VercelPgClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: VercelPgSessionOptions = {},\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\thookContext?: BlankPgHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): PgPreparedQuery<T> {\n\t\treturn new VercelPgPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tname,\n\t\t\tisResponseInArrayMode,\n\t\t\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<QueryResult> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.query({\n\t\t\trowMode: 'array',\n\t\t\ttext: query,\n\t\t\tvalues: params,\n\t\t});\n\t\treturn result;\n\t}\n\n\tasync queryObjects<T extends QueryResultRow>(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<QueryResult<T>> {\n\t\treturn this.client.query<T>(query, params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst result = await this.execute(sql);\n\n\t\treturn Number((result as any)['rows'][0]['count']);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: VercelPgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst session = this.client instanceof VercelPool // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions)\n\t\t\t: this;\n\t\tconst tx = new VercelPgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.schema,\n\t\t\tundefined,\n\t\t\tthis.extensions,\n\t\t);\n\t\tawait tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : undefined}`);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tawait tx.execute(sql`rollback`);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.client instanceof VercelPool) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t(session.client as VercelPoolClient).release();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class VercelPgTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<VercelPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'VercelPgTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: VercelPgTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new VercelPgTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis._.extensions,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface VercelPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: QueryResult<Assume<this['row'], QueryResultRow>>;\n}\n"],"mappings":"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","names":["sql"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type QueryResult, type QueryResultRow, type VercelClient, VercelPool, type VercelPoolClient } from '@vercel/postgres';
|
|
2
|
-
import type { Cache } from "../cache/core/cache.cjs";
|
|
3
|
-
import type { WithCacheConfig } from "../cache/core/types.cjs";
|
|
4
2
|
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.cjs";
|
|
5
4
|
import { type Logger } from "../logger.cjs";
|
|
6
5
|
import { type PgDialect, PgTransaction } from "../pg-core/index.cjs";
|
|
7
6
|
import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.cjs";
|
|
@@ -21,17 +20,13 @@ export declare class VercelPgPreparedQuery<T extends PreparedQueryConfig> extend
|
|
|
21
20
|
static readonly [entityKind]: string;
|
|
22
21
|
private rawQuery;
|
|
23
22
|
private queryConfig;
|
|
24
|
-
constructor(client: VercelPgClient, queryString: string, params: unknown[], logger: Logger,
|
|
25
|
-
|
|
26
|
-
tables: string[];
|
|
27
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
|
|
28
|
-
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
23
|
+
constructor(client: VercelPgClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
|
|
24
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
29
25
|
all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
|
|
30
26
|
values(placeholderValues?: Record<string, unknown> | undefined): Promise<T['values']>;
|
|
31
27
|
}
|
|
32
28
|
export interface VercelPgSessionOptions {
|
|
33
29
|
logger?: Logger;
|
|
34
|
-
cache?: Cache;
|
|
35
30
|
}
|
|
36
31
|
export declare class VercelPgSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<VercelPgQueryResultHKT, TFullSchema, TSchema> {
|
|
37
32
|
private client;
|
|
@@ -39,12 +34,8 @@ export declare class VercelPgSession<TFullSchema extends Record<string, unknown>
|
|
|
39
34
|
private options;
|
|
40
35
|
static readonly [entityKind]: string;
|
|
41
36
|
private logger;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
|
|
45
|
-
type: 'select' | 'update' | 'delete' | 'insert';
|
|
46
|
-
tables: string[];
|
|
47
|
-
}, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
|
|
37
|
+
constructor(client: VercelPgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: VercelPgSessionOptions, extensions?: DrizzlePgExtension[]);
|
|
38
|
+
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankPgHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): PgPreparedQuery<T>;
|
|
48
39
|
query(query: string, params: unknown[]): Promise<QueryResult>;
|
|
49
40
|
queryObjects<T extends QueryResultRow>(query: string, params: unknown[]): Promise<QueryResult<T>>;
|
|
50
41
|
count(sql: SQL): Promise<number>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type QueryResult, type QueryResultRow, type VercelClient, VercelPool, type VercelPoolClient } from '@vercel/postgres';
|
|
2
|
-
import type { Cache } from "../cache/core/cache.js";
|
|
3
|
-
import type { WithCacheConfig } from "../cache/core/types.js";
|
|
4
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { BlankPgHookContext, DrizzlePgExtension } from "../extension-core/pg/index.js";
|
|
5
4
|
import { type Logger } from "../logger.js";
|
|
6
5
|
import { type PgDialect, PgTransaction } from "../pg-core/index.js";
|
|
7
6
|
import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.js";
|
|
@@ -21,17 +20,13 @@ export declare class VercelPgPreparedQuery<T extends PreparedQueryConfig> extend
|
|
|
21
20
|
static readonly [entityKind]: string;
|
|
22
21
|
private rawQuery;
|
|
23
22
|
private queryConfig;
|
|
24
|
-
constructor(client: VercelPgClient, queryString: string, params: unknown[], logger: Logger,
|
|
25
|
-
|
|
26
|
-
tables: string[];
|
|
27
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
|
|
28
|
-
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
23
|
+
constructor(client: VercelPgClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, name: string | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzlePgExtension[], hookContext?: BlankPgHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);
|
|
24
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
29
25
|
all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
|
|
30
26
|
values(placeholderValues?: Record<string, unknown> | undefined): Promise<T['values']>;
|
|
31
27
|
}
|
|
32
28
|
export interface VercelPgSessionOptions {
|
|
33
29
|
logger?: Logger;
|
|
34
|
-
cache?: Cache;
|
|
35
30
|
}
|
|
36
31
|
export declare class VercelPgSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<VercelPgQueryResultHKT, TFullSchema, TSchema> {
|
|
37
32
|
private client;
|
|
@@ -39,12 +34,8 @@ export declare class VercelPgSession<TFullSchema extends Record<string, unknown>
|
|
|
39
34
|
private options;
|
|
40
35
|
static readonly [entityKind]: string;
|
|
41
36
|
private logger;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
|
|
45
|
-
type: 'select' | 'update' | 'delete' | 'insert';
|
|
46
|
-
tables: string[];
|
|
47
|
-
}, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;
|
|
37
|
+
constructor(client: VercelPgClient, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: VercelPgSessionOptions, extensions?: DrizzlePgExtension[]);
|
|
38
|
+
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankPgHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): PgPreparedQuery<T>;
|
|
48
39
|
query(query: string, params: unknown[]): Promise<QueryResult>;
|
|
49
40
|
queryObjects<T extends QueryResultRow>(query: string, params: unknown[]): Promise<QueryResult<T>>;
|
|
50
41
|
count(sql: SQL): Promise<number>;
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
types,
|
|
3
3
|
VercelPool
|
|
4
4
|
} from "@vercel/postgres";
|
|
5
|
-
import { NoopCache } from "../cache/core/cache.js";
|
|
6
5
|
import { entityKind } from "../entity.js";
|
|
7
6
|
import { NoopLogger } from "../logger.js";
|
|
8
7
|
import { PgTransaction } from "../pg-core/index.js";
|
|
@@ -10,8 +9,8 @@ import { PgPreparedQuery, PgSession } from "../pg-core/session.js";
|
|
|
10
9
|
import { fillPlaceholders, sql } from "../sql/sql.js";
|
|
11
10
|
import { mapResultRow } from "../utils.js";
|
|
12
11
|
class VercelPgPreparedQuery extends PgPreparedQuery {
|
|
13
|
-
constructor(client, queryString, params, logger,
|
|
14
|
-
super({ sql: queryString, params },
|
|
12
|
+
constructor(client, queryString, params, logger, fields, name, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
|
|
13
|
+
super({ sql: queryString, params }, extensions, hookContext);
|
|
15
14
|
this.client = client;
|
|
16
15
|
this.params = params;
|
|
17
16
|
this.logger = logger;
|
|
@@ -97,18 +96,14 @@ class VercelPgPreparedQuery extends PgPreparedQuery {
|
|
|
97
96
|
static [entityKind] = "VercelPgPreparedQuery";
|
|
98
97
|
rawQuery;
|
|
99
98
|
queryConfig;
|
|
100
|
-
async
|
|
99
|
+
async _execute(placeholderValues = {}) {
|
|
101
100
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
102
101
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
103
102
|
const { fields, rawQuery, client, queryConfig: query, joinsNotNullableMap, customResultMapper } = this;
|
|
104
103
|
if (!fields && !customResultMapper) {
|
|
105
|
-
return
|
|
106
|
-
return await client.query(rawQuery, params);
|
|
107
|
-
});
|
|
104
|
+
return client.query(rawQuery, params);
|
|
108
105
|
}
|
|
109
|
-
const { rows } = await
|
|
110
|
-
return await client.query(query, params);
|
|
111
|
-
});
|
|
106
|
+
const { rows } = await client.query(query, params);
|
|
112
107
|
if (customResultMapper) {
|
|
113
108
|
return customResultMapper(rows);
|
|
114
109
|
}
|
|
@@ -117,16 +112,12 @@ class VercelPgPreparedQuery extends PgPreparedQuery {
|
|
|
117
112
|
all(placeholderValues = {}) {
|
|
118
113
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
119
114
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
120
|
-
return this.
|
|
121
|
-
return await this.client.query(this.rawQuery, params);
|
|
122
|
-
}).then((result) => result.rows);
|
|
115
|
+
return this.client.query(this.rawQuery, params).then((result) => result.rows);
|
|
123
116
|
}
|
|
124
117
|
values(placeholderValues = {}) {
|
|
125
118
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
126
119
|
this.logger.logQuery(this.rawQuery.text, params);
|
|
127
|
-
return this.
|
|
128
|
-
return await this.client.query(this.queryConfig, params);
|
|
129
|
-
}).then((result) => result.rows);
|
|
120
|
+
return this.client.query(this.queryConfig, params).then((result) => result.rows);
|
|
130
121
|
}
|
|
131
122
|
/** @internal */
|
|
132
123
|
isResponseInArrayMode() {
|
|
@@ -134,29 +125,26 @@ class VercelPgPreparedQuery extends PgPreparedQuery {
|
|
|
134
125
|
}
|
|
135
126
|
}
|
|
136
127
|
class VercelPgSession extends PgSession {
|
|
137
|
-
constructor(client, dialect, schema, options = {}) {
|
|
138
|
-
super(dialect);
|
|
128
|
+
constructor(client, dialect, schema, options = {}, extensions) {
|
|
129
|
+
super(dialect, extensions);
|
|
139
130
|
this.client = client;
|
|
140
131
|
this.schema = schema;
|
|
141
132
|
this.options = options;
|
|
142
133
|
this.logger = options.logger ?? new NoopLogger();
|
|
143
|
-
this.cache = options.cache ?? new NoopCache();
|
|
144
134
|
}
|
|
145
135
|
static [entityKind] = "VercelPgSession";
|
|
146
136
|
logger;
|
|
147
|
-
|
|
148
|
-
prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
|
|
137
|
+
prepareQuery(query, fields, name, isResponseInArrayMode, hookContext, customResultMapper) {
|
|
149
138
|
return new VercelPgPreparedQuery(
|
|
150
139
|
this.client,
|
|
151
140
|
query.sql,
|
|
152
141
|
query.params,
|
|
153
142
|
this.logger,
|
|
154
|
-
this.cache,
|
|
155
|
-
queryMetadata,
|
|
156
|
-
cacheConfig,
|
|
157
143
|
fields,
|
|
158
144
|
name,
|
|
159
145
|
isResponseInArrayMode,
|
|
146
|
+
this.extensions,
|
|
147
|
+
hookContext,
|
|
160
148
|
customResultMapper
|
|
161
149
|
);
|
|
162
150
|
}
|
|
@@ -177,8 +165,14 @@ class VercelPgSession extends PgSession {
|
|
|
177
165
|
return Number(result["rows"][0]["count"]);
|
|
178
166
|
}
|
|
179
167
|
async transaction(transaction, config) {
|
|
180
|
-
const session = this.client instanceof VercelPool ? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options) : this;
|
|
181
|
-
const tx = new VercelPgTransaction(
|
|
168
|
+
const session = this.client instanceof VercelPool ? new VercelPgSession(await this.client.connect(), this.dialect, this.schema, this.options, this.extensions) : this;
|
|
169
|
+
const tx = new VercelPgTransaction(
|
|
170
|
+
this.dialect,
|
|
171
|
+
session,
|
|
172
|
+
this.schema,
|
|
173
|
+
void 0,
|
|
174
|
+
this.extensions
|
|
175
|
+
);
|
|
182
176
|
await tx.execute(sql`begin${config ? sql` ${tx.getTransactionConfigSQL(config)}` : void 0}`);
|
|
183
177
|
try {
|
|
184
178
|
const result = await transaction(tx);
|
|
@@ -202,7 +196,8 @@ class VercelPgTransaction extends PgTransaction {
|
|
|
202
196
|
this.dialect,
|
|
203
197
|
this.session,
|
|
204
198
|
this.schema,
|
|
205
|
-
this.nestedIndex + 1
|
|
199
|
+
this.nestedIndex + 1,
|
|
200
|
+
this._.extensions
|
|
206
201
|
);
|
|
207
202
|
await tx.execute(sql.raw(`savepoint ${savepointName}`));
|
|
208
203
|
try {
|