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
package/subquery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/subquery.ts"],"sourcesContent":["import { entityKind } from './entity.ts';\nimport type { SQL, SQLWrapper } from './sql/sql.ts';\n\nexport interface Subquery<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTAlias extends string = string,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTSelectedFields extends Record<string, unknown> = Record<string, unknown>,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\nexport class Subquery<\n\tTAlias extends string = string,\n\tTSelectedFields extends Record<string, unknown> = Record<string, unknown>,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Subquery';\n\n\tdeclare _: {\n\t\tbrand: 'Subquery';\n\t\tsql: SQL;\n\t\tselectedFields: TSelectedFields;\n\t\talias: TAlias;\n\t\tisWith: boolean;\n\t
|
|
1
|
+
{"version":3,"sources":["../src/subquery.ts"],"sourcesContent":["import { entityKind } from './entity.ts';\nimport type { SQL, SQLWrapper } from './sql/sql.ts';\n\nexport interface Subquery<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTAlias extends string = string,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTSelectedFields extends Record<string, unknown> = Record<string, unknown>,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\nexport class Subquery<\n\tTAlias extends string = string,\n\tTSelectedFields extends Record<string, unknown> = Record<string, unknown>,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Subquery';\n\n\tdeclare _: {\n\t\tbrand: 'Subquery';\n\t\tsql: SQL;\n\t\tselectedFields: TSelectedFields;\n\t\talias: TAlias;\n\t\tisWith: boolean;\n\t};\n\n\tconstructor(sql: SQL, selection: Record<string, unknown>, alias: string, isWith = false) {\n\t\tthis._ = {\n\t\t\tbrand: 'Subquery',\n\t\t\tsql,\n\t\t\tselectedFields: selection as TSelectedFields,\n\t\t\talias: alias as TAlias,\n\t\t\tisWith,\n\t\t};\n\t}\n\n\t// getSQL(): SQL<unknown> {\n\t// \treturn new SQL([this]);\n\t// }\n}\n\nexport class WithSubquery<\n\tTAlias extends string = string,\n\tTSelection extends Record<string, unknown> = Record<string, unknown>,\n> extends Subquery<TAlias, TSelection> {\n\tstatic override readonly [entityKind]: string = 'WithSubquery';\n}\n\nexport type WithSubqueryWithoutSelection<TAlias extends string> = WithSubquery<TAlias, {}>;\n"],"mappings":"AAAA,SAAS,kBAAkB;AAWpB,MAAM,SAGW;AAAA,EACvB,QAAiB,UAAU,IAAY;AAAA,EAUvC,YAAY,KAAU,WAAoC,OAAe,SAAS,OAAO;AACxF,SAAK,IAAI;AAAA,MACR,OAAO;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAKD;AAEO,MAAM,qBAGH,SAA6B;AAAA,EACtC,QAA0B,UAAU,IAAY;AACjD;","names":[]}
|
|
@@ -53,13 +53,16 @@ function construct(client, config = {}) {
|
|
|
53
53
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
const
|
|
57
|
-
const
|
|
56
|
+
const extensions = config.extensions;
|
|
57
|
+
const session = new import_session.TiDBServerlessSession(client, dialect, void 0, schema, { logger }, extensions);
|
|
58
|
+
const db = new TiDBServerlessDatabase(
|
|
59
|
+
dialect,
|
|
60
|
+
session,
|
|
61
|
+
schema,
|
|
62
|
+
"default",
|
|
63
|
+
extensions
|
|
64
|
+
);
|
|
58
65
|
db.$client = client;
|
|
59
|
-
db.$cache = config.cache;
|
|
60
|
-
if (db.$cache) {
|
|
61
|
-
db.$cache["invalidate"] = config.cache?.onMutate;
|
|
62
|
-
}
|
|
63
66
|
return db;
|
|
64
67
|
}
|
|
65
68
|
function drizzle(...params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.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 { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n
|
|
1
|
+
{"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleMySqlExtension } from '~/extension-core/mysql/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.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 { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, DrizzleMySqlExtension> = {},\n): TiDBServerlessDatabase<TSchema> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ 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 session = new TiDBServerlessSession(client, dialect, undefined, schema, { logger }, extensions);\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as any,\n\t\t'default',\n\t\textensions,\n\t) as TiDBServerlessDatabase<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 Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t]\n): TiDBServerlessDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleMySqlExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t): TiDBServerlessDatabase<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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsD;AACtD,oBAA2B;AAG3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AACP,mBAA6C;AAE7C,qBAAsC;AAM/B,MAAM,+BAEH,wBAAqF;AAAA,EAC9F,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAwD,CAAC,GAGxD;AACD,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;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,UAAU,IAAI,qCAAsB,QAAQ,SAAS,QAAW,QAAQ,EAAE,OAAO,GAAG,UAAU;AACpG,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,2BAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eACpC,2BAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,QACC,2BAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA8D;AAC9G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Config, type Connection } from '@tidbcloud/serverless';
|
|
2
2
|
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { DrizzleMySqlExtension } from "../extension-core/mysql/index.cjs";
|
|
3
4
|
import type { Logger } from "../logger.cjs";
|
|
4
5
|
import { MySqlDatabase } from "../mysql-core/db.cjs";
|
|
5
6
|
import { type DrizzleConfig } from "../utils.cjs";
|
|
6
7
|
import type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from "./session.cjs";
|
|
7
8
|
export interface TiDBServerlessSDriverOptions {
|
|
8
9
|
logger?: Logger;
|
|
9
|
-
cache?: Cache;
|
|
10
10
|
}
|
|
11
11
|
export declare class TiDBServerlessDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema> {
|
|
12
12
|
static readonly [entityKind]: string;
|
|
@@ -15,18 +15,18 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
15
15
|
TClient | string
|
|
16
16
|
] | [
|
|
17
17
|
TClient | string,
|
|
18
|
-
DrizzleConfig<TSchema>
|
|
18
|
+
DrizzleConfig<TSchema, DrizzleMySqlExtension>
|
|
19
19
|
] | [
|
|
20
20
|
({
|
|
21
21
|
connection: string | Config;
|
|
22
22
|
} | {
|
|
23
23
|
client: TClient;
|
|
24
|
-
}) & DrizzleConfig<TSchema>
|
|
24
|
+
}) & DrizzleConfig<TSchema, DrizzleMySqlExtension>
|
|
25
25
|
]): TiDBServerlessDatabase<TSchema> & {
|
|
26
26
|
$client: TClient;
|
|
27
27
|
};
|
|
28
28
|
export declare namespace drizzle {
|
|
29
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): TiDBServerlessDatabase<TSchema> & {
|
|
29
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleMySqlExtension>): TiDBServerlessDatabase<TSchema> & {
|
|
30
30
|
$client: '$client is not available on drizzle.mock()';
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Config, type Connection } from '@tidbcloud/serverless';
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { DrizzleMySqlExtension } from "../extension-core/mysql/index.js";
|
|
3
4
|
import type { Logger } from "../logger.js";
|
|
4
5
|
import { MySqlDatabase } from "../mysql-core/db.js";
|
|
5
6
|
import { type DrizzleConfig } from "../utils.js";
|
|
6
7
|
import type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from "./session.js";
|
|
7
8
|
export interface TiDBServerlessSDriverOptions {
|
|
8
9
|
logger?: Logger;
|
|
9
|
-
cache?: Cache;
|
|
10
10
|
}
|
|
11
11
|
export declare class TiDBServerlessDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema> {
|
|
12
12
|
static readonly [entityKind]: string;
|
|
@@ -15,18 +15,18 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
15
15
|
TClient | string
|
|
16
16
|
] | [
|
|
17
17
|
TClient | string,
|
|
18
|
-
DrizzleConfig<TSchema>
|
|
18
|
+
DrizzleConfig<TSchema, DrizzleMySqlExtension>
|
|
19
19
|
] | [
|
|
20
20
|
({
|
|
21
21
|
connection: string | Config;
|
|
22
22
|
} | {
|
|
23
23
|
client: TClient;
|
|
24
|
-
}) & DrizzleConfig<TSchema>
|
|
24
|
+
}) & DrizzleConfig<TSchema, DrizzleMySqlExtension>
|
|
25
25
|
]): TiDBServerlessDatabase<TSchema> & {
|
|
26
26
|
$client: TClient;
|
|
27
27
|
};
|
|
28
28
|
export declare namespace drizzle {
|
|
29
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): TiDBServerlessDatabase<TSchema> & {
|
|
29
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleMySqlExtension>): TiDBServerlessDatabase<TSchema> & {
|
|
30
30
|
$client: '$client is not available on drizzle.mock()';
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -32,13 +32,16 @@ function construct(client, config = {}) {
|
|
|
32
32
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
const extensions = config.extensions;
|
|
36
|
+
const session = new TiDBServerlessSession(client, dialect, void 0, schema, { logger }, extensions);
|
|
37
|
+
const db = new TiDBServerlessDatabase(
|
|
38
|
+
dialect,
|
|
39
|
+
session,
|
|
40
|
+
schema,
|
|
41
|
+
"default",
|
|
42
|
+
extensions
|
|
43
|
+
);
|
|
37
44
|
db.$client = client;
|
|
38
|
-
db.$cache = config.cache;
|
|
39
|
-
if (db.$cache) {
|
|
40
|
-
db.$cache["invalidate"] = config.cache?.onMutate;
|
|
41
|
-
}
|
|
42
45
|
return db;
|
|
43
46
|
}
|
|
44
47
|
function drizzle(...params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.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 { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n
|
|
1
|
+
{"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleMySqlExtension } from '~/extension-core/mysql/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.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 { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, DrizzleMySqlExtension> = {},\n): TiDBServerlessDatabase<TSchema> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ 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 session = new TiDBServerlessSession(client, dialect, undefined, schema, { logger }, extensions);\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as any,\n\t\t'default',\n\t\textensions,\n\t) as TiDBServerlessDatabase<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 Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t]\n): TiDBServerlessDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleMySqlExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleMySqlExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleMySqlExtension>,\n\t): TiDBServerlessDatabase<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,SAAsB,eAAgC;AACtD,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,6BAA6B;AAM/B,MAAM,+BAEH,cAAqF;AAAA,EAC9F,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAwD,CAAC,GAGxD;AACD,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,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,UAAU,IAAI,sBAAsB,QAAQ,SAAS,QAAW,QAAQ,EAAE,OAAO,GAAG,UAAU;AACpG,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,QAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,QAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,IACC,QAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA8D;AAC9G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
|
|
@@ -23,7 +23,6 @@ __export(session_exports, {
|
|
|
23
23
|
TiDBServerlessTransaction: () => TiDBServerlessTransaction
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(session_exports);
|
|
26
|
-
var import_core = require("../cache/core/index.cjs");
|
|
27
26
|
var import_column = require("../column.cjs");
|
|
28
27
|
var import_entity = require("../entity.cjs");
|
|
29
28
|
var import_logger = require("../logger.cjs");
|
|
@@ -33,11 +32,9 @@ var import_utils = require("../utils.cjs");
|
|
|
33
32
|
const executeRawConfig = { fullResult: true };
|
|
34
33
|
const queryConfig = { arrayMode: true };
|
|
35
34
|
class TiDBServerlessPreparedQuery extends import_session.MySqlPreparedQuery {
|
|
36
|
-
constructor(client, queryString, params, logger,
|
|
37
|
-
super(
|
|
35
|
+
constructor(client, queryString, params, logger, fields, extensions, hookContext, customResultMapper, generatedIds, returningIds) {
|
|
36
|
+
super(queryString, params, extensions, hookContext);
|
|
38
37
|
this.client = client;
|
|
39
|
-
this.queryString = queryString;
|
|
40
|
-
this.params = params;
|
|
41
38
|
this.logger = logger;
|
|
42
39
|
this.fields = fields;
|
|
43
40
|
this.customResultMapper = customResultMapper;
|
|
@@ -45,14 +42,12 @@ class TiDBServerlessPreparedQuery extends import_session.MySqlPreparedQuery {
|
|
|
45
42
|
this.returningIds = returningIds;
|
|
46
43
|
}
|
|
47
44
|
static [import_entity.entityKind] = "TiDBPreparedQuery";
|
|
48
|
-
async
|
|
45
|
+
async _execute(placeholderValues = {}) {
|
|
49
46
|
const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
|
|
50
47
|
this.logger.logQuery(this.queryString, params);
|
|
51
48
|
const { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
|
|
52
49
|
if (!fields && !customResultMapper) {
|
|
53
|
-
const res = await
|
|
54
|
-
return await client.execute(queryString, params, executeRawConfig);
|
|
55
|
-
});
|
|
50
|
+
const res = await client.execute(queryString, params, executeRawConfig);
|
|
56
51
|
const insertId = res.lastInsertId ?? 0;
|
|
57
52
|
const affectedRows = res.rowsAffected ?? 0;
|
|
58
53
|
if (returningIds) {
|
|
@@ -76,9 +71,7 @@ class TiDBServerlessPreparedQuery extends import_session.MySqlPreparedQuery {
|
|
|
76
71
|
}
|
|
77
72
|
return res;
|
|
78
73
|
}
|
|
79
|
-
const rows = await
|
|
80
|
-
return await client.execute(queryString, params, queryConfig);
|
|
81
|
-
});
|
|
74
|
+
const rows = await client.execute(queryString, params, queryConfig);
|
|
82
75
|
if (customResultMapper) {
|
|
83
76
|
return customResultMapper(rows);
|
|
84
77
|
}
|
|
@@ -89,29 +82,26 @@ class TiDBServerlessPreparedQuery extends import_session.MySqlPreparedQuery {
|
|
|
89
82
|
}
|
|
90
83
|
}
|
|
91
84
|
class TiDBServerlessSession extends import_session.MySqlSession {
|
|
92
|
-
constructor(baseClient, dialect, tx, schema, options = {}) {
|
|
93
|
-
super(dialect);
|
|
85
|
+
constructor(baseClient, dialect, tx, schema, options = {}, extensions) {
|
|
86
|
+
super(dialect, extensions);
|
|
94
87
|
this.baseClient = baseClient;
|
|
95
88
|
this.schema = schema;
|
|
96
89
|
this.options = options;
|
|
97
90
|
this.client = tx ?? baseClient;
|
|
98
91
|
this.logger = options.logger ?? new import_logger.NoopLogger();
|
|
99
|
-
this.cache = options.cache ?? new import_core.NoopCache();
|
|
100
92
|
}
|
|
101
93
|
static [import_entity.entityKind] = "TiDBServerlessSession";
|
|
102
94
|
logger;
|
|
103
95
|
client;
|
|
104
|
-
|
|
105
|
-
prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
|
|
96
|
+
prepareQuery(query, fields, hookContext, customResultMapper, generatedIds, returningIds) {
|
|
106
97
|
return new TiDBServerlessPreparedQuery(
|
|
107
98
|
this.client,
|
|
108
99
|
query.sql,
|
|
109
100
|
query.params,
|
|
110
101
|
this.logger,
|
|
111
|
-
this.cache,
|
|
112
|
-
queryMetadata,
|
|
113
|
-
cacheConfig,
|
|
114
102
|
fields,
|
|
103
|
+
this.extensions,
|
|
104
|
+
hookContext,
|
|
115
105
|
customResultMapper,
|
|
116
106
|
generatedIds,
|
|
117
107
|
returningIds
|
|
@@ -131,11 +121,20 @@ class TiDBServerlessSession extends import_session.MySqlSession {
|
|
|
131
121
|
async transaction(transaction) {
|
|
132
122
|
const nativeTx = await this.baseClient.begin();
|
|
133
123
|
try {
|
|
134
|
-
const session = new TiDBServerlessSession(
|
|
124
|
+
const session = new TiDBServerlessSession(
|
|
125
|
+
this.baseClient,
|
|
126
|
+
this.dialect,
|
|
127
|
+
nativeTx,
|
|
128
|
+
this.schema,
|
|
129
|
+
this.options,
|
|
130
|
+
this.extensions
|
|
131
|
+
);
|
|
135
132
|
const tx = new TiDBServerlessTransaction(
|
|
136
133
|
this.dialect,
|
|
137
134
|
session,
|
|
138
|
-
this.schema
|
|
135
|
+
this.schema,
|
|
136
|
+
void 0,
|
|
137
|
+
this.extensions
|
|
139
138
|
);
|
|
140
139
|
const result = await transaction(tx);
|
|
141
140
|
await nativeTx.commit();
|
|
@@ -148,8 +147,8 @@ class TiDBServerlessSession extends import_session.MySqlSession {
|
|
|
148
147
|
}
|
|
149
148
|
class TiDBServerlessTransaction extends import_session.MySqlTransaction {
|
|
150
149
|
static [import_entity.entityKind] = "TiDBServerlessTransaction";
|
|
151
|
-
constructor(dialect, session, schema, nestedIndex = 0) {
|
|
152
|
-
super(dialect, session, schema, nestedIndex, "default");
|
|
150
|
+
constructor(dialect, session, schema, nestedIndex = 0, extensions) {
|
|
151
|
+
super(dialect, session, schema, nestedIndex, "default", extensions);
|
|
153
152
|
}
|
|
154
153
|
async transaction(transaction) {
|
|
155
154
|
const savepointName = `sp${this.nestedIndex + 1}`;
|
|
@@ -157,7 +156,8 @@ class TiDBServerlessTransaction extends import_session.MySqlTransaction {
|
|
|
157
156
|
this.dialect,
|
|
158
157
|
this.session,
|
|
159
158
|
this.schema,
|
|
160
|
-
this.nestedIndex + 1
|
|
159
|
+
this.nestedIndex + 1,
|
|
160
|
+
this._.extensions
|
|
161
161
|
);
|
|
162
162
|
await tx.execute(import_sql.sql.raw(`savepoint ${savepointName}`));
|
|
163
163
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\n\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-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\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig> extends MySqlPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tprivate queryString: 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\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\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.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\t});\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, queryConfig) as unknown[][];\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\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\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): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\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\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(this.baseClient, this.dialect, nativeTx, this.schema, this.options);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any>,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tschema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, schema, nestedIndex, 'default');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<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 TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
|
|
1
|
+
{"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { Column } from '~/column.ts';\n\nimport { entityKind, is } from '~/entity.ts';\nimport type { BlankMySqlHookContext, DrizzleMySqlExtension } from '~/extension-core/mysql/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-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\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig> extends MySqlPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tqueryString: string,\n\t\tparams: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\textensions?: DrizzleMySqlExtension[],\n\t\thookContext?: BlankMySqlHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t) {\n\t\tsuper(queryString, params, extensions, hookContext);\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.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await client.execute(queryString, params, queryConfig) as unknown[][];\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\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t\textensions?: DrizzleMySqlExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\thookContext?: BlankMySqlHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\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\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tnativeTx,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any>,\n\t\t\t\tthis.schema,\n\t\t\t\tundefined,\n\t\t\t\tthis.extensions,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\tschema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t\textensions?: DrizzleMySqlExtension[],\n\t) {\n\t\tsuper(dialect, session, schema, nestedIndex, 'default', extensions);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<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 TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Connection, FullResult, Tx } from '@tidbcloud/serverless';
|
|
2
|
-
import { type Cache } from "../cache/core/index.cjs";
|
|
3
|
-
import type { WithCacheConfig } from "../cache/core/types.cjs";
|
|
4
2
|
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { BlankMySqlHookContext, DrizzleMySqlExtension } from "../extension-core/mysql/index.cjs";
|
|
5
4
|
import type { Logger } from "../logger.cjs";
|
|
6
5
|
import type { MySqlDialect } from "../mysql-core/dialect.cjs";
|
|
7
6
|
import type { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.cjs";
|
|
@@ -11,24 +10,18 @@ import { type Query, type SQL } from "../sql/sql.cjs";
|
|
|
11
10
|
import { type Assume } from "../utils.cjs";
|
|
12
11
|
export declare class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig> extends MySqlPreparedQuery<T> {
|
|
13
12
|
private client;
|
|
14
|
-
private queryString;
|
|
15
|
-
private params;
|
|
16
13
|
private logger;
|
|
17
14
|
private fields;
|
|
18
15
|
private customResultMapper?;
|
|
19
16
|
private generatedIds?;
|
|
20
17
|
private returningIds?;
|
|
21
18
|
static readonly [entityKind]: string;
|
|
22
|
-
constructor(client: Tx | Connection, queryString: string, params: unknown[], logger: Logger,
|
|
23
|
-
|
|
24
|
-
tables: string[];
|
|
25
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
26
|
-
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
19
|
+
constructor(client: Tx | Connection, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, extensions?: DrizzleMySqlExtension[], hookContext?: BlankMySqlHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
20
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
27
21
|
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
28
22
|
}
|
|
29
23
|
export interface TiDBServerlessSessionOptions {
|
|
30
24
|
logger?: Logger;
|
|
31
|
-
cache?: Cache;
|
|
32
25
|
}
|
|
33
26
|
export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {
|
|
34
27
|
private baseClient;
|
|
@@ -37,19 +30,15 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
|
|
|
37
30
|
static readonly [entityKind]: string;
|
|
38
31
|
private logger;
|
|
39
32
|
private client;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered, queryMetadata?: {
|
|
43
|
-
type: 'select' | 'update' | 'delete' | 'insert';
|
|
44
|
-
tables: string[];
|
|
45
|
-
}, cacheConfig?: WithCacheConfig): MySqlPreparedQuery<T>;
|
|
33
|
+
constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, schema: RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions, extensions?: DrizzleMySqlExtension[]);
|
|
34
|
+
prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, hookContext?: BlankMySqlHookContext, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): MySqlPreparedQuery<T>;
|
|
46
35
|
all<T = unknown>(query: SQL): Promise<T[]>;
|
|
47
36
|
count(sql: SQL): Promise<number>;
|
|
48
37
|
transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
49
38
|
}
|
|
50
39
|
export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {
|
|
51
40
|
static readonly [entityKind]: string;
|
|
52
|
-
constructor(dialect: MySqlDialect, session: MySqlSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
|
|
41
|
+
constructor(dialect: MySqlDialect, session: MySqlSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number, extensions?: DrizzleMySqlExtension[]);
|
|
53
42
|
transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
54
43
|
}
|
|
55
44
|
export interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Connection, FullResult, Tx } from '@tidbcloud/serverless';
|
|
2
|
-
import { type Cache } from "../cache/core/index.js";
|
|
3
|
-
import type { WithCacheConfig } from "../cache/core/types.js";
|
|
4
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { BlankMySqlHookContext, DrizzleMySqlExtension } from "../extension-core/mysql/index.js";
|
|
5
4
|
import type { Logger } from "../logger.js";
|
|
6
5
|
import type { MySqlDialect } from "../mysql-core/dialect.js";
|
|
7
6
|
import type { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.js";
|
|
@@ -11,24 +10,18 @@ import { type Query, type SQL } from "../sql/sql.js";
|
|
|
11
10
|
import { type Assume } from "../utils.js";
|
|
12
11
|
export declare class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig> extends MySqlPreparedQuery<T> {
|
|
13
12
|
private client;
|
|
14
|
-
private queryString;
|
|
15
|
-
private params;
|
|
16
13
|
private logger;
|
|
17
14
|
private fields;
|
|
18
15
|
private customResultMapper?;
|
|
19
16
|
private generatedIds?;
|
|
20
17
|
private returningIds?;
|
|
21
18
|
static readonly [entityKind]: string;
|
|
22
|
-
constructor(client: Tx | Connection, queryString: string, params: unknown[], logger: Logger,
|
|
23
|
-
|
|
24
|
-
tables: string[];
|
|
25
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
26
|
-
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
19
|
+
constructor(client: Tx | Connection, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, extensions?: DrizzleMySqlExtension[], hookContext?: BlankMySqlHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
20
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
27
21
|
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
28
22
|
}
|
|
29
23
|
export interface TiDBServerlessSessionOptions {
|
|
30
24
|
logger?: Logger;
|
|
31
|
-
cache?: Cache;
|
|
32
25
|
}
|
|
33
26
|
export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {
|
|
34
27
|
private baseClient;
|
|
@@ -37,19 +30,15 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
|
|
|
37
30
|
static readonly [entityKind]: string;
|
|
38
31
|
private logger;
|
|
39
32
|
private client;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered, queryMetadata?: {
|
|
43
|
-
type: 'select' | 'update' | 'delete' | 'insert';
|
|
44
|
-
tables: string[];
|
|
45
|
-
}, cacheConfig?: WithCacheConfig): MySqlPreparedQuery<T>;
|
|
33
|
+
constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, schema: RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions, extensions?: DrizzleMySqlExtension[]);
|
|
34
|
+
prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, hookContext?: BlankMySqlHookContext, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): MySqlPreparedQuery<T>;
|
|
46
35
|
all<T = unknown>(query: SQL): Promise<T[]>;
|
|
47
36
|
count(sql: SQL): Promise<number>;
|
|
48
37
|
transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
49
38
|
}
|
|
50
39
|
export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TSchema> {
|
|
51
40
|
static readonly [entityKind]: string;
|
|
52
|
-
constructor(dialect: MySqlDialect, session: MySqlSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
|
|
41
|
+
constructor(dialect: MySqlDialect, session: MySqlSession, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number, extensions?: DrizzleMySqlExtension[]);
|
|
53
42
|
transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
54
43
|
}
|
|
55
44
|
export interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { NoopCache } from "../cache/core/index.js";
|
|
2
1
|
import { Column } from "../column.js";
|
|
3
2
|
import { entityKind, is } from "../entity.js";
|
|
4
3
|
import { NoopLogger } from "../logger.js";
|
|
@@ -12,11 +11,9 @@ import { mapResultRow } from "../utils.js";
|
|
|
12
11
|
const executeRawConfig = { fullResult: true };
|
|
13
12
|
const queryConfig = { arrayMode: true };
|
|
14
13
|
class TiDBServerlessPreparedQuery extends MySqlPreparedQuery {
|
|
15
|
-
constructor(client, queryString, params, logger,
|
|
16
|
-
super(
|
|
14
|
+
constructor(client, queryString, params, logger, fields, extensions, hookContext, customResultMapper, generatedIds, returningIds) {
|
|
15
|
+
super(queryString, params, extensions, hookContext);
|
|
17
16
|
this.client = client;
|
|
18
|
-
this.queryString = queryString;
|
|
19
|
-
this.params = params;
|
|
20
17
|
this.logger = logger;
|
|
21
18
|
this.fields = fields;
|
|
22
19
|
this.customResultMapper = customResultMapper;
|
|
@@ -24,14 +21,12 @@ class TiDBServerlessPreparedQuery extends MySqlPreparedQuery {
|
|
|
24
21
|
this.returningIds = returningIds;
|
|
25
22
|
}
|
|
26
23
|
static [entityKind] = "TiDBPreparedQuery";
|
|
27
|
-
async
|
|
24
|
+
async _execute(placeholderValues = {}) {
|
|
28
25
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
29
26
|
this.logger.logQuery(this.queryString, params);
|
|
30
27
|
const { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
|
|
31
28
|
if (!fields && !customResultMapper) {
|
|
32
|
-
const res = await
|
|
33
|
-
return await client.execute(queryString, params, executeRawConfig);
|
|
34
|
-
});
|
|
29
|
+
const res = await client.execute(queryString, params, executeRawConfig);
|
|
35
30
|
const insertId = res.lastInsertId ?? 0;
|
|
36
31
|
const affectedRows = res.rowsAffected ?? 0;
|
|
37
32
|
if (returningIds) {
|
|
@@ -55,9 +50,7 @@ class TiDBServerlessPreparedQuery extends MySqlPreparedQuery {
|
|
|
55
50
|
}
|
|
56
51
|
return res;
|
|
57
52
|
}
|
|
58
|
-
const rows = await
|
|
59
|
-
return await client.execute(queryString, params, queryConfig);
|
|
60
|
-
});
|
|
53
|
+
const rows = await client.execute(queryString, params, queryConfig);
|
|
61
54
|
if (customResultMapper) {
|
|
62
55
|
return customResultMapper(rows);
|
|
63
56
|
}
|
|
@@ -68,29 +61,26 @@ class TiDBServerlessPreparedQuery extends MySqlPreparedQuery {
|
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
63
|
class TiDBServerlessSession extends MySqlSession {
|
|
71
|
-
constructor(baseClient, dialect, tx, schema, options = {}) {
|
|
72
|
-
super(dialect);
|
|
64
|
+
constructor(baseClient, dialect, tx, schema, options = {}, extensions) {
|
|
65
|
+
super(dialect, extensions);
|
|
73
66
|
this.baseClient = baseClient;
|
|
74
67
|
this.schema = schema;
|
|
75
68
|
this.options = options;
|
|
76
69
|
this.client = tx ?? baseClient;
|
|
77
70
|
this.logger = options.logger ?? new NoopLogger();
|
|
78
|
-
this.cache = options.cache ?? new NoopCache();
|
|
79
71
|
}
|
|
80
72
|
static [entityKind] = "TiDBServerlessSession";
|
|
81
73
|
logger;
|
|
82
74
|
client;
|
|
83
|
-
|
|
84
|
-
prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
|
|
75
|
+
prepareQuery(query, fields, hookContext, customResultMapper, generatedIds, returningIds) {
|
|
85
76
|
return new TiDBServerlessPreparedQuery(
|
|
86
77
|
this.client,
|
|
87
78
|
query.sql,
|
|
88
79
|
query.params,
|
|
89
80
|
this.logger,
|
|
90
|
-
this.cache,
|
|
91
|
-
queryMetadata,
|
|
92
|
-
cacheConfig,
|
|
93
81
|
fields,
|
|
82
|
+
this.extensions,
|
|
83
|
+
hookContext,
|
|
94
84
|
customResultMapper,
|
|
95
85
|
generatedIds,
|
|
96
86
|
returningIds
|
|
@@ -110,11 +100,20 @@ class TiDBServerlessSession extends MySqlSession {
|
|
|
110
100
|
async transaction(transaction) {
|
|
111
101
|
const nativeTx = await this.baseClient.begin();
|
|
112
102
|
try {
|
|
113
|
-
const session = new TiDBServerlessSession(
|
|
103
|
+
const session = new TiDBServerlessSession(
|
|
104
|
+
this.baseClient,
|
|
105
|
+
this.dialect,
|
|
106
|
+
nativeTx,
|
|
107
|
+
this.schema,
|
|
108
|
+
this.options,
|
|
109
|
+
this.extensions
|
|
110
|
+
);
|
|
114
111
|
const tx = new TiDBServerlessTransaction(
|
|
115
112
|
this.dialect,
|
|
116
113
|
session,
|
|
117
|
-
this.schema
|
|
114
|
+
this.schema,
|
|
115
|
+
void 0,
|
|
116
|
+
this.extensions
|
|
118
117
|
);
|
|
119
118
|
const result = await transaction(tx);
|
|
120
119
|
await nativeTx.commit();
|
|
@@ -127,8 +126,8 @@ class TiDBServerlessSession extends MySqlSession {
|
|
|
127
126
|
}
|
|
128
127
|
class TiDBServerlessTransaction extends MySqlTransaction {
|
|
129
128
|
static [entityKind] = "TiDBServerlessTransaction";
|
|
130
|
-
constructor(dialect, session, schema, nestedIndex = 0) {
|
|
131
|
-
super(dialect, session, schema, nestedIndex, "default");
|
|
129
|
+
constructor(dialect, session, schema, nestedIndex = 0, extensions) {
|
|
130
|
+
super(dialect, session, schema, nestedIndex, "default", extensions);
|
|
132
131
|
}
|
|
133
132
|
async transaction(transaction) {
|
|
134
133
|
const savepointName = `sp${this.nestedIndex + 1}`;
|
|
@@ -136,7 +135,8 @@ class TiDBServerlessTransaction extends MySqlTransaction {
|
|
|
136
135
|
this.dialect,
|
|
137
136
|
this.session,
|
|
138
137
|
this.schema,
|
|
139
|
-
this.nestedIndex + 1
|
|
138
|
+
this.nestedIndex + 1,
|
|
139
|
+
this._.extensions
|
|
140
140
|
);
|
|
141
141
|
await tx.execute(sql.raw(`savepoint ${savepointName}`));
|
|
142
142
|
try {
|