drizzle-orm 1.0.0-beta.21 → 1.0.0-beta.21-4fa69ab
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/_relations.cjs.map +1 -1
- package/_relations.d.cts +2 -13
- package/_relations.d.ts +2 -13
- package/_relations.js.map +1 -1
- package/aws-data-api/common/index.cjs +2 -0
- package/aws-data-api/common/index.cjs.map +1 -1
- package/aws-data-api/common/index.js +2 -0
- package/aws-data-api/common/index.js.map +1 -1
- package/aws-data-api/pg/driver.cjs +93 -20
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +17 -13
- package/aws-data-api/pg/driver.d.ts +16 -12
- package/aws-data-api/pg/driver.js +93 -20
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/index.cjs +1 -1
- package/aws-data-api/pg/index.d.cts +3 -3
- package/aws-data-api/pg/index.d.ts +3 -3
- package/aws-data-api/pg/index.js +3 -3
- package/aws-data-api/pg/migrator.cjs.map +1 -1
- package/aws-data-api/pg/migrator.d.cts +1 -1
- package/aws-data-api/pg/migrator.d.ts +1 -1
- package/aws-data-api/pg/migrator.js.map +1 -1
- package/aws-data-api/pg/session.cjs +44 -113
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +12 -42
- package/aws-data-api/pg/session.d.ts +12 -42
- package/aws-data-api/pg/session.js +46 -114
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs +5 -2
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.ts +1 -1
- package/better-sqlite3/driver.js +5 -2
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +15 -14
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +10 -6
- package/better-sqlite3/session.d.ts +10 -6
- package/better-sqlite3/session.js +16 -15
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.d.cts +7 -6
- package/bun-sql/driver.d.ts +7 -6
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/index.cjs +0 -1
- package/bun-sql/index.d.cts +2 -2
- package/bun-sql/index.d.ts +2 -2
- package/bun-sql/index.js +2 -2
- package/bun-sql/migrator.cjs.map +1 -1
- package/bun-sql/migrator.d.cts +2 -2
- package/bun-sql/migrator.d.ts +2 -2
- package/bun-sql/migrator.js.map +1 -1
- package/bun-sql/mysql/driver.cjs +4 -3
- package/bun-sql/mysql/driver.cjs.map +1 -1
- package/bun-sql/mysql/driver.js +3 -2
- package/bun-sql/mysql/driver.js.map +1 -1
- package/bun-sql/mysql/session.cjs +36 -23
- package/bun-sql/mysql/session.cjs.map +1 -1
- package/bun-sql/mysql/session.d.cts +10 -4
- package/bun-sql/mysql/session.d.ts +11 -5
- package/bun-sql/mysql/session.js +37 -24
- package/bun-sql/mysql/session.js.map +1 -1
- package/bun-sql/postgres/driver.cjs +143 -19
- package/bun-sql/postgres/driver.cjs.map +1 -1
- package/bun-sql/postgres/driver.d.cts +10 -6
- package/bun-sql/postgres/driver.d.ts +10 -6
- package/bun-sql/postgres/driver.js +143 -19
- package/bun-sql/postgres/driver.js.map +1 -1
- package/bun-sql/postgres/index.cjs +1 -1
- package/bun-sql/postgres/index.d.cts +3 -3
- package/bun-sql/postgres/index.d.ts +3 -3
- package/bun-sql/postgres/index.js +3 -3
- package/bun-sql/postgres/migrator.cjs.map +1 -1
- package/bun-sql/postgres/migrator.d.cts +1 -1
- package/bun-sql/postgres/migrator.d.ts +1 -1
- package/bun-sql/postgres/migrator.js.map +1 -1
- package/bun-sql/postgres/session.cjs +16 -111
- package/bun-sql/postgres/session.cjs.map +1 -1
- package/bun-sql/postgres/session.d.cts +11 -33
- package/bun-sql/postgres/session.d.ts +10 -32
- package/bun-sql/postgres/session.js +17 -111
- package/bun-sql/postgres/session.js.map +1 -1
- package/bun-sql/session.cjs +0 -1
- package/bun-sql/session.d.cts +2 -2
- package/bun-sql/session.d.ts +2 -2
- package/bun-sql/session.js +2 -2
- package/bun-sql/sqlite/driver.cjs +4 -3
- package/bun-sql/sqlite/driver.cjs.map +1 -1
- package/bun-sql/sqlite/driver.d.ts +1 -1
- package/bun-sql/sqlite/driver.js +3 -2
- package/bun-sql/sqlite/driver.js.map +1 -1
- package/bun-sql/sqlite/session.cjs +17 -16
- package/bun-sql/sqlite/session.cjs.map +1 -1
- package/bun-sql/sqlite/session.d.cts +9 -6
- package/bun-sql/sqlite/session.d.ts +9 -6
- package/bun-sql/sqlite/session.js +18 -17
- package/bun-sql/sqlite/session.js.map +1 -1
- package/bun-sqlite/driver.cjs +5 -2
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.ts +1 -1
- package/bun-sqlite/driver.js +5 -2
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/session.cjs +15 -14
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +10 -6
- package/bun-sqlite/session.d.ts +10 -6
- package/bun-sqlite/session.js +16 -15
- package/bun-sqlite/session.js.map +1 -1
- package/cache/core/cache-effect.d.cts +1 -1
- package/cache/core/cache-effect.d.ts +1 -1
- package/cache/upstash/cache.d.cts +1 -1
- package/cache/upstash/cache.d.ts +1 -1
- package/cockroach/driver.cjs +9 -3
- package/cockroach/driver.cjs.map +1 -1
- package/cockroach/driver.d.cts +1 -0
- package/cockroach/driver.d.ts +2 -1
- package/cockroach/driver.js +9 -3
- package/cockroach/driver.js.map +1 -1
- package/cockroach/session.cjs +7 -9
- package/cockroach/session.cjs.map +1 -1
- package/cockroach/session.d.cts +5 -3
- package/cockroach/session.d.ts +6 -4
- package/cockroach/session.js +8 -10
- package/cockroach/session.js.map +1 -1
- package/cockroach-core/columns/bigint.cjs +4 -4
- package/cockroach-core/columns/bigint.cjs.map +1 -1
- package/cockroach-core/columns/bigint.d.cts +2 -2
- package/cockroach-core/columns/bigint.d.ts +2 -2
- package/cockroach-core/columns/bigint.js +4 -4
- package/cockroach-core/columns/bigint.js.map +1 -1
- package/cockroach-core/columns/common.cjs +4 -4
- package/cockroach-core/columns/common.cjs.map +1 -1
- package/cockroach-core/columns/common.d.cts +2 -2
- package/cockroach-core/columns/common.d.ts +2 -2
- package/cockroach-core/columns/common.js +4 -4
- package/cockroach-core/columns/common.js.map +1 -1
- package/cockroach-core/columns/custom.cjs +4 -4
- package/cockroach-core/columns/custom.cjs.map +1 -1
- package/cockroach-core/columns/custom.d.cts +2 -2
- package/cockroach-core/columns/custom.d.ts +2 -2
- package/cockroach-core/columns/custom.js +4 -4
- package/cockroach-core/columns/custom.js.map +1 -1
- package/cockroach-core/columns/date.cjs +6 -6
- package/cockroach-core/columns/date.cjs.map +1 -1
- package/cockroach-core/columns/date.d.cts +3 -3
- package/cockroach-core/columns/date.d.ts +3 -3
- package/cockroach-core/columns/date.js +6 -6
- package/cockroach-core/columns/date.js.map +1 -1
- package/cockroach-core/columns/decimal.cjs +4 -4
- package/cockroach-core/columns/decimal.cjs.map +1 -1
- package/cockroach-core/columns/decimal.d.cts +2 -2
- package/cockroach-core/columns/decimal.d.ts +2 -2
- package/cockroach-core/columns/decimal.js +4 -4
- package/cockroach-core/columns/decimal.js.map +1 -1
- package/cockroach-core/columns/float.cjs +2 -2
- package/cockroach-core/columns/float.cjs.map +1 -1
- package/cockroach-core/columns/float.d.cts +1 -1
- package/cockroach-core/columns/float.d.ts +1 -1
- package/cockroach-core/columns/float.js +2 -2
- package/cockroach-core/columns/float.js.map +1 -1
- package/cockroach-core/columns/geometry.cjs +8 -8
- package/cockroach-core/columns/geometry.cjs.map +1 -1
- package/cockroach-core/columns/geometry.d.cts +5 -5
- package/cockroach-core/columns/geometry.d.ts +5 -5
- package/cockroach-core/columns/geometry.js +8 -8
- package/cockroach-core/columns/geometry.js.map +1 -1
- package/cockroach-core/columns/integer.cjs +2 -2
- package/cockroach-core/columns/integer.cjs.map +1 -1
- package/cockroach-core/columns/integer.d.cts +1 -1
- package/cockroach-core/columns/integer.d.ts +1 -1
- package/cockroach-core/columns/integer.js +2 -2
- package/cockroach-core/columns/integer.js.map +1 -1
- package/cockroach-core/columns/jsonb.cjs +4 -4
- package/cockroach-core/columns/jsonb.cjs.map +1 -1
- package/cockroach-core/columns/jsonb.d.cts +2 -2
- package/cockroach-core/columns/jsonb.d.ts +2 -2
- package/cockroach-core/columns/jsonb.js +4 -4
- package/cockroach-core/columns/jsonb.js.map +1 -1
- package/cockroach-core/columns/vector.cjs +4 -4
- package/cockroach-core/columns/vector.cjs.map +1 -1
- package/cockroach-core/columns/vector.d.cts +2 -2
- package/cockroach-core/columns/vector.d.ts +2 -2
- package/cockroach-core/columns/vector.js +4 -4
- package/cockroach-core/columns/vector.js.map +1 -1
- package/cockroach-core/db.cjs +1 -1
- package/cockroach-core/db.cjs.map +1 -1
- package/cockroach-core/db.js +1 -1
- package/cockroach-core/db.js.map +1 -1
- package/cockroach-core/dialect.cjs +1 -1
- package/cockroach-core/dialect.d.ts +1 -1
- package/cockroach-core/dialect.js +1 -1
- package/cockroach-core/query-builders/delete.cjs +6 -2
- package/cockroach-core/query-builders/delete.cjs.map +1 -1
- package/cockroach-core/query-builders/delete.d.cts +1 -1
- package/cockroach-core/query-builders/delete.d.ts +1 -1
- package/cockroach-core/query-builders/delete.js +6 -2
- package/cockroach-core/query-builders/delete.js.map +1 -1
- package/cockroach-core/query-builders/insert.cjs +6 -2
- package/cockroach-core/query-builders/insert.cjs.map +1 -1
- package/cockroach-core/query-builders/insert.js +6 -2
- package/cockroach-core/query-builders/insert.js.map +1 -1
- package/cockroach-core/query-builders/query.cjs +2 -2
- package/cockroach-core/query-builders/query.cjs.map +1 -1
- package/cockroach-core/query-builders/query.js +2 -2
- package/cockroach-core/query-builders/query.js.map +1 -1
- package/cockroach-core/query-builders/raw.cjs +0 -4
- package/cockroach-core/query-builders/raw.cjs.map +1 -1
- package/cockroach-core/query-builders/raw.js +0 -4
- package/cockroach-core/query-builders/raw.js.map +1 -1
- package/cockroach-core/query-builders/refresh-materialized-view.cjs +2 -2
- package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/cockroach-core/query-builders/refresh-materialized-view.js +2 -2
- package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/cockroach-core/query-builders/select.cjs +6 -2
- package/cockroach-core/query-builders/select.cjs.map +1 -1
- package/cockroach-core/query-builders/select.js +6 -2
- package/cockroach-core/query-builders/select.js.map +1 -1
- package/cockroach-core/query-builders/update.cjs +6 -2
- package/cockroach-core/query-builders/update.cjs.map +1 -1
- package/cockroach-core/query-builders/update.js +6 -2
- package/cockroach-core/query-builders/update.js.map +1 -1
- package/cockroach-core/session.cjs +2 -2
- package/cockroach-core/session.cjs.map +1 -1
- package/cockroach-core/session.d.cts +1 -1
- package/cockroach-core/session.d.ts +1 -1
- package/cockroach-core/session.js +2 -2
- package/cockroach-core/session.js.map +1 -1
- package/cockroach-core/table.cjs +1 -1
- package/cockroach-core/table.cjs.map +1 -1
- package/cockroach-core/table.js +1 -1
- package/cockroach-core/table.js.map +1 -1
- package/codecs.cjs +77 -0
- package/codecs.cjs.map +1 -0
- package/codecs.d.cts +68 -0
- package/codecs.d.ts +68 -0
- package/codecs.js +74 -0
- package/codecs.js.map +1 -0
- package/column.cjs +10 -5
- package/column.cjs.map +1 -1
- package/column.d.cts +3 -3
- package/column.d.ts +3 -3
- package/column.js +10 -5
- package/column.js.map +1 -1
- package/d1/driver.cjs +3 -2
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.ts +1 -1
- package/d1/driver.js +3 -2
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +16 -14
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +9 -6
- package/d1/session.d.ts +9 -6
- package/d1/session.js +17 -15
- package/d1/session.js.map +1 -1
- package/durable-sqlite/driver.cjs +5 -2
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.d.ts +1 -1
- package/durable-sqlite/driver.js +5 -2
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/session.cjs +15 -14
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +10 -6
- package/durable-sqlite/session.d.ts +10 -6
- package/durable-sqlite/session.js +16 -15
- package/durable-sqlite/session.js.map +1 -1
- package/effect-postgres/driver.cjs +99 -13
- package/effect-postgres/driver.cjs.map +1 -1
- package/effect-postgres/driver.d.cts +12 -8
- package/effect-postgres/driver.d.ts +12 -8
- package/effect-postgres/driver.js +99 -13
- package/effect-postgres/driver.js.map +1 -1
- package/effect-postgres/index.cjs +1 -1
- package/effect-postgres/index.d.cts +3 -3
- package/effect-postgres/index.d.ts +3 -3
- package/effect-postgres/index.js +3 -3
- package/effect-postgres/migrator.cjs.map +1 -1
- package/effect-postgres/migrator.d.cts +1 -1
- package/effect-postgres/migrator.d.ts +1 -1
- package/effect-postgres/migrator.js.map +1 -1
- package/effect-postgres/session.cjs +12 -71
- package/effect-postgres/session.cjs.map +1 -1
- package/effect-postgres/session.d.cts +14 -31
- package/effect-postgres/session.d.ts +16 -33
- package/effect-postgres/session.js +13 -71
- package/effect-postgres/session.js.map +1 -1
- package/expo-sqlite/driver.cjs +5 -2
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.ts +1 -1
- package/expo-sqlite/driver.js +5 -2
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/session.cjs +15 -14
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +10 -6
- package/expo-sqlite/session.d.ts +10 -6
- package/expo-sqlite/session.js +16 -15
- package/expo-sqlite/session.js.map +1 -1
- package/gel/driver.cjs +4 -2
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +1 -0
- package/gel/driver.d.ts +2 -1
- package/gel/driver.js +4 -2
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +12 -12
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +8 -5
- package/gel/session.d.ts +9 -6
- package/gel/session.js +13 -13
- package/gel/session.js.map +1 -1
- package/gel-core/columns/bigintT.cjs +2 -2
- package/gel-core/columns/bigintT.cjs.map +1 -1
- package/gel-core/columns/bigintT.d.cts +1 -1
- package/gel-core/columns/bigintT.d.ts +1 -1
- package/gel-core/columns/bigintT.js +2 -2
- package/gel-core/columns/bigintT.js.map +1 -1
- package/gel-core/columns/common.cjs +2 -2
- package/gel-core/columns/common.cjs.map +1 -1
- package/gel-core/columns/common.d.cts +1 -1
- package/gel-core/columns/common.d.ts +1 -1
- package/gel-core/columns/common.js +2 -2
- package/gel-core/columns/common.js.map +1 -1
- package/gel-core/columns/custom.cjs +4 -4
- package/gel-core/columns/custom.cjs.map +1 -1
- package/gel-core/columns/custom.d.cts +2 -2
- package/gel-core/columns/custom.d.ts +2 -2
- package/gel-core/columns/custom.js +4 -4
- package/gel-core/columns/custom.js.map +1 -1
- package/gel-core/columns/double-precision.cjs +2 -2
- package/gel-core/columns/double-precision.cjs.map +1 -1
- package/gel-core/columns/double-precision.d.cts +1 -1
- package/gel-core/columns/double-precision.d.ts +1 -1
- package/gel-core/columns/double-precision.js +2 -2
- package/gel-core/columns/double-precision.js.map +1 -1
- package/gel-core/columns/timestamptz.cjs +2 -2
- package/gel-core/columns/timestamptz.cjs.map +1 -1
- package/gel-core/columns/timestamptz.d.cts +1 -1
- package/gel-core/columns/timestamptz.d.ts +1 -1
- package/gel-core/columns/timestamptz.js +2 -2
- package/gel-core/columns/timestamptz.js.map +1 -1
- package/gel-core/db.cjs +1 -1
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.ts +1 -1
- package/gel-core/db.js +1 -1
- package/gel-core/db.js.map +1 -1
- package/gel-core/query-builders/_query.cjs +2 -2
- package/gel-core/query-builders/_query.cjs.map +1 -1
- package/gel-core/query-builders/_query.js +2 -2
- package/gel-core/query-builders/_query.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +2 -2
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +2 -2
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +2 -2
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +2 -2
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/query.cjs +13 -5
- package/gel-core/query-builders/query.cjs.map +1 -1
- package/gel-core/query-builders/query.d.ts +1 -1
- package/gel-core/query-builders/query.js +14 -6
- package/gel-core/query-builders/query.js.map +1 -1
- package/gel-core/query-builders/raw.cjs +0 -4
- package/gel-core/query-builders/raw.cjs.map +1 -1
- package/gel-core/query-builders/raw.js +0 -4
- package/gel-core/query-builders/raw.js.map +1 -1
- package/gel-core/query-builders/refresh-materialized-view.cjs +2 -2
- package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/gel-core/query-builders/refresh-materialized-view.js +2 -2
- package/gel-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/gel-core/query-builders/select.cjs +6 -2
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.js +6 -2
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/update.cjs +2 -2
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +2 -2
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +2 -2
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +3 -3
- package/gel-core/session.d.ts +3 -3
- package/gel-core/session.js +2 -2
- package/gel-core/session.js.map +1 -1
- package/gel-core/table.cjs +1 -1
- package/gel-core/table.cjs.map +1 -1
- package/gel-core/table.js +1 -1
- package/gel-core/table.js.map +1 -1
- package/index.cjs +6 -0
- package/index.d.cts +6 -6
- package/index.d.ts +6 -6
- package/index.js +4 -4
- package/libsql/driver-core.cjs +3 -2
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.d.ts +1 -1
- package/libsql/driver-core.js +3 -2
- package/libsql/driver-core.js.map +1 -1
- package/libsql/session.cjs +13 -14
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +9 -6
- package/libsql/session.d.ts +9 -6
- package/libsql/session.js +14 -15
- package/libsql/session.js.map +1 -1
- package/mssql-core/columns/bigint.cjs +2 -2
- package/mssql-core/columns/bigint.cjs.map +1 -1
- package/mssql-core/columns/bigint.d.cts +1 -1
- package/mssql-core/columns/bigint.d.ts +1 -1
- package/mssql-core/columns/bigint.js +2 -2
- package/mssql-core/columns/bigint.js.map +1 -1
- package/mssql-core/columns/custom.cjs +4 -4
- package/mssql-core/columns/custom.cjs.map +1 -1
- package/mssql-core/columns/custom.d.cts +2 -2
- package/mssql-core/columns/custom.d.ts +2 -2
- package/mssql-core/columns/custom.js +4 -4
- package/mssql-core/columns/custom.js.map +1 -1
- package/mssql-core/columns/date.cjs +4 -4
- package/mssql-core/columns/date.cjs.map +1 -1
- package/mssql-core/columns/date.d.cts +2 -2
- package/mssql-core/columns/date.d.ts +2 -2
- package/mssql-core/columns/date.js +4 -4
- package/mssql-core/columns/date.js.map +1 -1
- package/mssql-core/columns/datetime.cjs +2 -2
- package/mssql-core/columns/datetime.cjs.map +1 -1
- package/mssql-core/columns/datetime.d.cts +1 -1
- package/mssql-core/columns/datetime.d.ts +1 -1
- package/mssql-core/columns/datetime.js +2 -2
- package/mssql-core/columns/datetime.js.map +1 -1
- package/mssql-core/columns/datetime2.cjs +2 -2
- package/mssql-core/columns/datetime2.cjs.map +1 -1
- package/mssql-core/columns/datetime2.d.cts +1 -1
- package/mssql-core/columns/datetime2.d.ts +1 -1
- package/mssql-core/columns/datetime2.js +2 -2
- package/mssql-core/columns/datetime2.js.map +1 -1
- package/mssql-core/columns/datetimeoffset.cjs +2 -2
- package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
- package/mssql-core/columns/datetimeoffset.d.cts +1 -1
- package/mssql-core/columns/datetimeoffset.d.ts +1 -1
- package/mssql-core/columns/datetimeoffset.js +2 -2
- package/mssql-core/columns/datetimeoffset.js.map +1 -1
- package/mssql-core/columns/decimal.cjs +4 -4
- package/mssql-core/columns/decimal.cjs.map +1 -1
- package/mssql-core/columns/decimal.d.cts +2 -2
- package/mssql-core/columns/decimal.d.ts +2 -2
- package/mssql-core/columns/decimal.js +4 -4
- package/mssql-core/columns/decimal.js.map +1 -1
- package/mssql-core/columns/numeric.cjs +4 -4
- package/mssql-core/columns/numeric.cjs.map +1 -1
- package/mssql-core/columns/numeric.d.cts +2 -2
- package/mssql-core/columns/numeric.d.ts +2 -2
- package/mssql-core/columns/numeric.js +4 -4
- package/mssql-core/columns/numeric.js.map +1 -1
- package/mssql-core/columns/smallint.cjs +2 -2
- package/mssql-core/columns/smallint.cjs.map +1 -1
- package/mssql-core/columns/smallint.d.cts +1 -1
- package/mssql-core/columns/smallint.d.ts +1 -1
- package/mssql-core/columns/smallint.js +2 -2
- package/mssql-core/columns/smallint.js.map +1 -1
- package/mssql-core/columns/time.cjs +2 -2
- package/mssql-core/columns/time.cjs.map +1 -1
- package/mssql-core/columns/time.d.cts +1 -1
- package/mssql-core/columns/time.d.ts +1 -1
- package/mssql-core/columns/time.js +2 -2
- package/mssql-core/columns/time.js.map +1 -1
- package/mssql-core/columns/tinyint.cjs +2 -2
- package/mssql-core/columns/tinyint.cjs.map +1 -1
- package/mssql-core/columns/tinyint.d.cts +1 -1
- package/mssql-core/columns/tinyint.d.ts +1 -1
- package/mssql-core/columns/tinyint.js +2 -2
- package/mssql-core/columns/tinyint.js.map +1 -1
- package/mssql-core/columns/varchar.cjs +4 -4
- package/mssql-core/columns/varchar.cjs.map +1 -1
- package/mssql-core/columns/varchar.d.cts +2 -2
- package/mssql-core/columns/varchar.d.ts +2 -2
- package/mssql-core/columns/varchar.js +4 -4
- package/mssql-core/columns/varchar.js.map +1 -1
- package/mssql-core/dialect.cjs +1 -1
- package/mssql-core/dialect.d.ts +1 -1
- package/mssql-core/dialect.js +1 -1
- package/mssql-core/query-builders/select.cjs +4 -0
- package/mssql-core/query-builders/select.cjs.map +1 -1
- package/mssql-core/query-builders/select.js +4 -0
- package/mssql-core/query-builders/select.js.map +1 -1
- package/mssql-core/query-builders/update.d.ts +1 -1
- package/mssql-core/table.cjs +1 -1
- package/mssql-core/table.cjs.map +1 -1
- package/mssql-core/table.js +1 -1
- package/mssql-core/table.js.map +1 -1
- package/mysql-core/columns/bigint.cjs +8 -8
- package/mysql-core/columns/bigint.cjs.map +1 -1
- package/mysql-core/columns/bigint.d.cts +4 -4
- package/mysql-core/columns/bigint.d.ts +4 -4
- package/mysql-core/columns/bigint.js +8 -8
- package/mysql-core/columns/bigint.js.map +1 -1
- package/mysql-core/columns/binary.cjs +2 -2
- package/mysql-core/columns/binary.cjs.map +1 -1
- package/mysql-core/columns/binary.d.cts +1 -1
- package/mysql-core/columns/binary.d.ts +1 -1
- package/mysql-core/columns/binary.js +2 -2
- package/mysql-core/columns/binary.js.map +1 -1
- package/mysql-core/columns/blob.cjs +4 -4
- package/mysql-core/columns/blob.cjs.map +1 -1
- package/mysql-core/columns/blob.d.cts +2 -2
- package/mysql-core/columns/blob.d.ts +2 -2
- package/mysql-core/columns/blob.js +4 -4
- package/mysql-core/columns/blob.js.map +1 -1
- package/mysql-core/columns/boolean.cjs +2 -2
- package/mysql-core/columns/boolean.cjs.map +1 -1
- package/mysql-core/columns/boolean.d.cts +1 -1
- package/mysql-core/columns/boolean.d.ts +1 -1
- package/mysql-core/columns/boolean.js +2 -2
- package/mysql-core/columns/boolean.js.map +1 -1
- package/mysql-core/columns/custom.cjs +4 -4
- package/mysql-core/columns/custom.cjs.map +1 -1
- package/mysql-core/columns/custom.d.cts +2 -2
- package/mysql-core/columns/custom.d.ts +2 -2
- package/mysql-core/columns/custom.js +4 -4
- package/mysql-core/columns/custom.js.map +1 -1
- package/mysql-core/columns/date.cjs +4 -4
- package/mysql-core/columns/date.cjs.map +1 -1
- package/mysql-core/columns/date.d.cts +2 -2
- package/mysql-core/columns/date.d.ts +2 -2
- package/mysql-core/columns/date.js +4 -4
- package/mysql-core/columns/date.js.map +1 -1
- package/mysql-core/columns/datetime.cjs +8 -8
- package/mysql-core/columns/datetime.cjs.map +1 -1
- package/mysql-core/columns/datetime.d.cts +4 -4
- package/mysql-core/columns/datetime.d.ts +4 -4
- package/mysql-core/columns/datetime.js +8 -8
- package/mysql-core/columns/datetime.js.map +1 -1
- package/mysql-core/columns/decimal.cjs +4 -4
- package/mysql-core/columns/decimal.cjs.map +1 -1
- package/mysql-core/columns/decimal.d.cts +2 -2
- package/mysql-core/columns/decimal.d.ts +2 -2
- package/mysql-core/columns/decimal.js +4 -4
- package/mysql-core/columns/decimal.js.map +1 -1
- package/mysql-core/columns/float.cjs +2 -2
- package/mysql-core/columns/float.cjs.map +1 -1
- package/mysql-core/columns/float.d.cts +1 -1
- package/mysql-core/columns/float.d.ts +1 -1
- package/mysql-core/columns/float.js +2 -2
- package/mysql-core/columns/float.js.map +1 -1
- package/mysql-core/columns/int.cjs +2 -2
- package/mysql-core/columns/int.cjs.map +1 -1
- package/mysql-core/columns/int.d.cts +1 -1
- package/mysql-core/columns/int.d.ts +1 -1
- package/mysql-core/columns/int.js +2 -2
- package/mysql-core/columns/int.js.map +1 -1
- package/mysql-core/columns/json.cjs +2 -2
- package/mysql-core/columns/json.cjs.map +1 -1
- package/mysql-core/columns/json.d.cts +1 -1
- package/mysql-core/columns/json.d.ts +1 -1
- package/mysql-core/columns/json.js +2 -2
- package/mysql-core/columns/json.js.map +1 -1
- package/mysql-core/columns/mediumint.cjs +2 -2
- package/mysql-core/columns/mediumint.cjs.map +1 -1
- package/mysql-core/columns/mediumint.d.cts +1 -1
- package/mysql-core/columns/mediumint.d.ts +1 -1
- package/mysql-core/columns/mediumint.js +2 -2
- package/mysql-core/columns/mediumint.js.map +1 -1
- package/mysql-core/columns/serial.cjs +2 -2
- package/mysql-core/columns/serial.cjs.map +1 -1
- package/mysql-core/columns/serial.d.cts +1 -1
- package/mysql-core/columns/serial.d.ts +1 -1
- package/mysql-core/columns/serial.js +2 -2
- package/mysql-core/columns/serial.js.map +1 -1
- package/mysql-core/columns/smallint.cjs +2 -2
- package/mysql-core/columns/smallint.cjs.map +1 -1
- package/mysql-core/columns/smallint.d.cts +1 -1
- package/mysql-core/columns/smallint.d.ts +1 -1
- package/mysql-core/columns/smallint.js +2 -2
- package/mysql-core/columns/smallint.js.map +1 -1
- package/mysql-core/columns/time.cjs +2 -2
- package/mysql-core/columns/time.cjs.map +1 -1
- package/mysql-core/columns/time.d.cts +1 -1
- package/mysql-core/columns/time.d.ts +1 -1
- package/mysql-core/columns/time.js +2 -2
- package/mysql-core/columns/time.js.map +1 -1
- package/mysql-core/columns/timestamp.cjs +8 -8
- package/mysql-core/columns/timestamp.cjs.map +1 -1
- package/mysql-core/columns/timestamp.d.cts +4 -4
- package/mysql-core/columns/timestamp.d.ts +4 -4
- package/mysql-core/columns/timestamp.js +8 -8
- package/mysql-core/columns/timestamp.js.map +1 -1
- package/mysql-core/columns/tinyint.cjs +2 -2
- package/mysql-core/columns/tinyint.cjs.map +1 -1
- package/mysql-core/columns/tinyint.d.cts +1 -1
- package/mysql-core/columns/tinyint.d.ts +1 -1
- package/mysql-core/columns/tinyint.js +2 -2
- package/mysql-core/columns/tinyint.js.map +1 -1
- package/mysql-core/columns/varbinary.cjs +2 -2
- package/mysql-core/columns/varbinary.cjs.map +1 -1
- package/mysql-core/columns/varbinary.d.cts +1 -1
- package/mysql-core/columns/varbinary.d.ts +1 -1
- package/mysql-core/columns/varbinary.js +2 -2
- package/mysql-core/columns/varbinary.js.map +1 -1
- package/mysql-core/columns/year.cjs +2 -2
- package/mysql-core/columns/year.cjs.map +1 -1
- package/mysql-core/columns/year.d.cts +1 -1
- package/mysql-core/columns/year.d.ts +1 -1
- package/mysql-core/columns/year.js +2 -2
- package/mysql-core/columns/year.js.map +1 -1
- package/mysql-core/db.d.ts +1 -1
- package/mysql-core/dialect.cjs +1 -1
- package/mysql-core/dialect.d.ts +1 -1
- package/mysql-core/dialect.js +1 -1
- package/mysql-core/query-builders/query.cjs +13 -5
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.d.ts +1 -1
- package/mysql-core/query-builders/query.js +13 -5
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +4 -0
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.js +4 -0
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/session.cjs +1 -2
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +3 -4
- package/mysql-core/session.d.ts +3 -4
- package/mysql-core/session.js +1 -2
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/table.cjs +1 -1
- package/mysql-core/table.cjs.map +1 -1
- package/mysql-core/table.js +1 -1
- package/mysql-core/table.js.map +1 -1
- package/mysql-proxy/driver.cjs +5 -2
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.js +5 -2
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/session.cjs +25 -18
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +11 -4
- package/mysql-proxy/session.d.ts +12 -5
- package/mysql-proxy/session.js +26 -19
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +3 -2
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +1 -0
- package/mysql2/driver.d.ts +3 -2
- package/mysql2/driver.js +3 -2
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +48 -38
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +11 -4
- package/mysql2/session.d.ts +12 -5
- package/mysql2/session.js +49 -39
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +34 -65
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +15 -19
- package/neon-http/driver.d.ts +16 -20
- package/neon-http/driver.js +34 -64
- package/neon-http/driver.js.map +1 -1
- package/neon-http/index.cjs +2 -4
- package/neon-http/index.d.cts +3 -3
- package/neon-http/index.d.ts +3 -3
- package/neon-http/index.js +3 -3
- package/neon-http/migrator.cjs +1 -1
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.d.cts +1 -1
- package/neon-http/migrator.d.ts +1 -1
- package/neon-http/migrator.js +1 -1
- package/neon-http/migrator.js.map +1 -1
- package/neon-http/session.cjs +27 -116
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +10 -38
- package/neon-http/session.d.ts +10 -38
- package/neon-http/session.js +29 -116
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +14 -32
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +12 -17
- package/neon-serverless/driver.d.ts +13 -18
- package/neon-serverless/driver.js +14 -31
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/index.cjs +2 -3
- package/neon-serverless/index.d.cts +3 -3
- package/neon-serverless/index.d.ts +3 -3
- package/neon-serverless/index.js +3 -3
- package/neon-serverless/migrator.cjs.map +1 -1
- package/neon-serverless/migrator.d.cts +1 -1
- package/neon-serverless/migrator.d.ts +1 -1
- package/neon-serverless/migrator.js.map +1 -1
- package/neon-serverless/session.cjs +32 -108
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +9 -32
- package/neon-serverless/session.d.ts +9 -32
- package/neon-serverless/session.js +34 -109
- package/neon-serverless/session.js.map +1 -1
- package/netlify-db/driver.cjs +36 -43
- package/netlify-db/driver.cjs.map +1 -1
- package/netlify-db/driver.d.cts +29 -29
- package/netlify-db/driver.d.ts +31 -31
- package/netlify-db/driver.js +35 -42
- package/netlify-db/driver.js.map +1 -1
- package/netlify-db/index.cjs +3 -2
- package/netlify-db/index.d.cts +3 -3
- package/netlify-db/index.d.ts +3 -3
- package/netlify-db/index.js +2 -2
- package/netlify-db/migrator.cjs.map +1 -1
- package/netlify-db/migrator.d.cts +1 -1
- package/netlify-db/migrator.d.ts +1 -1
- package/netlify-db/migrator.js.map +1 -1
- package/netlify-db/session.cjs +61 -39
- package/netlify-db/session.cjs.map +1 -1
- package/netlify-db/session.d.cts +22 -23
- package/netlify-db/session.d.ts +23 -24
- package/netlify-db/session.js +63 -41
- package/netlify-db/session.js.map +1 -1
- package/node-mssql/driver.cjs +9 -3
- package/node-mssql/driver.cjs.map +1 -1
- package/node-mssql/driver.d.cts +1 -0
- package/node-mssql/driver.d.ts +2 -1
- package/node-mssql/driver.js +9 -3
- package/node-mssql/driver.js.map +1 -1
- package/node-mssql/session.cjs +6 -4
- package/node-mssql/session.cjs.map +1 -1
- package/node-mssql/session.d.cts +4 -1
- package/node-mssql/session.d.ts +5 -2
- package/node-mssql/session.js +7 -5
- package/node-mssql/session.js.map +1 -1
- package/node-postgres/driver.cjs +15 -18
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +11 -6
- package/node-postgres/driver.d.ts +12 -7
- package/node-postgres/driver.js +15 -18
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/index.cjs +2 -2
- package/node-postgres/index.d.cts +3 -3
- package/node-postgres/index.d.ts +3 -3
- package/node-postgres/index.js +3 -3
- package/node-postgres/migrator.cjs.map +1 -1
- package/node-postgres/migrator.d.cts +1 -1
- package/node-postgres/migrator.d.ts +1 -1
- package/node-postgres/migrator.js.map +1 -1
- package/node-postgres/session.cjs +32 -125
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +10 -30
- package/node-postgres/session.d.ts +9 -29
- package/node-postgres/session.js +34 -126
- package/node-postgres/session.js.map +1 -1
- package/node-sqlite/driver.cjs +1 -1
- package/node-sqlite/driver.d.ts +1 -1
- package/node-sqlite/driver.js +1 -1
- package/node-sqlite/session.cjs +4 -9
- package/node-sqlite/session.cjs.map +1 -1
- package/node-sqlite/session.d.cts +3 -4
- package/node-sqlite/session.d.ts +4 -5
- package/node-sqlite/session.js +4 -9
- package/node-sqlite/session.js.map +1 -1
- package/op-sqlite/driver.cjs +3 -2
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.ts +1 -1
- package/op-sqlite/driver.js +3 -2
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +17 -15
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +10 -6
- package/op-sqlite/session.d.ts +10 -6
- package/op-sqlite/session.js +18 -16
- package/op-sqlite/session.js.map +1 -1
- package/operations.d.cts +3 -0
- package/operations.d.ts +3 -0
- package/package.json +43 -31
- package/pg-core/{utils/array.cjs → array.cjs} +1 -1
- package/pg-core/array.cjs.map +1 -0
- package/pg-core/{utils/array.d.cts → array.d.cts} +1 -1
- package/pg-core/{utils/array.d.ts → array.d.ts} +1 -1
- package/pg-core/{utils/array.js → array.js} +1 -1
- package/pg-core/array.js.map +1 -0
- package/pg-core/async/count.cjs +2 -9
- package/pg-core/async/count.cjs.map +1 -1
- package/pg-core/async/count.js +2 -9
- package/pg-core/async/count.js.map +1 -1
- package/pg-core/async/db.cjs +8 -28
- package/pg-core/async/db.cjs.map +1 -1
- package/pg-core/async/db.d.cts +5 -13
- package/pg-core/async/db.d.ts +6 -14
- package/pg-core/async/db.js +8 -28
- package/pg-core/async/db.js.map +1 -1
- package/pg-core/async/delete.cjs +7 -12
- package/pg-core/async/delete.cjs.map +1 -1
- package/pg-core/async/delete.js +7 -12
- package/pg-core/async/delete.js.map +1 -1
- package/pg-core/async/insert.cjs +7 -12
- package/pg-core/async/insert.cjs.map +1 -1
- package/pg-core/async/insert.js +7 -12
- package/pg-core/async/insert.js.map +1 -1
- package/pg-core/async/query.cjs +8 -14
- package/pg-core/async/query.cjs.map +1 -1
- package/pg-core/async/query.js +8 -14
- package/pg-core/async/query.js.map +1 -1
- package/pg-core/async/refresh-materialized-view.cjs +1 -9
- package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/async/refresh-materialized-view.js +1 -9
- package/pg-core/async/refresh-materialized-view.js.map +1 -1
- package/pg-core/async/select.cjs +4 -13
- package/pg-core/async/select.cjs.map +1 -1
- package/pg-core/async/select.js +4 -13
- package/pg-core/async/select.js.map +1 -1
- package/pg-core/async/session.cjs +44 -20
- package/pg-core/async/session.cjs.map +1 -1
- package/pg-core/async/session.d.cts +25 -31
- package/pg-core/async/session.d.ts +26 -32
- package/pg-core/async/session.js +45 -21
- package/pg-core/async/session.js.map +1 -1
- package/pg-core/async/update.cjs +11 -15
- package/pg-core/async/update.cjs.map +1 -1
- package/pg-core/async/update.js +11 -15
- package/pg-core/async/update.js.map +1 -1
- package/pg-core/codecs.cjs +156 -0
- package/pg-core/codecs.cjs.map +1 -0
- package/pg-core/codecs.d.cts +27 -0
- package/pg-core/codecs.d.ts +27 -0
- package/pg-core/codecs.js +148 -0
- package/pg-core/codecs.js.map +1 -0
- package/pg-core/columns/bigint.cjs +10 -9
- package/pg-core/columns/bigint.cjs.map +1 -1
- package/pg-core/columns/bigint.d.cts +2 -3
- package/pg-core/columns/bigint.d.ts +2 -3
- package/pg-core/columns/bigint.js +10 -9
- package/pg-core/columns/bigint.js.map +1 -1
- package/pg-core/columns/bigserial.cjs +6 -6
- package/pg-core/columns/bigserial.cjs.map +1 -1
- package/pg-core/columns/bigserial.d.cts +1 -2
- package/pg-core/columns/bigserial.d.ts +1 -2
- package/pg-core/columns/bigserial.js +6 -6
- package/pg-core/columns/bigserial.js.map +1 -1
- package/pg-core/columns/boolean.cjs +2 -0
- package/pg-core/columns/boolean.cjs.map +1 -1
- package/pg-core/columns/boolean.js +2 -0
- package/pg-core/columns/boolean.js.map +1 -1
- package/pg-core/columns/bytea.cjs +2 -8
- package/pg-core/columns/bytea.cjs.map +1 -1
- package/pg-core/columns/bytea.d.cts +0 -1
- package/pg-core/columns/bytea.d.ts +0 -1
- package/pg-core/columns/bytea.js +2 -8
- package/pg-core/columns/bytea.js.map +1 -1
- package/pg-core/columns/char.cjs +2 -0
- package/pg-core/columns/char.cjs.map +1 -1
- package/pg-core/columns/char.js +2 -0
- package/pg-core/columns/char.js.map +1 -1
- package/pg-core/columns/cidr.cjs +2 -0
- package/pg-core/columns/cidr.cjs.map +1 -1
- package/pg-core/columns/cidr.js +2 -0
- package/pg-core/columns/cidr.js.map +1 -1
- package/pg-core/columns/common.cjs +10 -8
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +34 -39
- package/pg-core/columns/common.d.ts +34 -39
- package/pg-core/columns/common.js +10 -8
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/columns/custom.cjs +16 -46
- package/pg-core/columns/custom.cjs.map +1 -1
- package/pg-core/columns/custom.d.cts +17 -8
- package/pg-core/columns/custom.d.ts +17 -8
- package/pg-core/columns/custom.js +16 -46
- package/pg-core/columns/custom.js.map +1 -1
- package/pg-core/columns/date.cjs +11 -12
- package/pg-core/columns/date.cjs.map +1 -1
- package/pg-core/columns/date.d.cts +3 -4
- package/pg-core/columns/date.d.ts +3 -4
- package/pg-core/columns/date.js +11 -12
- package/pg-core/columns/date.js.map +1 -1
- package/pg-core/columns/double-precision.cjs +2 -4
- package/pg-core/columns/double-precision.cjs.map +1 -1
- package/pg-core/columns/double-precision.d.cts +0 -1
- package/pg-core/columns/double-precision.d.ts +0 -1
- package/pg-core/columns/double-precision.js +2 -4
- package/pg-core/columns/double-precision.js.map +1 -1
- package/pg-core/columns/enum.cjs +4 -0
- package/pg-core/columns/enum.cjs.map +1 -1
- package/pg-core/columns/enum.js +4 -0
- package/pg-core/columns/enum.js.map +1 -1
- package/pg-core/columns/index.d.cts +2 -2
- package/pg-core/columns/index.d.ts +2 -2
- package/pg-core/columns/inet.cjs +2 -0
- package/pg-core/columns/inet.cjs.map +1 -1
- package/pg-core/columns/inet.js +2 -0
- package/pg-core/columns/inet.js.map +1 -1
- package/pg-core/columns/integer.cjs +2 -4
- package/pg-core/columns/integer.cjs.map +1 -1
- package/pg-core/columns/integer.d.cts +0 -1
- package/pg-core/columns/integer.d.ts +0 -1
- package/pg-core/columns/integer.js +2 -4
- package/pg-core/columns/integer.js.map +1 -1
- package/pg-core/columns/interval.cjs +2 -0
- package/pg-core/columns/interval.cjs.map +1 -1
- package/pg-core/columns/interval.js +2 -0
- package/pg-core/columns/interval.js.map +1 -1
- package/pg-core/columns/json.cjs +2 -11
- package/pg-core/columns/json.cjs.map +1 -1
- package/pg-core/columns/json.d.cts +0 -2
- package/pg-core/columns/json.d.ts +0 -2
- package/pg-core/columns/json.js +2 -11
- package/pg-core/columns/json.js.map +1 -1
- package/pg-core/columns/jsonb.cjs +2 -11
- package/pg-core/columns/jsonb.cjs.map +1 -1
- package/pg-core/columns/jsonb.d.cts +0 -2
- package/pg-core/columns/jsonb.d.ts +0 -2
- package/pg-core/columns/jsonb.js +2 -11
- package/pg-core/columns/jsonb.js.map +1 -1
- package/pg-core/columns/line.cjs +12 -8
- package/pg-core/columns/line.cjs.map +1 -1
- package/pg-core/columns/line.d.cts +5 -5
- package/pg-core/columns/line.d.ts +5 -5
- package/pg-core/columns/line.js +12 -8
- package/pg-core/columns/line.js.map +1 -1
- package/pg-core/columns/macaddr.cjs +2 -0
- package/pg-core/columns/macaddr.cjs.map +1 -1
- package/pg-core/columns/macaddr.js +2 -0
- package/pg-core/columns/macaddr.js.map +1 -1
- package/pg-core/columns/macaddr8.cjs +2 -0
- package/pg-core/columns/macaddr8.cjs.map +1 -1
- package/pg-core/columns/macaddr8.js +2 -0
- package/pg-core/columns/macaddr8.js.map +1 -1
- package/pg-core/columns/numeric.cjs +12 -15
- package/pg-core/columns/numeric.cjs.map +1 -1
- package/pg-core/columns/numeric.d.cts +4 -5
- package/pg-core/columns/numeric.d.ts +4 -5
- package/pg-core/columns/numeric.js +12 -15
- package/pg-core/columns/numeric.js.map +1 -1
- package/pg-core/columns/point.cjs +19 -21
- package/pg-core/columns/point.cjs.map +1 -1
- package/pg-core/columns/point.d.cts +5 -11
- package/pg-core/columns/point.d.ts +5 -11
- package/pg-core/columns/point.js +19 -21
- package/pg-core/columns/point.js.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.cjs +12 -9
- package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.d.cts +5 -5
- package/pg-core/columns/postgis_extension/geometry.d.ts +5 -5
- package/pg-core/columns/postgis_extension/geometry.js +12 -9
- package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
- package/pg-core/columns/real.cjs +2 -4
- package/pg-core/columns/real.cjs.map +1 -1
- package/pg-core/columns/real.d.cts +0 -1
- package/pg-core/columns/real.d.ts +0 -1
- package/pg-core/columns/real.js +2 -4
- package/pg-core/columns/real.js.map +1 -1
- package/pg-core/columns/serial.cjs +2 -0
- package/pg-core/columns/serial.cjs.map +1 -1
- package/pg-core/columns/serial.js +2 -0
- package/pg-core/columns/serial.js.map +1 -1
- package/pg-core/columns/smallint.cjs +2 -4
- package/pg-core/columns/smallint.cjs.map +1 -1
- package/pg-core/columns/smallint.d.cts +0 -1
- package/pg-core/columns/smallint.d.ts +0 -1
- package/pg-core/columns/smallint.js +2 -4
- package/pg-core/columns/smallint.js.map +1 -1
- package/pg-core/columns/smallserial.cjs +2 -0
- package/pg-core/columns/smallserial.cjs.map +1 -1
- package/pg-core/columns/smallserial.js +2 -0
- package/pg-core/columns/smallserial.js.map +1 -1
- package/pg-core/columns/text.cjs +2 -0
- package/pg-core/columns/text.cjs.map +1 -1
- package/pg-core/columns/text.js +2 -0
- package/pg-core/columns/text.js.map +1 -1
- package/pg-core/columns/time.cjs +2 -0
- package/pg-core/columns/time.cjs.map +1 -1
- package/pg-core/columns/time.js +2 -0
- package/pg-core/columns/time.js.map +1 -1
- package/pg-core/columns/timestamp.cjs +13 -14
- package/pg-core/columns/timestamp.cjs.map +1 -1
- package/pg-core/columns/timestamp.d.cts +3 -4
- package/pg-core/columns/timestamp.d.ts +3 -4
- package/pg-core/columns/timestamp.js +13 -14
- package/pg-core/columns/timestamp.js.map +1 -1
- package/pg-core/columns/uuid.cjs +2 -0
- package/pg-core/columns/uuid.cjs.map +1 -1
- package/pg-core/columns/uuid.js +2 -0
- package/pg-core/columns/uuid.js.map +1 -1
- package/pg-core/columns/varchar.cjs +2 -0
- package/pg-core/columns/varchar.cjs.map +1 -1
- package/pg-core/columns/varchar.js +2 -0
- package/pg-core/columns/varchar.js.map +1 -1
- package/pg-core/columns/vector_extension/bit.cjs +2 -0
- package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
- package/pg-core/columns/vector_extension/bit.js +2 -0
- package/pg-core/columns/vector_extension/bit.js.map +1 -1
- package/pg-core/columns/vector_extension/halfvec.cjs +6 -4
- package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
- package/pg-core/columns/vector_extension/halfvec.d.cts +2 -2
- package/pg-core/columns/vector_extension/halfvec.d.ts +2 -2
- package/pg-core/columns/vector_extension/halfvec.js +6 -4
- package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
- package/pg-core/columns/vector_extension/sparsevec.cjs +2 -0
- package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
- package/pg-core/columns/vector_extension/sparsevec.js +2 -0
- package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
- package/pg-core/columns/vector_extension/vector.cjs +6 -4
- package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
- package/pg-core/columns/vector_extension/vector.d.cts +2 -2
- package/pg-core/columns/vector_extension/vector.d.ts +2 -2
- package/pg-core/columns/vector_extension/vector.js +6 -4
- package/pg-core/columns/vector_extension/vector.js.map +1 -1
- package/pg-core/dialect.cjs +73 -226
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +27 -34
- package/pg-core/dialect.d.ts +27 -34
- package/pg-core/dialect.js +78 -230
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/effect/count.cjs +1 -1
- package/pg-core/effect/count.cjs.map +1 -1
- package/pg-core/effect/count.d.cts +2 -2
- package/pg-core/effect/count.d.ts +2 -2
- package/pg-core/effect/count.js +1 -1
- package/pg-core/effect/count.js.map +1 -1
- package/pg-core/effect/db.cjs +9 -18
- package/pg-core/effect/db.cjs.map +1 -1
- package/pg-core/effect/db.d.cts +7 -11
- package/pg-core/effect/db.d.ts +6 -10
- package/pg-core/effect/db.js +9 -18
- package/pg-core/effect/db.js.map +1 -1
- package/pg-core/effect/delete.cjs +7 -5
- package/pg-core/effect/delete.cjs.map +1 -1
- package/pg-core/effect/delete.d.cts +1 -1
- package/pg-core/effect/delete.d.ts +1 -1
- package/pg-core/effect/delete.js +7 -5
- package/pg-core/effect/delete.js.map +1 -1
- package/pg-core/effect/insert.cjs +7 -5
- package/pg-core/effect/insert.cjs.map +1 -1
- package/pg-core/effect/insert.d.cts +1 -1
- package/pg-core/effect/insert.d.ts +1 -1
- package/pg-core/effect/insert.js +7 -5
- package/pg-core/effect/insert.js.map +1 -1
- package/pg-core/effect/query.cjs +7 -6
- package/pg-core/effect/query.cjs.map +1 -1
- package/pg-core/effect/query.d.cts +1 -1
- package/pg-core/effect/query.d.ts +1 -1
- package/pg-core/effect/query.js +7 -6
- package/pg-core/effect/query.js.map +1 -1
- package/pg-core/effect/refresh-materialized-view.cjs +1 -2
- package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/effect/refresh-materialized-view.d.cts +1 -1
- package/pg-core/effect/refresh-materialized-view.d.ts +1 -1
- package/pg-core/effect/refresh-materialized-view.js +1 -2
- package/pg-core/effect/refresh-materialized-view.js.map +1 -1
- package/pg-core/effect/select.cjs +3 -5
- package/pg-core/effect/select.cjs.map +1 -1
- package/pg-core/effect/select.d.cts +1 -1
- package/pg-core/effect/select.d.ts +1 -1
- package/pg-core/effect/select.js +3 -5
- package/pg-core/effect/select.js.map +1 -1
- package/pg-core/effect/session.cjs +28 -17
- package/pg-core/effect/session.cjs.map +1 -1
- package/pg-core/effect/session.d.cts +24 -28
- package/pg-core/effect/session.d.ts +25 -29
- package/pg-core/effect/session.js +29 -18
- package/pg-core/effect/session.js.map +1 -1
- package/pg-core/effect/update.cjs +8 -8
- package/pg-core/effect/update.cjs.map +1 -1
- package/pg-core/effect/update.d.cts +1 -1
- package/pg-core/effect/update.d.ts +1 -1
- package/pg-core/effect/update.js +8 -8
- package/pg-core/effect/update.js.map +1 -1
- package/pg-core/index.cjs +4 -4
- package/pg-core/index.d.cts +4 -4
- package/pg-core/index.d.ts +4 -4
- package/pg-core/index.js +1 -1
- package/pg-core/query-builders/delete.cjs +6 -2
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +2 -0
- package/pg-core/query-builders/delete.d.ts +2 -0
- package/pg-core/query-builders/delete.js +6 -2
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +7 -2
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +2 -0
- package/pg-core/query-builders/insert.d.ts +2 -0
- package/pg-core/query-builders/insert.js +7 -2
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query-builder.cjs +2 -1
- package/pg-core/query-builders/query-builder.cjs.map +1 -1
- package/pg-core/query-builders/query-builder.js +2 -1
- package/pg-core/query-builders/query-builder.js.map +1 -1
- package/pg-core/query-builders/query.cjs +0 -1
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +2 -1
- package/pg-core/query-builders/query.d.ts +2 -1
- package/pg-core/query-builders/query.js +0 -1
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/raw.cjs +0 -4
- package/pg-core/query-builders/raw.cjs.map +1 -1
- package/pg-core/query-builders/raw.js +0 -4
- package/pg-core/query-builders/raw.js.map +1 -1
- package/pg-core/query-builders/select.cjs +6 -2
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +1 -0
- package/pg-core/query-builders/select.d.ts +1 -0
- package/pg-core/query-builders/select.js +6 -2
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/select.types.d.cts +1 -0
- package/pg-core/query-builders/select.types.d.ts +1 -0
- package/pg-core/query-builders/update.cjs +6 -2
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +2 -0
- package/pg-core/query-builders/update.d.ts +2 -0
- package/pg-core/query-builders/update.js +6 -2
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +3 -5
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +4 -7
- package/pg-core/session.d.ts +4 -7
- package/pg-core/session.js +3 -5
- package/pg-core/session.js.map +1 -1
- package/pg-core/table.cjs +1 -1
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.js +1 -1
- package/pg-core/table.js.map +1 -1
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +7 -1
- package/pg-core/utils.d.ts +7 -1
- package/pg-core/utils.js.map +1 -1
- package/pg-core/view.cjs +2 -2
- package/pg-core/view.cjs.map +1 -1
- package/pg-core/view.js +2 -2
- package/pg-core/view.js.map +1 -1
- package/pg-proxy/driver.cjs +10 -15
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +6 -3
- package/pg-proxy/driver.d.ts +6 -3
- package/pg-proxy/driver.js +10 -14
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/index.cjs +0 -2
- package/pg-proxy/index.d.cts +2 -2
- package/pg-proxy/index.d.ts +2 -2
- package/pg-proxy/index.js +2 -2
- package/pg-proxy/migrator.cjs.map +1 -1
- package/pg-proxy/migrator.d.cts +1 -1
- package/pg-proxy/migrator.d.ts +1 -1
- package/pg-proxy/migrator.js.map +1 -1
- package/pg-proxy/session.cjs +8 -84
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +9 -32
- package/pg-proxy/session.d.ts +9 -32
- package/pg-proxy/session.js +10 -84
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +71 -33
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +12 -17
- package/pglite/driver.d.ts +13 -18
- package/pglite/driver.js +71 -32
- package/pglite/driver.js.map +1 -1
- package/pglite/index.cjs +2 -3
- package/pglite/index.d.cts +3 -3
- package/pglite/index.d.ts +3 -3
- package/pglite/index.js +3 -3
- package/pglite/migrator.cjs.map +1 -1
- package/pglite/migrator.d.cts +1 -1
- package/pglite/migrator.d.ts +1 -1
- package/pglite/migrator.js.map +1 -1
- package/pglite/session.cjs +24 -85
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +9 -30
- package/pglite/session.d.ts +9 -30
- package/pglite/session.js +26 -86
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +3 -2
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -0
- package/planetscale-serverless/driver.d.ts +1 -0
- package/planetscale-serverless/driver.js +3 -2
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +26 -19
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +12 -6
- package/planetscale-serverless/session.d.ts +13 -7
- package/planetscale-serverless/session.js +27 -20
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +124 -19
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +10 -6
- package/postgres-js/driver.d.ts +10 -6
- package/postgres-js/driver.js +124 -19
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/index.cjs +2 -2
- package/postgres-js/index.d.cts +3 -3
- package/postgres-js/index.d.ts +3 -3
- package/postgres-js/index.js +3 -3
- package/postgres-js/migrator.cjs.map +1 -1
- package/postgres-js/migrator.d.cts +1 -1
- package/postgres-js/migrator.d.ts +1 -1
- package/postgres-js/migrator.js.map +1 -1
- package/postgres-js/session.cjs +16 -111
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +10 -31
- package/postgres-js/session.d.ts +9 -30
- package/postgres-js/session.js +17 -111
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/session.cjs +2 -1
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.d.cts +1 -0
- package/prisma/mysql/session.d.ts +2 -1
- package/prisma/mysql/session.js +2 -1
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/driver.cjs +9 -3
- package/prisma/pg/driver.cjs.map +1 -1
- package/prisma/pg/driver.d.cts +7 -3
- package/prisma/pg/driver.d.ts +7 -3
- package/prisma/pg/driver.js +9 -4
- package/prisma/pg/driver.js.map +1 -1
- package/prisma/pg/index.cjs +2 -2
- package/prisma/pg/index.d.cts +3 -3
- package/prisma/pg/index.d.ts +3 -3
- package/prisma/pg/index.js +3 -3
- package/prisma/pg/session.cjs +1 -25
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.d.cts +3 -15
- package/prisma/pg/session.d.ts +2 -14
- package/prisma/pg/session.js +2 -25
- package/prisma/pg/session.js.map +1 -1
- package/prisma/sqlite/session.cjs +0 -3
- package/prisma/sqlite/session.cjs.map +1 -1
- package/prisma/sqlite/session.d.cts +0 -1
- package/prisma/sqlite/session.d.ts +1 -2
- package/prisma/sqlite/session.js +0 -3
- package/prisma/sqlite/session.js.map +1 -1
- package/query-builders/query-builder.cjs +4 -0
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.js +4 -0
- package/query-builders/query-builder.js.map +1 -1
- package/relations.cjs +84 -23
- package/relations.cjs.map +1 -1
- package/relations.d.cts +41 -16
- package/relations.d.ts +41 -16
- package/relations.js +83 -24
- package/relations.js.map +1 -1
- package/row-mappers/index.cjs +1 -1
- package/row-mappers/index.cjs.map +1 -1
- package/row-mappers/index.js +1 -1
- package/row-mappers/index.js.map +1 -1
- package/singlestore/driver.cjs +4 -2
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +2 -1
- package/singlestore/driver.d.ts +3 -2
- package/singlestore/driver.js +4 -2
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +16 -6
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +8 -4
- package/singlestore/session.d.ts +8 -4
- package/singlestore/session.js +17 -7
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/columns/bigint.cjs +4 -4
- package/singlestore-core/columns/bigint.cjs.map +1 -1
- package/singlestore-core/columns/bigint.d.cts +2 -2
- package/singlestore-core/columns/bigint.d.ts +2 -2
- package/singlestore-core/columns/bigint.js +4 -4
- package/singlestore-core/columns/bigint.js.map +1 -1
- package/singlestore-core/columns/binary.cjs +2 -2
- package/singlestore-core/columns/binary.cjs.map +1 -1
- package/singlestore-core/columns/binary.d.cts +1 -1
- package/singlestore-core/columns/binary.d.ts +1 -1
- package/singlestore-core/columns/binary.js +2 -2
- package/singlestore-core/columns/binary.js.map +1 -1
- package/singlestore-core/columns/boolean.cjs +2 -2
- package/singlestore-core/columns/boolean.cjs.map +1 -1
- package/singlestore-core/columns/boolean.d.cts +1 -1
- package/singlestore-core/columns/boolean.d.ts +1 -1
- package/singlestore-core/columns/boolean.js +2 -2
- package/singlestore-core/columns/boolean.js.map +1 -1
- package/singlestore-core/columns/custom.cjs +4 -4
- package/singlestore-core/columns/custom.cjs.map +1 -1
- package/singlestore-core/columns/custom.d.cts +2 -2
- package/singlestore-core/columns/custom.d.ts +2 -2
- package/singlestore-core/columns/custom.js +4 -4
- package/singlestore-core/columns/custom.js.map +1 -1
- package/singlestore-core/columns/date.cjs +2 -2
- package/singlestore-core/columns/date.cjs.map +1 -1
- package/singlestore-core/columns/date.d.cts +1 -1
- package/singlestore-core/columns/date.d.ts +1 -1
- package/singlestore-core/columns/date.js +2 -2
- package/singlestore-core/columns/date.js.map +1 -1
- package/singlestore-core/columns/datetime.cjs +6 -6
- package/singlestore-core/columns/datetime.cjs.map +1 -1
- package/singlestore-core/columns/datetime.d.cts +3 -3
- package/singlestore-core/columns/datetime.d.ts +3 -3
- package/singlestore-core/columns/datetime.js +6 -6
- package/singlestore-core/columns/datetime.js.map +1 -1
- package/singlestore-core/columns/decimal.cjs +4 -4
- package/singlestore-core/columns/decimal.cjs.map +1 -1
- package/singlestore-core/columns/decimal.d.cts +2 -2
- package/singlestore-core/columns/decimal.d.ts +2 -2
- package/singlestore-core/columns/decimal.js +4 -4
- package/singlestore-core/columns/decimal.js.map +1 -1
- package/singlestore-core/columns/float.cjs +2 -2
- package/singlestore-core/columns/float.cjs.map +1 -1
- package/singlestore-core/columns/float.d.cts +1 -1
- package/singlestore-core/columns/float.d.ts +1 -1
- package/singlestore-core/columns/float.js +2 -2
- package/singlestore-core/columns/float.js.map +1 -1
- package/singlestore-core/columns/int.cjs +2 -2
- package/singlestore-core/columns/int.cjs.map +1 -1
- package/singlestore-core/columns/int.d.cts +1 -1
- package/singlestore-core/columns/int.d.ts +1 -1
- package/singlestore-core/columns/int.js +2 -2
- package/singlestore-core/columns/int.js.map +1 -1
- package/singlestore-core/columns/json.cjs +2 -2
- package/singlestore-core/columns/json.cjs.map +1 -1
- package/singlestore-core/columns/json.d.cts +1 -1
- package/singlestore-core/columns/json.d.ts +1 -1
- package/singlestore-core/columns/json.js +2 -2
- package/singlestore-core/columns/json.js.map +1 -1
- package/singlestore-core/columns/mediumint.cjs +2 -2
- package/singlestore-core/columns/mediumint.cjs.map +1 -1
- package/singlestore-core/columns/mediumint.d.cts +1 -1
- package/singlestore-core/columns/mediumint.d.ts +1 -1
- package/singlestore-core/columns/mediumint.js +2 -2
- package/singlestore-core/columns/mediumint.js.map +1 -1
- package/singlestore-core/columns/serial.cjs +2 -2
- package/singlestore-core/columns/serial.cjs.map +1 -1
- package/singlestore-core/columns/serial.d.cts +1 -1
- package/singlestore-core/columns/serial.d.ts +1 -1
- package/singlestore-core/columns/serial.js +2 -2
- package/singlestore-core/columns/serial.js.map +1 -1
- package/singlestore-core/columns/smallint.cjs +2 -2
- package/singlestore-core/columns/smallint.cjs.map +1 -1
- package/singlestore-core/columns/smallint.d.cts +1 -1
- package/singlestore-core/columns/smallint.d.ts +1 -1
- package/singlestore-core/columns/smallint.js +2 -2
- package/singlestore-core/columns/smallint.js.map +1 -1
- package/singlestore-core/columns/timestamp.cjs +6 -6
- package/singlestore-core/columns/timestamp.cjs.map +1 -1
- package/singlestore-core/columns/timestamp.d.cts +3 -3
- package/singlestore-core/columns/timestamp.d.ts +3 -3
- package/singlestore-core/columns/timestamp.js +6 -6
- package/singlestore-core/columns/timestamp.js.map +1 -1
- package/singlestore-core/columns/tinyint.cjs +2 -2
- package/singlestore-core/columns/tinyint.cjs.map +1 -1
- package/singlestore-core/columns/tinyint.d.cts +1 -1
- package/singlestore-core/columns/tinyint.d.ts +1 -1
- package/singlestore-core/columns/tinyint.js +2 -2
- package/singlestore-core/columns/tinyint.js.map +1 -1
- package/singlestore-core/columns/varbinary.cjs +2 -2
- package/singlestore-core/columns/varbinary.cjs.map +1 -1
- package/singlestore-core/columns/varbinary.d.cts +1 -1
- package/singlestore-core/columns/varbinary.d.ts +1 -1
- package/singlestore-core/columns/varbinary.js +2 -2
- package/singlestore-core/columns/varbinary.js.map +1 -1
- package/singlestore-core/columns/vector.cjs +8 -8
- package/singlestore-core/columns/vector.cjs.map +1 -1
- package/singlestore-core/columns/vector.d.cts +4 -4
- package/singlestore-core/columns/vector.d.ts +4 -4
- package/singlestore-core/columns/vector.js +8 -8
- package/singlestore-core/columns/vector.js.map +1 -1
- package/singlestore-core/columns/year.cjs +2 -2
- package/singlestore-core/columns/year.cjs.map +1 -1
- package/singlestore-core/columns/year.d.cts +1 -1
- package/singlestore-core/columns/year.d.ts +1 -1
- package/singlestore-core/columns/year.js +2 -2
- package/singlestore-core/columns/year.js.map +1 -1
- package/singlestore-core/db.d.ts +1 -1
- package/singlestore-core/dialect.cjs +1 -1
- package/singlestore-core/dialect.d.ts +1 -1
- package/singlestore-core/dialect.js +1 -1
- package/singlestore-core/query-builders/query.cjs +13 -5
- package/singlestore-core/query-builders/query.cjs.map +1 -1
- package/singlestore-core/query-builders/query.d.ts +1 -1
- package/singlestore-core/query-builders/query.js +13 -5
- package/singlestore-core/query-builders/query.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +4 -0
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.js +4 -0
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +2 -2
- package/singlestore-core/session.d.ts +2 -2
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/table.cjs +1 -1
- package/singlestore-core/table.cjs.map +1 -1
- package/singlestore-core/table.js +1 -1
- package/singlestore-core/table.js.map +1 -1
- package/singlestore-proxy/driver.cjs +5 -2
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.js +5 -2
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/session.cjs +11 -6
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +9 -4
- package/singlestore-proxy/session.d.ts +9 -4
- package/singlestore-proxy/session.js +12 -7
- package/singlestore-proxy/session.js.map +1 -1
- package/sql/index.cjs +1 -0
- package/sql/index.d.cts +2 -2
- package/sql/index.d.ts +2 -2
- package/sql/index.js +2 -2
- package/sql/sql.cjs +32 -11
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +15 -5
- package/sql/sql.d.ts +15 -5
- package/sql/sql.js +32 -12
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs +5 -2
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.ts +1 -1
- package/sql-js/driver.js +5 -2
- package/sql-js/driver.js.map +1 -1
- package/sql-js/session.cjs +14 -14
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +10 -6
- package/sql-js/session.d.ts +10 -6
- package/sql-js/session.js +15 -15
- package/sql-js/session.js.map +1 -1
- package/sqlite-cloud/driver.cjs +3 -2
- package/sqlite-cloud/driver.cjs.map +1 -1
- package/sqlite-cloud/driver.d.ts +1 -1
- package/sqlite-cloud/driver.js +3 -2
- package/sqlite-cloud/driver.js.map +1 -1
- package/sqlite-cloud/session.cjs +20 -19
- package/sqlite-cloud/session.cjs.map +1 -1
- package/sqlite-cloud/session.d.cts +9 -6
- package/sqlite-cloud/session.d.ts +9 -6
- package/sqlite-cloud/session.js +21 -20
- package/sqlite-cloud/session.js.map +1 -1
- package/sqlite-core/columns/blob.cjs +10 -10
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.d.cts +5 -5
- package/sqlite-core/columns/blob.d.ts +5 -5
- package/sqlite-core/columns/blob.js +10 -10
- package/sqlite-core/columns/blob.js.map +1 -1
- package/sqlite-core/columns/custom.cjs +4 -4
- package/sqlite-core/columns/custom.cjs.map +1 -1
- package/sqlite-core/columns/custom.d.cts +2 -2
- package/sqlite-core/columns/custom.d.ts +2 -2
- package/sqlite-core/columns/custom.js +4 -4
- package/sqlite-core/columns/custom.js.map +1 -1
- package/sqlite-core/columns/integer.cjs +8 -8
- package/sqlite-core/columns/integer.cjs.map +1 -1
- package/sqlite-core/columns/integer.d.cts +4 -4
- package/sqlite-core/columns/integer.d.ts +4 -4
- package/sqlite-core/columns/integer.js +8 -8
- package/sqlite-core/columns/integer.js.map +1 -1
- package/sqlite-core/columns/numeric.cjs +4 -4
- package/sqlite-core/columns/numeric.cjs.map +1 -1
- package/sqlite-core/columns/numeric.d.cts +2 -2
- package/sqlite-core/columns/numeric.d.ts +2 -2
- package/sqlite-core/columns/numeric.js +4 -4
- package/sqlite-core/columns/numeric.js.map +1 -1
- package/sqlite-core/columns/text.cjs +4 -4
- package/sqlite-core/columns/text.cjs.map +1 -1
- package/sqlite-core/columns/text.d.cts +2 -2
- package/sqlite-core/columns/text.d.ts +2 -2
- package/sqlite-core/columns/text.js +4 -4
- package/sqlite-core/columns/text.js.map +1 -1
- package/sqlite-core/db.d.ts +1 -1
- package/sqlite-core/dialect.cjs +2 -2
- package/sqlite-core/dialect.d.ts +1 -1
- package/sqlite-core/dialect.js +2 -2
- package/sqlite-core/query-builders/_query.cjs +1 -1
- package/sqlite-core/query-builders/_query.cjs.map +1 -1
- package/sqlite-core/query-builders/_query.js +1 -1
- package/sqlite-core/query-builders/_query.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +1 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +1 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +1 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +1 -1
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +13 -5
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.d.ts +1 -1
- package/sqlite-core/query-builders/query.js +13 -5
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/raw.cjs +0 -4
- package/sqlite-core/query-builders/raw.cjs.map +1 -1
- package/sqlite-core/query-builders/raw.js +0 -4
- package/sqlite-core/query-builders/raw.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +5 -1
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.js +5 -1
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +1 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +1 -1
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +8 -8
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +5 -5
- package/sqlite-core/session.d.ts +5 -5
- package/sqlite-core/session.js +8 -8
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/table.cjs +1 -1
- package/sqlite-core/table.cjs.map +1 -1
- package/sqlite-core/table.js +1 -1
- package/sqlite-core/table.js.map +1 -1
- package/sqlite-proxy/driver.cjs +3 -2
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.ts +1 -1
- package/sqlite-proxy/driver.js +3 -2
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +19 -16
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +11 -7
- package/sqlite-proxy/session.d.ts +11 -7
- package/sqlite-proxy/session.js +20 -17
- package/sqlite-proxy/session.js.map +1 -1
- package/table.d.cts +1 -1
- package/table.d.ts +1 -1
- package/tidb-serverless/driver.cjs +3 -2
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +1 -0
- package/tidb-serverless/driver.d.ts +1 -0
- package/tidb-serverless/driver.js +3 -2
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +24 -36
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +10 -4
- package/tidb-serverless/session.d.ts +11 -5
- package/tidb-serverless/session.js +25 -37
- package/tidb-serverless/session.js.map +1 -1
- package/tursodatabase/driver-core.cjs +3 -2
- package/tursodatabase/driver-core.cjs.map +1 -1
- package/tursodatabase/driver-core.d.ts +1 -1
- package/tursodatabase/driver-core.js +3 -2
- package/tursodatabase/driver-core.js.map +1 -1
- package/tursodatabase/session.cjs +19 -18
- package/tursodatabase/session.cjs.map +1 -1
- package/tursodatabase/session.d.cts +9 -6
- package/tursodatabase/session.d.ts +9 -6
- package/tursodatabase/session.js +20 -19
- package/tursodatabase/session.js.map +1 -1
- package/up-migrations/effect-pg.cjs +3 -3
- package/up-migrations/effect-pg.cjs.map +1 -1
- package/up-migrations/effect-pg.js +3 -3
- package/up-migrations/effect-pg.js.map +1 -1
- package/up-migrations/pg.cjs +3 -8
- package/up-migrations/pg.cjs.map +1 -1
- package/up-migrations/pg.d.cts +1 -1
- package/up-migrations/pg.d.ts +1 -1
- package/up-migrations/pg.js +3 -8
- package/up-migrations/pg.js.map +1 -1
- package/up-migrations/sqlite.d.ts +2 -2
- package/utils.cjs +128 -6
- package/utils.cjs.map +1 -1
- package/utils.d.cts +10 -3
- package/utils.d.ts +10 -3
- package/utils.js +126 -7
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +14 -32
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +12 -17
- package/vercel-postgres/driver.d.ts +13 -18
- package/vercel-postgres/driver.js +14 -31
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/index.cjs +2 -3
- package/vercel-postgres/index.d.cts +3 -3
- package/vercel-postgres/index.d.ts +3 -3
- package/vercel-postgres/index.js +3 -3
- package/vercel-postgres/migrator.cjs.map +1 -1
- package/vercel-postgres/migrator.d.cts +1 -1
- package/vercel-postgres/migrator.d.ts +1 -1
- package/vercel-postgres/migrator.js.map +1 -1
- package/vercel-postgres/session.cjs +32 -110
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +9 -32
- package/vercel-postgres/session.d.ts +9 -32
- package/vercel-postgres/session.js +34 -111
- package/vercel-postgres/session.js.map +1 -1
- package/xata-http/driver.cjs +91 -31
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +10 -16
- package/xata-http/driver.d.ts +11 -17
- package/xata-http/driver.js +91 -30
- package/xata-http/driver.js.map +1 -1
- package/xata-http/index.cjs +2 -4
- package/xata-http/index.d.cts +3 -3
- package/xata-http/index.d.ts +3 -3
- package/xata-http/index.js +3 -3
- package/xata-http/migrator.cjs +1 -1
- package/xata-http/migrator.cjs.map +1 -1
- package/xata-http/migrator.d.cts +1 -1
- package/xata-http/migrator.d.ts +1 -1
- package/xata-http/migrator.js +1 -1
- package/xata-http/migrator.js.map +1 -1
- package/xata-http/session.cjs +23 -109
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +7 -33
- package/xata-http/session.d.ts +6 -32
- package/xata-http/session.js +25 -109
- package/xata-http/session.js.map +1 -1
- package/pg-core/query-builders/_query.cjs +0 -101
- package/pg-core/query-builders/_query.cjs.map +0 -1
- package/pg-core/query-builders/_query.d.cts +0 -55
- package/pg-core/query-builders/_query.d.ts +0 -55
- package/pg-core/query-builders/_query.js +0 -97
- package/pg-core/query-builders/_query.js.map +0 -1
- package/pg-core/utils/array.cjs.map +0 -1
- package/pg-core/utils/array.js.map +0 -1
- package/pg-core/utils/index.cjs +0 -6
- package/pg-core/utils/index.d.cts +0 -2
- package/pg-core/utils/index.d.ts +0 -2
- package/pg-core/utils/index.js +0 -3
package/d1/session.cjs
CHANGED
|
@@ -5,6 +5,7 @@ let __utils_ts = require("../utils.cjs");
|
|
|
5
5
|
let __sql_sql_ts = require("../sql/sql.cjs");
|
|
6
6
|
let __logger_ts = require("../logger.cjs");
|
|
7
7
|
let __cache_core_index_ts = require("../cache/core/index.cjs");
|
|
8
|
+
let __relations_ts = require("../relations.cjs");
|
|
8
9
|
let __sqlite_core_index_ts = require("../sqlite-core/index.cjs");
|
|
9
10
|
let __sqlite_core_session_ts = require("../sqlite-core/session.cjs");
|
|
10
11
|
|
|
@@ -22,11 +23,11 @@ var SQLiteD1Session = class extends __sqlite_core_session_ts.SQLiteSession {
|
|
|
22
23
|
this.logger = options.logger ?? new __logger_ts.NoopLogger();
|
|
23
24
|
this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
|
|
24
25
|
}
|
|
25
|
-
prepareQuery(query, fields, executeMethod,
|
|
26
|
-
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
26
|
+
prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
|
|
27
|
+
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMapper, customResultMapper);
|
|
27
28
|
}
|
|
28
|
-
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
29
|
-
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod,
|
|
29
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
30
|
+
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
|
|
30
31
|
}
|
|
31
32
|
async batch(queries) {
|
|
32
33
|
const preparedQueries = [];
|
|
@@ -97,16 +98,18 @@ function d1ToRawMapping(results) {
|
|
|
97
98
|
}
|
|
98
99
|
var D1PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
|
|
99
100
|
static [__entity_ts.entityKind] = "D1PreparedQuery";
|
|
101
|
+
jitMapper;
|
|
100
102
|
/** @internal */
|
|
101
103
|
fields;
|
|
102
104
|
/** @internal */
|
|
103
105
|
stmt;
|
|
104
|
-
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
106
|
+
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
|
|
105
107
|
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
106
108
|
this.logger = logger;
|
|
107
|
-
this.
|
|
109
|
+
this.useJitMapper = useJitMapper;
|
|
108
110
|
this.customResultMapper = customResultMapper;
|
|
109
111
|
this.isRqbV2Query = isRqbV2Query;
|
|
112
|
+
this.rqbConfig = rqbConfig;
|
|
110
113
|
this.fields = fields;
|
|
111
114
|
this.stmt = stmt;
|
|
112
115
|
}
|
|
@@ -139,12 +142,13 @@ var D1PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery
|
|
|
139
142
|
mapAllResult(rows, isFromBatch) {
|
|
140
143
|
if (isFromBatch) rows = this.isRqbV2Query ? rows.results : d1ToRawMapping(rows.results);
|
|
141
144
|
if (!this.fields && !this.customResultMapper) return rows;
|
|
145
|
+
if (this.isRqbV2Query) return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : this.customResultMapper(rows);
|
|
142
146
|
if (this.customResultMapper) return this.customResultMapper(rows);
|
|
143
|
-
return rows.map((row) => (0, __utils_ts.mapResultRow)(this.fields, row, this.joinsNotNullableMap));
|
|
147
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(this.fields, this.joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(this.fields, row, this.joinsNotNullableMap));
|
|
144
148
|
}
|
|
145
149
|
async get(placeholderValues) {
|
|
146
150
|
if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
|
|
147
|
-
const { fields,
|
|
151
|
+
const { fields, query, logger, stmt, customResultMapper } = this;
|
|
148
152
|
if (!fields && !customResultMapper) {
|
|
149
153
|
const params = (0, __sql_sql_ts.fillPlaceholders)(query.params, placeholderValues ?? {});
|
|
150
154
|
logger.logQuery(query.sql, params);
|
|
@@ -155,7 +159,7 @@ var D1PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery
|
|
|
155
159
|
const rows = await this.values(placeholderValues);
|
|
156
160
|
if (!rows[0]) return;
|
|
157
161
|
if (customResultMapper) return customResultMapper(rows);
|
|
158
|
-
return
|
|
162
|
+
return this.mapGetResult(rows[0]);
|
|
159
163
|
}
|
|
160
164
|
async getRqbV2(placeholderValues) {
|
|
161
165
|
const { query, logger, stmt, customResultMapper } = this;
|
|
@@ -168,8 +172,10 @@ var D1PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery
|
|
|
168
172
|
mapGetResult(result, isFromBatch) {
|
|
169
173
|
if (isFromBatch) result = this.isRqbV2Query ? result.results[0] : d1ToRawMapping(result.results)[0];
|
|
170
174
|
if (!this.fields && !this.customResultMapper) return result;
|
|
175
|
+
if (!result) return void 0;
|
|
176
|
+
if (this.isRqbV2Query) return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([result]) : this.customResultMapper([result]);
|
|
171
177
|
if (this.customResultMapper) return this.customResultMapper([result]);
|
|
172
|
-
return (0, __utils_ts.mapResultRow)(this.fields, result, this.joinsNotNullableMap);
|
|
178
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(this.fields, this.joinsNotNullableMap))([result])[0] : (0, __utils_ts.mapResultRow)(this.fields, result, this.joinsNotNullableMap);
|
|
173
179
|
}
|
|
174
180
|
async values(placeholderValues) {
|
|
175
181
|
const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues ?? {});
|
|
@@ -178,10 +184,6 @@ var D1PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery
|
|
|
178
184
|
return this.stmt.bind(...params).raw();
|
|
179
185
|
});
|
|
180
186
|
}
|
|
181
|
-
/** @internal */
|
|
182
|
-
isResponseInArrayMode() {
|
|
183
|
-
return this._isResponseInArrayMode;
|
|
184
|
-
}
|
|
185
187
|
};
|
|
186
188
|
|
|
187
189
|
//#endregion
|
package/d1/session.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","NoopCache","sql","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database | D1DatabaseSession,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\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\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => unknown,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema, undefined, undefined, true);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tundefined,\n\t\t\tthis.forbidJsonb,\n\t\t);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\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\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = this.isRqbV2Query ? (rows as D1Result).results : d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = this.isRqbV2Query ? (result as D1Result).results[0] : d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","NoopCache","sql","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database | D1DatabaseSession,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\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\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema, undefined, undefined, true);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tundefined,\n\t\t\tthis.forbidJsonb,\n\t\t);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\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\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = this.isRqbV2Query ? (rows as D1Result).results : d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.isRqbV2Query) {\n\t\t\treturn this.useJitMapper\n\t\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))(rows as Record<string, unknown>[])\n\t\t\t\t: (this.customResultMapper as (\n\t\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t\t) => unknown)(rows as Record<string, unknown>[]);\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(this.fields!, this.joinsNotNullableMap))(rows as unknown[][])\n\t\t\t: (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.mapGetResult(rows[0]);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = this.isRqbV2Query ? (result as D1Result).results[0] : d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (!result) return undefined;\n\n\t\tif (this.isRqbV2Query) {\n\t\t\treturn this.useJitMapper\n\t\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([result as Record<string, unknown>])\n\t\t\t\t: (this.customResultMapper as (\n\t\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t\t) => unknown)([result as Record<string, unknown>]);\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(this.fields!, this.joinsNotNullableMap))(\n\t\t\t\t\t[result as unknown[]],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAoCA,IAAa,kBAAb,cAIUA,uCAAmE;CAC5E,QAA0BC,0BAAsB;CAEhD,AAAQ;CACR,AAAQ;CAER,YACC,AAAQ,QACR,SACA,AAAQ,WACR,AAAQ,QACR,AAAQ,UAAkC,EAAE,EAC3C;AACD,QAAM,QAAQ;EANN;EAEA;EACA;EACA;AAGR,OAAK,SAAS,QAAQ,UAAU,IAAIC,wBAAY;AAChD,OAAK,QAAQ,QAAQ,SAAS,IAAIC,iCAAW;;CAG9C,aACC,OACA,QACA,eACA,oBACA,eAIA,aACkB;AAElB,SAAO,IAAI,gBADE,KAAK,OAAO,QAAQ,MAAM,IAAI,EAG1C,OACA,KAAK,QACL,KAAK,OACL,eACA,aACA,QACA,eACA,KAAK,QAAQ,cACb,mBACA;;CAGF,uBACC,OACA,QACA,eACA,oBACA,QAC6C;AAE7C,SAAO,IAAI,gBADE,KAAK,OAAO,QAAQ,MAAM,IAAI,EAG1C,OACA,KAAK,QACL,KAAK,OACL,QACA,QACA,QACA,eACA,KAAK,QAAQ,cACb,oBACA,MACA,OACA;;CAGF,MAAM,MAAwE,SAAY;EACzF,MAAM,kBAAmC,EAAE;EAC3C,MAAM,eAAsC,EAAE;AAE9C,OAAK,MAAM,SAAS,SAAS;GAC5B,MAAM,gBAAgB,MAAM,UAAU;GACtC,MAAM,aAAa,cAAc,UAAU;AAC3C,mBAAgB,KAAK,cAAc;AACnC,OAAI,WAAW,OAAO,SAAS,EAC9B,cAAa,KAAM,cAAkC,KAAK,KAAK,GAAG,WAAW,OAAO,CAAC;QAC/E;IACN,MAAM,aAAa,cAAc,UAAU;AAC3C,iBAAa,KACZ,KAAK,OAAO,QAAQ,WAAW,IAAI,CAAC,KAAK,GAAG,WAAW,OAAO,CAC9D;;;AAKH,UADqB,MAAM,KAAK,OAAO,MAAW,aAAa,EAC3C,KAAK,QAAQ,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAK,CAAC;;CAGpF,AAAS,kCAAkC,QAA0B;AACpE,SAAQ,OAAoB;;CAG7B,AAAS,kCAAkC,QAA0B;AACpE,SAAQ,OAAoB,QAAQ;;CAGrC,AAAS,qCAAqC,QAA0B;AACvE,SAAO,eAAgB,OAAoB,QAAQ;;CAGpD,MAAe,YACd,aACA,QACa;EACb,MAAM,KAAK,IAAI,cAAc,SAAS,KAAK,SAAS,MAAM,KAAK,WAAW,KAAK,QAAQ,QAAW,QAAW,KAAK;AAClH,QAAM,KAAK,IAAIC,iBAAI,IAAI,QAAQ,QAAQ,WAAW,MAAM,OAAO,WAAW,KAAK,CAAC;AAChF,MAAI;GACH,MAAM,SAAS,MAAM,YAAY,GAAG;AACpC,SAAM,KAAK,IAAI,gBAAG,SAAS;AAC3B,UAAO;WACC,KAAK;AACb,SAAM,KAAK,IAAI,gBAAG,WAAW;AAC7B,SAAM;;;;AAKT,IAAa,gBAAb,MAAa,sBAIHC,yCAAuE;CAChF,QAA0BJ,0BAAsB;CAEhD,MAAe,YACd,aACa;EACb,MAAM,gBAAgB,KAAK,KAAK;EAChC,MAAM,KAAK,IAAI,cACd,SACA,KAAK,SACL,KAAK,SACL,KAAK,WACL,KAAK,QACL,KAAK,cAAc,GACnB,QACA,KAAK,YACL;AACD,QAAM,KAAK,QAAQ,IAAIG,iBAAI,IAAI,aAAa,gBAAgB,CAAC;AAC7D,MAAI;GACH,MAAM,SAAS,MAAM,YAAY,GAAG;AACpC,SAAM,KAAK,QAAQ,IAAIA,iBAAI,IAAI,qBAAqB,gBAAgB,CAAC;AACrE,UAAO;WACC,KAAK;AACb,SAAM,KAAK,QAAQ,IAAIA,iBAAI,IAAI,yBAAyB,gBAAgB,CAAC;AACzE,SAAM;;;;;;;;;;AAWT,SAAS,eAAe,SAAc;CACrC,MAAM,OAAoB,EAAE;AAC5B,MAAK,MAAM,OAAO,SAAS;EAC1B,MAAM,QAAQ,OAAO,KAAK,IAAI,CAAC,KAAK,MAAM,IAAI,GAAG;AACjD,OAAK,KAAK,MAAM;;AAEjB,QAAO;;AAGR,IAAa,kBAAb,cACSE,6CAGT;CACC,QAA0BL,0BAAsB;CAChD,AAAQ;;CAGR;;CAGA;CAEA,YACC,MACA,OACA,AAAQ,QACR,OACA,eAIA,aACA,QACA,eACA,AAAQ,cACR,AAAQ,oBAGR,AAAQ,cACR,AAAQ,WACP;AACD,QAAM,SAAS,eAAe,OAAO,OAAO,eAAe,YAAY;EAhB/D;EASA;EACA;EAGA;EACA;AAGR,OAAK,SAAS;AACd,OAAK,OAAO;;CAGb,MAAM,IAAI,mBAAkE;EAC3E,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;AAC5C,SAAO,MAAM,KAAK,eAAe,KAAK,MAAM,KAAK,QAAQ,YAAY;AACpE,UAAO,KAAK,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK;IACrC;;CAGH,MAAM,IAAI,mBAAgE;AACzE,MAAI,KAAK,aAAc,QAAO,KAAK,SAAS,kBAAkB;EAE9D,MAAM,EAAE,QAAQ,OAAO,QAAQ,MAAM,uBAAuB;AAC5D,MAAI,CAAC,UAAU,CAAC,oBAAoB;GACnC,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,UAAO,SAAS,MAAM,KAAK,OAAO;AAClC,UAAO,MAAM,KAAK,eAAe,MAAM,KAAK,QAAQ,YAAY;AAC/D,WAAO,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,aAAa,QAAS,CAAC;KACnF;;EAGH,MAAM,OAAO,MAAM,KAAK,OAAO,kBAAkB;AAEjD,SAAO,KAAK,aAAa,KAAK;;CAG/B,MAAc,SAAS,mBAAgE;EACtF,MAAM,EAAE,OAAO,QAAQ,MAAM,uBAAuB;EAEpD,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,SAAO,SAAS,MAAM,KAAK,OAAO;AAClC,SAAO,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,cACxC,mBAAoE,QAAS,CAC9E;;CAGF,AAAS,aAAa,MAAe,aAAgC;AACpE,MAAI,YACH,QAAO,KAAK,eAAgB,KAAkB,UAAU,eAAgB,KAAkB,QAAQ;AAGnG,MAAI,CAAC,KAAK,UAAU,CAAC,KAAK,mBACzB,QAAO;AAGR,MAAI,KAAK,aACR,QAAO,KAAK,gBACR,KAAK,YAAY,KAAK,kDACQ,KAAK,UAAW,EAAE,KAAkC,GAClF,KAAK,mBAGM,KAAkC;AAGlD,MAAI,KAAK,mBACR,QAAQ,KAAK,mBAAsD,KAAoB;AAGxF,SAAO,KAAK,gBACR,KAAK,YAAY,KAAK,gDACQ,KAAK,QAAS,KAAK,oBAAoB,EAAE,KAAoB,GAC3F,KAAqB,KAAK,qCAAqB,KAAK,QAAS,KAAK,KAAK,oBAAoB,CAAC;;CAGjG,MAAM,IAAI,mBAAgE;AACzE,MAAI,KAAK,aAAc,QAAO,KAAK,SAAS,kBAAkB;EAE9D,MAAM,EAAE,QAAQ,OAAO,QAAQ,MAAM,uBAAuB;AAC5D,MAAI,CAAC,UAAU,CAAC,oBAAoB;GACnC,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,UAAO,SAAS,MAAM,KAAK,OAAO;AAClC,UAAO,MAAM,KAAK,eAAe,MAAM,KAAK,QAAQ,YAAY;AAC/D,WAAO,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,QAAS,GAAG;KACnE;;EAGH,MAAM,OAAO,MAAM,KAAK,OAAO,kBAAkB;AAEjD,MAAI,CAAC,KAAK,GACT;AAGD,MAAI,mBACH,QAAQ,mBAAsD,KAAK;AAGpE,SAAO,KAAK,aAAa,KAAK,GAAG;;CAGlC,MAAc,SAAS,mBAAgE;EACtF,MAAM,EAAE,OAAO,QAAQ,MAAM,uBAAuB;EAEpD,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,SAAO,SAAS,MAAM,KAAK,OAAO;EAClC,MAAM,EAAE,SAAS,SAAS,MAAM,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK;AAE1D,MAAI,CAAC,KAAK,GACT;AAGD,SAAQ,mBAAoE,KAAK;;CAGlF,AAAS,aAAa,QAAiB,aAAgC;AACtE,MAAI,YACH,UAAS,KAAK,eAAgB,OAAoB,QAAQ,KAAK,eAAgB,OAAoB,QAAQ,CAAC;AAG7G,MAAI,CAAC,KAAK,UAAU,CAAC,KAAK,mBACzB,QAAO;AAGR,MAAI,CAAC,OAAQ,QAAO;AAEpB,MAAI,KAAK,aACR,QAAO,KAAK,gBACR,KAAK,YAAY,KAAK,kDACQ,KAAK,UAAW,EAAE,CAAC,OAAkC,CAAC,GACpF,KAAK,mBAGM,CAAC,OAAkC,CAAC;AAGpD,MAAI,KAAK,mBACR,QAAQ,KAAK,mBAAsD,CAAC,OAAoB,CAAC;AAG1F,SAAO,KAAK,gBACR,KAAK,YAAY,KAAK,gDACU,KAAK,QAAS,KAAK,oBAAoB,EACxE,CAAC,OAAoB,CACrB,CAAC,kCACY,KAAK,QAAS,QAAqB,KAAK,oBAAoB;;CAG7E,MAAM,OAAoC,mBAA2D;EACpG,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;AAC5C,SAAO,MAAM,KAAK,eAAe,KAAK,MAAM,KAAK,QAAQ,YAAY;AACpE,UAAO,KAAK,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK;IACrC"}
|
package/d1/session.d.cts
CHANGED
|
@@ -2,10 +2,10 @@ import { entityKind } from "../entity.cjs";
|
|
|
2
2
|
import { Query } from "../sql/sql.cjs";
|
|
3
3
|
import * as V1 from "../_relations.cjs";
|
|
4
4
|
import { WithCacheConfig } from "../cache/core/types.cjs";
|
|
5
|
-
import { AnyRelations } from "../relations.cjs";
|
|
5
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.cjs";
|
|
6
|
+
import { Logger } from "../logger.cjs";
|
|
6
7
|
import { SQLiteAsyncDialect } from "../sqlite-core/dialect.cjs";
|
|
7
8
|
import { PreparedQueryConfig, SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, SQLiteTransactionConfig } from "../sqlite-core/session.cjs";
|
|
8
|
-
import { Logger } from "../logger.cjs";
|
|
9
9
|
import { Cache } from "../cache/core/index.cjs";
|
|
10
10
|
import { SQLiteTransaction as SQLiteTransaction$1 } from "../sqlite-core/index.cjs";
|
|
11
11
|
import { SelectedFieldsOrdered as SelectedFieldsOrdered$1 } from "../sqlite-core/query-builders/select.types.cjs";
|
|
@@ -15,6 +15,7 @@ import { BatchItem } from "../batch.cjs";
|
|
|
15
15
|
interface SQLiteD1SessionOptions {
|
|
16
16
|
logger?: Logger;
|
|
17
17
|
cache?: Cache;
|
|
18
|
+
useJitMapper?: boolean;
|
|
18
19
|
}
|
|
19
20
|
type PreparedQueryConfig$2 = Omit<PreparedQueryConfig, 'statement' | 'run'>;
|
|
20
21
|
declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TSchema> {
|
|
@@ -26,11 +27,11 @@ declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRela
|
|
|
26
27
|
private logger;
|
|
27
28
|
private cache;
|
|
28
29
|
constructor(client: D1Database | D1DatabaseSession, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
|
|
29
|
-
prepareQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod,
|
|
30
|
+
prepareQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
30
31
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
31
32
|
tables: string[];
|
|
32
33
|
}, cacheConfig?: WithCacheConfig): D1PreparedQuery;
|
|
33
|
-
prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper
|
|
34
|
+
prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): D1PreparedQuery<PreparedQueryConfig$2, true>;
|
|
34
35
|
batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
|
|
35
36
|
extractRawAllValueFromBatchResult(result: unknown): unknown;
|
|
36
37
|
extractRawGetValueFromBatchResult(result: unknown): unknown;
|
|
@@ -50,14 +51,16 @@ declare class D1PreparedQuery<T extends PreparedQueryConfig$2 = PreparedQueryCon
|
|
|
50
51
|
execute: T['execute'];
|
|
51
52
|
}> {
|
|
52
53
|
private logger;
|
|
53
|
-
private
|
|
54
|
+
private useJitMapper;
|
|
54
55
|
private customResultMapper?;
|
|
55
56
|
private isRqbV2Query?;
|
|
57
|
+
private rqbConfig?;
|
|
56
58
|
static readonly [entityKind]: string;
|
|
59
|
+
private jitMapper?;
|
|
57
60
|
constructor(stmt: D1PreparedStatement, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
58
61
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
59
62
|
tables: string[];
|
|
60
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod,
|
|
63
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
61
64
|
run(placeholderValues?: Record<string, unknown>): Promise<D1Response>;
|
|
62
65
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
63
66
|
private allRqbV2;
|
package/d1/session.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
2
|
import { Query } from "../sql/sql.js";
|
|
3
|
-
import * as V1 from "../_relations.js";
|
|
4
3
|
import { Logger } from "../logger.js";
|
|
5
4
|
import { Cache } from "../cache/core/index.js";
|
|
5
|
+
import * as V1 from "../_relations.js";
|
|
6
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.js";
|
|
6
7
|
import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
|
|
7
8
|
import { SQLiteTransaction } from "../sqlite-core/index.js";
|
|
8
9
|
import { PreparedQueryConfig as PreparedQueryConfig$1, SQLiteExecuteMethod as SQLiteExecuteMethod$1, SQLitePreparedQuery as SQLitePreparedQuery$1, SQLiteSession as SQLiteSession$1, SQLiteTransactionConfig as SQLiteTransactionConfig$1 } from "../sqlite-core/session.js";
|
|
9
|
-
import { AnyRelations } from "../relations.js";
|
|
10
10
|
import { WithCacheConfig } from "../cache/core/types.js";
|
|
11
11
|
import { SelectedFieldsOrdered as SelectedFieldsOrdered$1 } from "../sqlite-core/query-builders/select.types.js";
|
|
12
12
|
import { BatchItem } from "../batch.js";
|
|
@@ -15,6 +15,7 @@ import { BatchItem } from "../batch.js";
|
|
|
15
15
|
interface SQLiteD1SessionOptions {
|
|
16
16
|
logger?: Logger;
|
|
17
17
|
cache?: Cache;
|
|
18
|
+
useJitMapper?: boolean;
|
|
18
19
|
}
|
|
19
20
|
type PreparedQueryConfig$2 = Omit<PreparedQueryConfig$1, 'statement' | 'run'>;
|
|
20
21
|
declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession$1<'async', D1Result, TFullSchema, TRelations, TSchema> {
|
|
@@ -26,11 +27,11 @@ declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRela
|
|
|
26
27
|
private logger;
|
|
27
28
|
private cache;
|
|
28
29
|
constructor(client: D1Database | D1DatabaseSession, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
|
|
29
|
-
prepareQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1,
|
|
30
|
+
prepareQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
30
31
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
31
32
|
tables: string[];
|
|
32
33
|
}, cacheConfig?: WithCacheConfig): D1PreparedQuery;
|
|
33
|
-
prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper
|
|
34
|
+
prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): D1PreparedQuery<PreparedQueryConfig$2, true>;
|
|
34
35
|
batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
|
|
35
36
|
extractRawAllValueFromBatchResult(result: unknown): unknown;
|
|
36
37
|
extractRawGetValueFromBatchResult(result: unknown): unknown;
|
|
@@ -50,14 +51,16 @@ declare class D1PreparedQuery<T extends PreparedQueryConfig$2 = PreparedQueryCon
|
|
|
50
51
|
execute: T['execute'];
|
|
51
52
|
}> {
|
|
52
53
|
private logger;
|
|
53
|
-
private
|
|
54
|
+
private useJitMapper;
|
|
54
55
|
private customResultMapper?;
|
|
55
56
|
private isRqbV2Query?;
|
|
57
|
+
private rqbConfig?;
|
|
56
58
|
static readonly [entityKind]: string;
|
|
59
|
+
private jitMapper?;
|
|
57
60
|
constructor(stmt: D1PreparedStatement, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
58
61
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
59
62
|
tables: string[];
|
|
60
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1,
|
|
63
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
61
64
|
run(placeholderValues?: Record<string, unknown>): Promise<D1Response>;
|
|
62
65
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
63
66
|
private allRqbV2;
|
package/d1/session.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
|
-
import { mapResultRow } from "../utils.js";
|
|
2
|
+
import { makeJitQueryMapper, mapResultRow } from "../utils.js";
|
|
3
3
|
import { fillPlaceholders, sql } from "../sql/sql.js";
|
|
4
4
|
import { NoopLogger } from "../logger.js";
|
|
5
5
|
import { NoopCache } from "../cache/core/index.js";
|
|
6
|
+
import { makeJitRqbMapper } from "../relations.js";
|
|
6
7
|
import { SQLiteTransaction } from "../sqlite-core/index.js";
|
|
7
8
|
import { SQLitePreparedQuery as SQLitePreparedQuery$1, SQLiteSession as SQLiteSession$1 } from "../sqlite-core/session.js";
|
|
8
9
|
|
|
@@ -20,11 +21,11 @@ var SQLiteD1Session = class extends SQLiteSession$1 {
|
|
|
20
21
|
this.logger = options.logger ?? new NoopLogger();
|
|
21
22
|
this.cache = options.cache ?? new NoopCache();
|
|
22
23
|
}
|
|
23
|
-
prepareQuery(query, fields, executeMethod,
|
|
24
|
-
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
24
|
+
prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
|
|
25
|
+
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMapper, customResultMapper);
|
|
25
26
|
}
|
|
26
|
-
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
27
|
-
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod,
|
|
27
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
28
|
+
return new D1PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
|
|
28
29
|
}
|
|
29
30
|
async batch(queries) {
|
|
30
31
|
const preparedQueries = [];
|
|
@@ -95,16 +96,18 @@ function d1ToRawMapping(results) {
|
|
|
95
96
|
}
|
|
96
97
|
var D1PreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
97
98
|
static [entityKind] = "D1PreparedQuery";
|
|
99
|
+
jitMapper;
|
|
98
100
|
/** @internal */
|
|
99
101
|
fields;
|
|
100
102
|
/** @internal */
|
|
101
103
|
stmt;
|
|
102
|
-
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
104
|
+
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
|
|
103
105
|
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
104
106
|
this.logger = logger;
|
|
105
|
-
this.
|
|
107
|
+
this.useJitMapper = useJitMapper;
|
|
106
108
|
this.customResultMapper = customResultMapper;
|
|
107
109
|
this.isRqbV2Query = isRqbV2Query;
|
|
110
|
+
this.rqbConfig = rqbConfig;
|
|
108
111
|
this.fields = fields;
|
|
109
112
|
this.stmt = stmt;
|
|
110
113
|
}
|
|
@@ -137,12 +140,13 @@ var D1PreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
137
140
|
mapAllResult(rows, isFromBatch) {
|
|
138
141
|
if (isFromBatch) rows = this.isRqbV2Query ? rows.results : d1ToRawMapping(rows.results);
|
|
139
142
|
if (!this.fields && !this.customResultMapper) return rows;
|
|
143
|
+
if (this.isRqbV2Query) return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows) : this.customResultMapper(rows);
|
|
140
144
|
if (this.customResultMapper) return this.customResultMapper(rows);
|
|
141
|
-
return rows.map((row) => mapResultRow(this.fields, row, this.joinsNotNullableMap));
|
|
145
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(this.fields, this.joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(this.fields, row, this.joinsNotNullableMap));
|
|
142
146
|
}
|
|
143
147
|
async get(placeholderValues) {
|
|
144
148
|
if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
|
|
145
|
-
const { fields,
|
|
149
|
+
const { fields, query, logger, stmt, customResultMapper } = this;
|
|
146
150
|
if (!fields && !customResultMapper) {
|
|
147
151
|
const params = fillPlaceholders(query.params, placeholderValues ?? {});
|
|
148
152
|
logger.logQuery(query.sql, params);
|
|
@@ -153,7 +157,7 @@ var D1PreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
153
157
|
const rows = await this.values(placeholderValues);
|
|
154
158
|
if (!rows[0]) return;
|
|
155
159
|
if (customResultMapper) return customResultMapper(rows);
|
|
156
|
-
return
|
|
160
|
+
return this.mapGetResult(rows[0]);
|
|
157
161
|
}
|
|
158
162
|
async getRqbV2(placeholderValues) {
|
|
159
163
|
const { query, logger, stmt, customResultMapper } = this;
|
|
@@ -166,8 +170,10 @@ var D1PreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
166
170
|
mapGetResult(result, isFromBatch) {
|
|
167
171
|
if (isFromBatch) result = this.isRqbV2Query ? result.results[0] : d1ToRawMapping(result.results)[0];
|
|
168
172
|
if (!this.fields && !this.customResultMapper) return result;
|
|
173
|
+
if (!result) return void 0;
|
|
174
|
+
if (this.isRqbV2Query) return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([result]) : this.customResultMapper([result]);
|
|
169
175
|
if (this.customResultMapper) return this.customResultMapper([result]);
|
|
170
|
-
return mapResultRow(this.fields, result, this.joinsNotNullableMap);
|
|
176
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(this.fields, this.joinsNotNullableMap))([result])[0] : mapResultRow(this.fields, result, this.joinsNotNullableMap);
|
|
171
177
|
}
|
|
172
178
|
async values(placeholderValues) {
|
|
173
179
|
const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
|
|
@@ -176,10 +182,6 @@ var D1PreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
176
182
|
return this.stmt.bind(...params).raw();
|
|
177
183
|
});
|
|
178
184
|
}
|
|
179
|
-
/** @internal */
|
|
180
|
-
isResponseInArrayMode() {
|
|
181
|
-
return this._isResponseInArrayMode;
|
|
182
|
-
}
|
|
183
185
|
};
|
|
184
186
|
|
|
185
187
|
//#endregion
|
package/d1/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","names":["SQLiteSession","SQLitePreparedQuery"],"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database | D1DatabaseSession,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\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\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => unknown,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema, undefined, undefined, true);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tundefined,\n\t\t\tthis.forbidJsonb,\n\t\t);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\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\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = this.isRqbV2Query ? (rows as D1Result).results : d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = this.isRqbV2Query ? (result as D1Result).results[0] : d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","names":["SQLiteSession","SQLitePreparedQuery"],"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database | D1DatabaseSession,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\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\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema, undefined, undefined, true);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tundefined,\n\t\t\tthis.forbidJsonb,\n\t\t);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\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\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = this.isRqbV2Query ? (rows as D1Result).results : d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.isRqbV2Query) {\n\t\t\treturn this.useJitMapper\n\t\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))(rows as Record<string, unknown>[])\n\t\t\t\t: (this.customResultMapper as (\n\t\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t\t) => unknown)(rows as Record<string, unknown>[]);\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(this.fields!, this.joinsNotNullableMap))(rows as unknown[][])\n\t\t\t: (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.mapGetResult(rows[0]);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = this.isRqbV2Query ? (result as D1Result).results[0] : d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (!result) return undefined;\n\n\t\tif (this.isRqbV2Query) {\n\t\t\treturn this.useJitMapper\n\t\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([result as Record<string, unknown>])\n\t\t\t\t: (this.customResultMapper as (\n\t\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t\t) => unknown)([result as Record<string, unknown>]);\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(this.fields!, this.joinsNotNullableMap))(\n\t\t\t\t\t[result as unknown[]],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
3
|
const require_durable_sqlite_session = require('./session.cjs');
|
|
4
4
|
let __entity_ts = require("../entity.cjs");
|
|
5
|
+
let __logger_ts = require("../logger.cjs");
|
|
5
6
|
let ___relations_ts = require("../_relations.cjs");
|
|
6
7
|
___relations_ts = require_runtime.__toESM(___relations_ts);
|
|
7
|
-
let __logger_ts = require("../logger.cjs");
|
|
8
8
|
let __sqlite_core_db_ts = require("../sqlite-core/db.cjs");
|
|
9
9
|
let __sqlite_core_dialect_ts = require("../sqlite-core/dialect.cjs");
|
|
10
10
|
|
|
@@ -27,7 +27,10 @@ function drizzle(client, config = {}) {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
const relations = config.relations ?? {};
|
|
30
|
-
const db = new DrizzleSqliteDODatabase("sync", dialect, new require_durable_sqlite_session.SQLiteDOSession(client, dialect, relations, schema, {
|
|
30
|
+
const db = new DrizzleSqliteDODatabase("sync", dialect, new require_durable_sqlite_session.SQLiteDOSession(client, dialect, relations, schema, {
|
|
31
|
+
logger,
|
|
32
|
+
useJitMapper: config.useJitMappers
|
|
33
|
+
}), relations, schema, false, true);
|
|
31
34
|
db.$client = client;
|
|
32
35
|
return db;
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","SQLiteDOSession"],"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleSqliteDODatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, relations, schema, {
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","SQLiteDOSession"],"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleSqliteDODatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new DrizzleSqliteDODatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tfalse,\n\t\ttrue,\n\t) as DrizzleSqliteDODatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;AAUA,IAAa,0BAAb,cAGUA,uCAAmG;CAC5G,QAA0BC,0BAAsB;;AAUjD,SAAgB,QAKf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,2CAAkB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAChE,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,wBACd,QACA,SANe,IAAIC,+CAAgB,QAAgC,SAAS,WAAW,QAAQ;EAC/F;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,QACA,OACA,KACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
2
|
import { DrizzleConfig } from "../utils.js";
|
|
3
|
-
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
4
3
|
import { AnyRelations, EmptyRelations } from "../relations.js";
|
|
4
|
+
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
5
5
|
|
|
6
6
|
//#region src/durable-sqlite/driver.d.ts
|
|
7
7
|
declare class DrizzleSqliteDODatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema, TRelations> {
|
package/durable-sqlite/driver.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SQLiteDOSession } from "./session.js";
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
|
-
import * as V1 from "../_relations.js";
|
|
4
3
|
import { DefaultLogger } from "../logger.js";
|
|
4
|
+
import * as V1 from "../_relations.js";
|
|
5
5
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
6
6
|
import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
|
|
7
7
|
|
|
@@ -24,7 +24,10 @@ function drizzle(client, config = {}) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
const relations = config.relations ?? {};
|
|
27
|
-
const db = new DrizzleSqliteDODatabase("sync", dialect, new SQLiteDOSession(client, dialect, relations, schema, {
|
|
27
|
+
const db = new DrizzleSqliteDODatabase("sync", dialect, new SQLiteDOSession(client, dialect, relations, schema, {
|
|
28
|
+
logger,
|
|
29
|
+
useJitMapper: config.useJitMappers
|
|
30
|
+
}), relations, schema, false, true);
|
|
28
31
|
db.$client = client;
|
|
29
32
|
return db;
|
|
30
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":[],"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleSqliteDODatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, relations, schema, {
|
|
1
|
+
{"version":3,"file":"driver.js","names":[],"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleSqliteDODatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new DrizzleSqliteDODatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tfalse,\n\t\ttrue,\n\t) as DrizzleSqliteDODatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,0BAAb,cAGU,mBAAmG;CAC5G,QAA0B,cAAsB;;AAUjD,SAAgB,QAKf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,kBAAkB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAChE,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,wBACd,QACA,SANe,IAAI,gBAAgB,QAAgC,SAAS,WAAW,QAAQ;EAC/F;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,QACA,OACA,KACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO"}
|