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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-core.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteAsyncDialect","DefaultLogger","V1","TursoDatabaseSession"],"sources":["../../src/tursodatabase/driver-core.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { TursoDatabaseSession } from './session.ts';\n\nexport type TursoDatabaseRunResult = Awaited<ReturnType<ReturnType<DatabasePromise['prepare']>['run']>>;\n\nexport class TursoDatabaseDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', TursoDatabaseRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: TursoDatabaseSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabasePromise,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TursoDatabaseDatabase<TSchema, TRelations> & {\n\t$client: DatabasePromise;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ 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 TursoDatabaseSession(\n\t\tclient,\n\t\tdialect,\n\t\trelations,\n\t\tschema,\n\t\t{ logger, cache: config.cache },\n\t);\n\tconst db = new TursoDatabaseDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as TursoDatabaseSession<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as TursoDatabaseDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,wBAAb,cAGUA,uCAAyE;CAClF,QAA0BC,0BAAsB;;;AAWjD,SAAgB,UAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACjE,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;CAQxC,MAAM,KAAK,IAAI,sBACd,SACA,SATe,IAAIC,mDACnB,QACA,SACA,WACA,QACA;EAAE;EAAQ,OAAO,OAAO;EAAO,
|
|
1
|
+
{"version":3,"file":"driver-core.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteAsyncDialect","DefaultLogger","V1","TursoDatabaseSession"],"sources":["../../src/tursodatabase/driver-core.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { TursoDatabaseSession } from './session.ts';\n\nexport type TursoDatabaseRunResult = Awaited<ReturnType<ReturnType<DatabasePromise['prepare']>['run']>>;\n\nexport class TursoDatabaseDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', TursoDatabaseRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: TursoDatabaseSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabasePromise,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TursoDatabaseDatabase<TSchema, TRelations> & {\n\t$client: DatabasePromise;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ 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 TursoDatabaseSession(\n\t\tclient,\n\t\tdialect,\n\t\trelations,\n\t\tschema,\n\t\t{ logger, cache: config.cache, useJitMapper: config.useJitMappers },\n\t);\n\tconst db = new TursoDatabaseDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as TursoDatabaseSession<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as TursoDatabaseDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,wBAAb,cAGUA,uCAAyE;CAClF,QAA0BC,0BAAsB;;;AAWjD,SAAgB,UAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACjE,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;CAQxC,MAAM,KAAK,IAAI,sBACd,SACA,SATe,IAAIC,mDACnB,QACA,SACA,WACA,QACA;EAAE;EAAQ,OAAO,OAAO;EAAO,cAAc,OAAO;EAAe,CACnE,EASA,WACA,OACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAEjD,QAAO"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
|
-
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
3
2
|
import { AnyRelations, EmptyRelations } from "../relations.js";
|
|
3
|
+
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
4
4
|
import { DatabasePromise } from "@tursodatabase/database-common";
|
|
5
5
|
|
|
6
6
|
//#region src/tursodatabase/driver-core.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TursoDatabaseSession } 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 { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
|
|
7
7
|
|
|
@@ -27,7 +27,8 @@ function construct(client, config = {}) {
|
|
|
27
27
|
const relations = config.relations ?? {};
|
|
28
28
|
const db = new TursoDatabaseDatabase("async", dialect, new TursoDatabaseSession(client, dialect, relations, schema, {
|
|
29
29
|
logger,
|
|
30
|
-
cache: config.cache
|
|
30
|
+
cache: config.cache,
|
|
31
|
+
useJitMapper: config.useJitMappers
|
|
31
32
|
}), relations, schema);
|
|
32
33
|
db.$client = client;
|
|
33
34
|
db.$cache = config.cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-core.js","names":[],"sources":["../../src/tursodatabase/driver-core.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { TursoDatabaseSession } from './session.ts';\n\nexport type TursoDatabaseRunResult = Awaited<ReturnType<ReturnType<DatabasePromise['prepare']>['run']>>;\n\nexport class TursoDatabaseDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', TursoDatabaseRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: TursoDatabaseSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabasePromise,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TursoDatabaseDatabase<TSchema, TRelations> & {\n\t$client: DatabasePromise;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ 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 TursoDatabaseSession(\n\t\tclient,\n\t\tdialect,\n\t\trelations,\n\t\tschema,\n\t\t{ logger, cache: config.cache },\n\t);\n\tconst db = new TursoDatabaseDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as TursoDatabaseSession<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as TursoDatabaseDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;AAYA,IAAa,wBAAb,cAGU,mBAAyE;CAClF,QAA0B,cAAsB;;;AAWjD,SAAgB,UAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACjE,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;CAQxC,MAAM,KAAK,IAAI,sBACd,SACA,SATe,IAAI,qBACnB,QACA,SACA,WACA,QACA;EAAE;EAAQ,OAAO,OAAO;EAAO,
|
|
1
|
+
{"version":3,"file":"driver-core.js","names":[],"sources":["../../src/tursodatabase/driver-core.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { TursoDatabaseSession } from './session.ts';\n\nexport type TursoDatabaseRunResult = Awaited<ReturnType<ReturnType<DatabasePromise['prepare']>['run']>>;\n\nexport class TursoDatabaseDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', TursoDatabaseRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: TursoDatabaseSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabasePromise,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TursoDatabaseDatabase<TSchema, TRelations> & {\n\t$client: DatabasePromise;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ 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 TursoDatabaseSession(\n\t\tclient,\n\t\tdialect,\n\t\trelations,\n\t\tschema,\n\t\t{ logger, cache: config.cache, useJitMapper: config.useJitMappers },\n\t);\n\tconst db = new TursoDatabaseDatabase(\n\t\t'async',\n\t\tdialect,\n\t\tsession as TursoDatabaseSession<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as TursoDatabaseDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;AAYA,IAAa,wBAAb,cAGU,mBAAyE;CAClF,QAA0B,cAAsB;;;AAWjD,SAAgB,UAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACjE,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;CAQxC,MAAM,KAAK,IAAI,sBACd,SACA,SATe,IAAI,qBACnB,QACA,SACA,WACA,QACA;EAAE;EAAQ,OAAO,OAAO;EAAO,cAAc,OAAO;EAAe,CACnE,EASA,WACA,OACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAEjD,QAAO"}
|
|
@@ -6,6 +6,7 @@ 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
8
|
let __errors_ts = require("../errors.cjs");
|
|
9
|
+
let __relations_ts = require("../relations.cjs");
|
|
9
10
|
let __sqlite_core_index_ts = require("../sqlite-core/index.cjs");
|
|
10
11
|
let __sqlite_core_session_ts = require("../sqlite-core/session.cjs");
|
|
11
12
|
|
|
@@ -23,11 +24,11 @@ var TursoDatabaseSession = class TursoDatabaseSession extends __sqlite_core_sess
|
|
|
23
24
|
this.logger = options.logger ?? new __logger_ts.NoopLogger();
|
|
24
25
|
this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
|
|
25
26
|
}
|
|
26
|
-
prepareQuery(query, fields, executeMethod,
|
|
27
|
-
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
27
|
+
prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
|
|
28
|
+
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMapper, customResultMapper);
|
|
28
29
|
}
|
|
29
|
-
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
30
|
-
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod,
|
|
30
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
31
|
+
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
|
|
31
32
|
}
|
|
32
33
|
async transaction(transaction, _config, tx) {
|
|
33
34
|
const session = new TursoDatabaseSession(this.client, this.dialect, this.relations, this.schema, this.options);
|
|
@@ -37,7 +38,7 @@ var TursoDatabaseSession = class TursoDatabaseSession extends __sqlite_core_sess
|
|
|
37
38
|
async run(query) {
|
|
38
39
|
const staticQuery = this.dialect.sqlToQuery(query);
|
|
39
40
|
try {
|
|
40
|
-
return await this.prepareOneTimeQuery(staticQuery, void 0, "run"
|
|
41
|
+
return await this.prepareOneTimeQuery(staticQuery, void 0, "run").run();
|
|
41
42
|
} catch (err) {
|
|
42
43
|
throw new __errors_ts.DrizzleError({
|
|
43
44
|
cause: err,
|
|
@@ -46,13 +47,13 @@ var TursoDatabaseSession = class TursoDatabaseSession extends __sqlite_core_sess
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
async all(query) {
|
|
49
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
50
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").all();
|
|
50
51
|
}
|
|
51
52
|
async get(query) {
|
|
52
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
53
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").get();
|
|
53
54
|
}
|
|
54
55
|
async values(query) {
|
|
55
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
56
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").values();
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
59
|
var TursoDatabaseTransaction = class extends __sqlite_core_index_ts.SQLiteTransaction {
|
|
@@ -63,14 +64,16 @@ var TursoDatabaseTransaction = class extends __sqlite_core_index_ts.SQLiteTransa
|
|
|
63
64
|
};
|
|
64
65
|
var TursoDatabasePreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
|
|
65
66
|
static [__entity_ts.entityKind] = "TursoDatabasePreparedQuery";
|
|
66
|
-
|
|
67
|
+
jitMapper;
|
|
68
|
+
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
|
|
67
69
|
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
68
70
|
this.stmt = stmt;
|
|
69
71
|
this.logger = logger;
|
|
70
72
|
this.fields = fields;
|
|
71
|
-
this.
|
|
73
|
+
this.useJitMapper = useJitMapper;
|
|
72
74
|
this.customResultMapper = customResultMapper;
|
|
73
75
|
this.isRqbV2Query = isRqbV2Query;
|
|
76
|
+
this.rqbConfig = rqbConfig;
|
|
74
77
|
}
|
|
75
78
|
async run(placeholderValues) {
|
|
76
79
|
const { stmt, query, logger } = this;
|
|
@@ -90,13 +93,15 @@ var TursoDatabasePreparedQuery = class extends __sqlite_core_session_ts.SQLitePr
|
|
|
90
93
|
return await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
|
-
|
|
96
|
+
const rows = await this.values(placeholderValues);
|
|
97
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
|
|
94
98
|
}
|
|
95
99
|
async allRqbV2(placeholderValues) {
|
|
96
100
|
const { logger, query, customResultMapper, stmt } = this;
|
|
97
101
|
const params = (0, __sql_sql_ts.fillPlaceholders)(query.params, placeholderValues ?? {});
|
|
98
102
|
logger.logQuery(query.sql, params);
|
|
99
|
-
|
|
103
|
+
const rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());
|
|
104
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
|
|
100
105
|
}
|
|
101
106
|
async get(placeholderValues) {
|
|
102
107
|
if (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);
|
|
@@ -112,7 +117,7 @@ var TursoDatabasePreparedQuery = class extends __sqlite_core_session_ts.SQLitePr
|
|
|
112
117
|
return await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());
|
|
113
118
|
});
|
|
114
119
|
if (row === void 0) return row;
|
|
115
|
-
return (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
|
|
120
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
|
|
116
121
|
}
|
|
117
122
|
async getRqbV2(placeholderValues) {
|
|
118
123
|
const { logger, query, stmt, customResultMapper } = this;
|
|
@@ -120,7 +125,7 @@ var TursoDatabasePreparedQuery = class extends __sqlite_core_session_ts.SQLitePr
|
|
|
120
125
|
logger.logQuery(query.sql, params);
|
|
121
126
|
const row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());
|
|
122
127
|
if (row === void 0) return row;
|
|
123
|
-
return customResultMapper([row]);
|
|
128
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([row]);
|
|
124
129
|
}
|
|
125
130
|
async values(placeholderValues) {
|
|
126
131
|
const { logger, stmt, query } = this;
|
|
@@ -130,10 +135,6 @@ var TursoDatabasePreparedQuery = class extends __sqlite_core_session_ts.SQLitePr
|
|
|
130
135
|
return await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());
|
|
131
136
|
});
|
|
132
137
|
}
|
|
133
|
-
/** @internal */
|
|
134
|
-
isResponseInArrayMode() {
|
|
135
|
-
return this._isResponseInArrayMode;
|
|
136
|
-
}
|
|
137
138
|
};
|
|
138
139
|
|
|
139
140
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","NoopCache","DrizzleError","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/tursodatabase/session.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type 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\tResult,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\nimport type { TursoDatabaseRunResult } from './driver-core.ts';\n\nexport interface TursoDatabaseSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class TursoDatabaseSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: DatabasePromise,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TursoDatabaseSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): TursoDatabasePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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\toverride async transaction<T>(\n\t\ttransaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t\ttx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>,\n\t): Promise<T> {\n\t\tconst session = new TursoDatabaseSession<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst localTx = tx ?? new TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\n\t\tconst clientTx = this.client.transaction(async () => await transaction(localTx));\n\n\t\tconst result = await clientTx();\n\t\treturn result;\n\t}\n\n\toverride async run(query: SQL): Result<'async', TursoDatabaseRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn await this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result<\n\t\t\t\t'async',\n\t\t\t\tTursoDatabaseRunResult\n\t\t\t>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\toverride async all<T = unknown>(query: SQL): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n\n\toverride async get<T = unknown>(query: SQL): Result<'async', T> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\t'async',\n\t\t\tT\n\t\t>;\n\t}\n\n\toverride async values<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n}\n\nexport class TursoDatabaseTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\t// Not supported by driver\n\t\tthrow new Error('Nested transactions are not supported');\n\n\t\t// const savepointName = `sp${this.nestedIndex}`;\n\n\t\t// const tx = new TursoDatabaseTransaction(\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// );\n\n\t\t// await this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await (<TursoDatabaseSession<TFullSchema, TRelations, TSchema>> (this.session)).transaction(\n\t\t// \t\ttransaction,\n\t\t// \t\tundefined,\n\t\t// \t\ttx,\n\t\t// \t);\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\nexport class TursoDatabasePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{\n\t\ttype: 'async';\n\t\trun: TursoDatabaseRunResult;\n\t\tall: T['all'];\n\t\tget: T['get'];\n\t\tvalues: T['values'];\n\t\texecute: T['execute'];\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabasePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: ReturnType<DatabasePromise['prepare']>,\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\t/** @internal */ public fields: 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\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult> {\n\t\tconst { stmt, query, logger } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.run(...params) : stmt.run());\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return await this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, customResultMapper, joinsNotNullableMap, stmt } = 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 await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { logger, query, customResultMapper, stmt } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)(rows as Record<string, unknown>[]) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, stmt, customResultMapper, joinsNotNullableMap } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\t\t\t});\n\t\t}\n\n\t\tconst row = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());\n\t\t});\n\n\t\tif (row === undefined) return row;\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>) {\n\t\tconst { logger, query, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\n\t\tif (row === undefined) return row;\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)([row] as Record<string, unknown>[]) as T['get'];\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst { logger, stmt, query } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());\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","DrizzleError","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/tursodatabase/session.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 { fillPlaceholders, type Query, type 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\tResult,\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';\nimport type { TursoDatabaseRunResult } from './driver-core.ts';\n\nexport interface TursoDatabaseSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class TursoDatabaseSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: DatabasePromise,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TursoDatabaseSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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\toverride async transaction<T>(\n\t\ttransaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t\ttx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>,\n\t): Promise<T> {\n\t\tconst session = new TursoDatabaseSession<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst localTx = tx ?? new TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\n\t\tconst clientTx = this.client.transaction(async () => await transaction(localTx));\n\n\t\tconst result = await clientTx();\n\t\treturn result;\n\t}\n\n\toverride async run(query: SQL): Result<'async', TursoDatabaseRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn await this.prepareOneTimeQuery(staticQuery, undefined, 'run').run() as Result<\n\t\t\t\t'async',\n\t\t\t\tTursoDatabaseRunResult\n\t\t\t>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\toverride async all<T = unknown>(query: SQL): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').all() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n\n\toverride async get<T = unknown>(query: SQL): Result<'async', T> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').get() as Result<\n\t\t\t'async',\n\t\t\tT\n\t\t>;\n\t}\n\n\toverride async values<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').values() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n}\n\nexport class TursoDatabaseTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\t// Not supported by driver\n\t\tthrow new Error('Nested transactions are not supported');\n\n\t\t// const savepointName = `sp${this.nestedIndex}`;\n\n\t\t// const tx = new TursoDatabaseTransaction(\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// );\n\n\t\t// await this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await (<TursoDatabaseSession<TFullSchema, TRelations, TSchema>> (this.session)).transaction(\n\t\t// \t\ttransaction,\n\t\t// \t\tundefined,\n\t\t// \t\ttx,\n\t\t// \t);\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\nexport class TursoDatabasePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{\n\t\ttype: 'async';\n\t\trun: TursoDatabaseRunResult;\n\t\tall: T['all'];\n\t\tget: T['get'];\n\t\tvalues: T['values'];\n\t\texecute: T['execute'];\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabasePreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: ReturnType<DatabasePromise['prepare']>,\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\t/** @internal */ public fields: 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\tmapColumnValue?: (value: 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}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult> {\n\t\tconst { stmt, query, logger } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.run(...params) : stmt.run());\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return await this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, customResultMapper, joinsNotNullableMap, stmt } = 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 await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\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']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { logger, query, customResultMapper, stmt } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (\n\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows as Record<string, unknown>[]) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, stmt, customResultMapper, joinsNotNullableMap } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\t\t\t});\n\t\t}\n\n\t\tconst row = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());\n\t\t});\n\n\t\tif (row === undefined) return row;\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'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>) {\n\t\tconst { logger, query, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\n\t\tif (row === undefined) return row;\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (\n\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)([row] as Record<string, unknown>[]) as T['get'];\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst { logger, stmt, query } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ import { entityKind } from "../entity.cjs";
|
|
|
3
3
|
import { Query, SQL } from "../sql/sql.cjs";
|
|
4
4
|
import * as V1 from "../_relations.cjs";
|
|
5
5
|
import { WithCacheConfig } from "../cache/core/types.cjs";
|
|
6
|
-
import { AnyRelations } from "../relations.cjs";
|
|
6
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.cjs";
|
|
7
|
+
import { Logger } from "../logger.cjs";
|
|
7
8
|
import { SQLiteAsyncDialect } from "../sqlite-core/dialect.cjs";
|
|
8
9
|
import { PreparedQueryConfig, Result, SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, SQLiteTransactionConfig } from "../sqlite-core/session.cjs";
|
|
9
|
-
import { Logger } from "../logger.cjs";
|
|
10
10
|
import { Cache } from "../cache/core/index.cjs";
|
|
11
11
|
import { SQLiteTransaction as SQLiteTransaction$1 } from "../sqlite-core/index.cjs";
|
|
12
12
|
import { SelectedFieldsOrdered as SelectedFieldsOrdered$1 } from "../sqlite-core/query-builders/select.types.cjs";
|
|
@@ -16,6 +16,7 @@ import { DatabasePromise } from "@tursodatabase/database-common";
|
|
|
16
16
|
interface TursoDatabaseSessionOptions {
|
|
17
17
|
logger?: Logger;
|
|
18
18
|
cache?: Cache;
|
|
19
|
+
useJitMapper?: boolean;
|
|
19
20
|
}
|
|
20
21
|
type PreparedQueryConfig$2 = Omit<PreparedQueryConfig, 'statement' | 'run'>;
|
|
21
22
|
declare class TursoDatabaseSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {
|
|
@@ -27,11 +28,11 @@ declare class TursoDatabaseSession<TFullSchema extends Record<string, unknown>,
|
|
|
27
28
|
private logger;
|
|
28
29
|
private cache;
|
|
29
30
|
constructor(client: DatabasePromise, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options: TursoDatabaseSessionOptions);
|
|
30
|
-
prepareQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod,
|
|
31
|
+
prepareQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
31
32
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
32
33
|
tables: string[];
|
|
33
34
|
}, cacheConfig?: WithCacheConfig): TursoDatabasePreparedQuery<T>;
|
|
34
|
-
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): TursoDatabasePreparedQuery<T, true>;
|
|
35
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): TursoDatabasePreparedQuery<T, true>;
|
|
35
36
|
transaction<T>(transaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>, _config?: SQLiteTransactionConfig, tx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>): Promise<T>;
|
|
36
37
|
run(query: SQL): Result<'async', TursoDatabaseRunResult>;
|
|
37
38
|
all<T = unknown>(query: SQL): Result<'async', T[]>;
|
|
@@ -52,16 +53,18 @@ declare class TursoDatabasePreparedQuery<T extends PreparedQueryConfig$2 = Prepa
|
|
|
52
53
|
}> {
|
|
53
54
|
private stmt;
|
|
54
55
|
private logger;
|
|
55
|
-
private
|
|
56
|
+
private useJitMapper;
|
|
56
57
|
private customResultMapper?;
|
|
57
58
|
private isRqbV2Query?;
|
|
59
|
+
private rqbConfig?;
|
|
58
60
|
static readonly [entityKind]: string;
|
|
61
|
+
private jitMapper?;
|
|
59
62
|
constructor(stmt: ReturnType<DatabasePromise['prepare']>, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
60
63
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
61
64
|
tables: string[];
|
|
62
65
|
} | undefined, cacheConfig: WithCacheConfig | undefined, /** @internal */
|
|
63
66
|
|
|
64
|
-
fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod,
|
|
67
|
+
fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
65
68
|
run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult>;
|
|
66
69
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
67
70
|
private allRqbV2;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { TursoDatabaseRunResult } from "./driver-core.js";
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
3
|
import { Query, SQL } from "../sql/sql.js";
|
|
4
|
-
import * as V1 from "../_relations.js";
|
|
5
4
|
import { Logger } from "../logger.js";
|
|
6
5
|
import { Cache } from "../cache/core/index.js";
|
|
6
|
+
import * as V1 from "../_relations.js";
|
|
7
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.js";
|
|
7
8
|
import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
|
|
8
9
|
import { SQLiteTransaction } from "../sqlite-core/index.js";
|
|
9
10
|
import { PreparedQueryConfig as PreparedQueryConfig$1, Result, SQLiteExecuteMethod as SQLiteExecuteMethod$1, SQLitePreparedQuery as SQLitePreparedQuery$1, SQLiteSession as SQLiteSession$1, SQLiteTransactionConfig as SQLiteTransactionConfig$1 } from "../sqlite-core/session.js";
|
|
10
|
-
import { AnyRelations } from "../relations.js";
|
|
11
11
|
import { WithCacheConfig } from "../cache/core/types.js";
|
|
12
12
|
import { SelectedFieldsOrdered as SelectedFieldsOrdered$1 } from "../sqlite-core/query-builders/select.types.js";
|
|
13
13
|
import { DatabasePromise } from "@tursodatabase/database-common";
|
|
@@ -16,6 +16,7 @@ import { DatabasePromise } from "@tursodatabase/database-common";
|
|
|
16
16
|
interface TursoDatabaseSessionOptions {
|
|
17
17
|
logger?: Logger;
|
|
18
18
|
cache?: Cache;
|
|
19
|
+
useJitMapper?: boolean;
|
|
19
20
|
}
|
|
20
21
|
type PreparedQueryConfig$2 = Omit<PreparedQueryConfig$1, 'statement' | 'run'>;
|
|
21
22
|
declare class TursoDatabaseSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession$1<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {
|
|
@@ -27,11 +28,11 @@ declare class TursoDatabaseSession<TFullSchema extends Record<string, unknown>,
|
|
|
27
28
|
private logger;
|
|
28
29
|
private cache;
|
|
29
30
|
constructor(client: DatabasePromise, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options: TursoDatabaseSessionOptions);
|
|
30
|
-
prepareQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1,
|
|
31
|
+
prepareQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
31
32
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
32
33
|
tables: string[];
|
|
33
34
|
}, cacheConfig?: WithCacheConfig): TursoDatabasePreparedQuery<T>;
|
|
34
|
-
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper: (rows: Record<string, unknown>[]) => unknown): TursoDatabasePreparedQuery<T, true>;
|
|
35
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$2, 'run'>>(query: Query, fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): TursoDatabasePreparedQuery<T, true>;
|
|
35
36
|
transaction<T>(transaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>, _config?: SQLiteTransactionConfig$1, tx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>): Promise<T>;
|
|
36
37
|
run(query: SQL): Result<'async', TursoDatabaseRunResult>;
|
|
37
38
|
all<T = unknown>(query: SQL): Result<'async', T[]>;
|
|
@@ -52,16 +53,18 @@ declare class TursoDatabasePreparedQuery<T extends PreparedQueryConfig$2 = Prepa
|
|
|
52
53
|
}> {
|
|
53
54
|
private stmt;
|
|
54
55
|
private logger;
|
|
55
|
-
private
|
|
56
|
+
private useJitMapper;
|
|
56
57
|
private customResultMapper?;
|
|
57
58
|
private isRqbV2Query?;
|
|
59
|
+
private rqbConfig?;
|
|
58
60
|
static readonly [entityKind]: string;
|
|
61
|
+
private jitMapper?;
|
|
59
62
|
constructor(stmt: ReturnType<DatabasePromise['prepare']>, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
60
63
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
61
64
|
tables: string[];
|
|
62
65
|
} | undefined, cacheConfig: WithCacheConfig | undefined, /** @internal */
|
|
63
66
|
|
|
64
|
-
fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1,
|
|
67
|
+
fields: SelectedFieldsOrdered$1 | undefined, executeMethod: SQLiteExecuteMethod$1, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
65
68
|
run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult>;
|
|
66
69
|
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
67
70
|
private allRqbV2;
|
package/tursodatabase/session.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
|
-
import { mapResultRow } from "../utils.js";
|
|
2
|
+
import { makeJitQueryMapper, mapResultRow } from "../utils.js";
|
|
3
3
|
import { fillPlaceholders } from "../sql/sql.js";
|
|
4
4
|
import { NoopLogger } from "../logger.js";
|
|
5
5
|
import { NoopCache } from "../cache/core/index.js";
|
|
6
6
|
import { DrizzleError } from "../errors.js";
|
|
7
|
+
import { makeJitRqbMapper } from "../relations.js";
|
|
7
8
|
import { SQLiteTransaction } from "../sqlite-core/index.js";
|
|
8
9
|
import { SQLitePreparedQuery as SQLitePreparedQuery$1, SQLiteSession as SQLiteSession$1 } from "../sqlite-core/session.js";
|
|
9
10
|
|
|
@@ -21,11 +22,11 @@ var TursoDatabaseSession = class TursoDatabaseSession extends SQLiteSession$1 {
|
|
|
21
22
|
this.logger = options.logger ?? new NoopLogger();
|
|
22
23
|
this.cache = options.cache ?? new NoopCache();
|
|
23
24
|
}
|
|
24
|
-
prepareQuery(query, fields, executeMethod,
|
|
25
|
-
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod,
|
|
25
|
+
prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
|
|
26
|
+
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMapper, customResultMapper);
|
|
26
27
|
}
|
|
27
|
-
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
28
|
-
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod,
|
|
28
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
29
|
+
return new TursoDatabasePreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
|
|
29
30
|
}
|
|
30
31
|
async transaction(transaction, _config, tx) {
|
|
31
32
|
const session = new TursoDatabaseSession(this.client, this.dialect, this.relations, this.schema, this.options);
|
|
@@ -35,7 +36,7 @@ var TursoDatabaseSession = class TursoDatabaseSession extends SQLiteSession$1 {
|
|
|
35
36
|
async run(query) {
|
|
36
37
|
const staticQuery = this.dialect.sqlToQuery(query);
|
|
37
38
|
try {
|
|
38
|
-
return await this.prepareOneTimeQuery(staticQuery, void 0, "run"
|
|
39
|
+
return await this.prepareOneTimeQuery(staticQuery, void 0, "run").run();
|
|
39
40
|
} catch (err) {
|
|
40
41
|
throw new DrizzleError({
|
|
41
42
|
cause: err,
|
|
@@ -44,13 +45,13 @@ var TursoDatabaseSession = class TursoDatabaseSession extends SQLiteSession$1 {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
async all(query) {
|
|
47
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
48
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").all();
|
|
48
49
|
}
|
|
49
50
|
async get(query) {
|
|
50
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
51
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").get();
|
|
51
52
|
}
|
|
52
53
|
async values(query) {
|
|
53
|
-
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run"
|
|
54
|
+
return await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), void 0, "run").values();
|
|
54
55
|
}
|
|
55
56
|
};
|
|
56
57
|
var TursoDatabaseTransaction = class extends SQLiteTransaction {
|
|
@@ -61,14 +62,16 @@ var TursoDatabaseTransaction = class extends SQLiteTransaction {
|
|
|
61
62
|
};
|
|
62
63
|
var TursoDatabasePreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
63
64
|
static [entityKind] = "TursoDatabasePreparedQuery";
|
|
64
|
-
|
|
65
|
+
jitMapper;
|
|
66
|
+
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
|
|
65
67
|
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
66
68
|
this.stmt = stmt;
|
|
67
69
|
this.logger = logger;
|
|
68
70
|
this.fields = fields;
|
|
69
|
-
this.
|
|
71
|
+
this.useJitMapper = useJitMapper;
|
|
70
72
|
this.customResultMapper = customResultMapper;
|
|
71
73
|
this.isRqbV2Query = isRqbV2Query;
|
|
74
|
+
this.rqbConfig = rqbConfig;
|
|
72
75
|
}
|
|
73
76
|
async run(placeholderValues) {
|
|
74
77
|
const { stmt, query, logger } = this;
|
|
@@ -88,13 +91,15 @@ var TursoDatabasePreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
88
91
|
return await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());
|
|
89
92
|
});
|
|
90
93
|
}
|
|
91
|
-
|
|
94
|
+
const rows = await this.values(placeholderValues);
|
|
95
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
|
|
92
96
|
}
|
|
93
97
|
async allRqbV2(placeholderValues) {
|
|
94
98
|
const { logger, query, customResultMapper, stmt } = this;
|
|
95
99
|
const params = fillPlaceholders(query.params, placeholderValues ?? {});
|
|
96
100
|
logger.logQuery(query.sql, params);
|
|
97
|
-
|
|
101
|
+
const rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());
|
|
102
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows) : customResultMapper(rows);
|
|
98
103
|
}
|
|
99
104
|
async get(placeholderValues) {
|
|
100
105
|
if (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);
|
|
@@ -110,7 +115,7 @@ var TursoDatabasePreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
110
115
|
return await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());
|
|
111
116
|
});
|
|
112
117
|
if (row === void 0) return row;
|
|
113
|
-
return mapResultRow(fields, row, joinsNotNullableMap);
|
|
118
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))([row])[0] : mapResultRow(fields, row, joinsNotNullableMap);
|
|
114
119
|
}
|
|
115
120
|
async getRqbV2(placeholderValues) {
|
|
116
121
|
const { logger, query, stmt, customResultMapper } = this;
|
|
@@ -118,7 +123,7 @@ var TursoDatabasePreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
118
123
|
logger.logQuery(query.sql, params);
|
|
119
124
|
const row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());
|
|
120
125
|
if (row === void 0) return row;
|
|
121
|
-
return customResultMapper([row]);
|
|
126
|
+
return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([row]) : customResultMapper([row]);
|
|
122
127
|
}
|
|
123
128
|
async values(placeholderValues) {
|
|
124
129
|
const { logger, stmt, query } = this;
|
|
@@ -128,10 +133,6 @@ var TursoDatabasePreparedQuery = class extends SQLitePreparedQuery$1 {
|
|
|
128
133
|
return await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());
|
|
129
134
|
});
|
|
130
135
|
}
|
|
131
|
-
/** @internal */
|
|
132
|
-
isResponseInArrayMode() {
|
|
133
|
-
return this._isResponseInArrayMode;
|
|
134
|
-
}
|
|
135
136
|
};
|
|
136
137
|
|
|
137
138
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","names":["SQLiteSession","SQLitePreparedQuery"],"sources":["../../src/tursodatabase/session.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type 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\tResult,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\nimport type { TursoDatabaseRunResult } from './driver-core.ts';\n\nexport interface TursoDatabaseSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class TursoDatabaseSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: DatabasePromise,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TursoDatabaseSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): TursoDatabasePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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\toverride async transaction<T>(\n\t\ttransaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t\ttx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>,\n\t): Promise<T> {\n\t\tconst session = new TursoDatabaseSession<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst localTx = tx ?? new TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\n\t\tconst clientTx = this.client.transaction(async () => await transaction(localTx));\n\n\t\tconst result = await clientTx();\n\t\treturn result;\n\t}\n\n\toverride async run(query: SQL): Result<'async', TursoDatabaseRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn await this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result<\n\t\t\t\t'async',\n\t\t\t\tTursoDatabaseRunResult\n\t\t\t>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\toverride async all<T = unknown>(query: SQL): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n\n\toverride async get<T = unknown>(query: SQL): Result<'async', T> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\t'async',\n\t\t\tT\n\t\t>;\n\t}\n\n\toverride async values<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n}\n\nexport class TursoDatabaseTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\t// Not supported by driver\n\t\tthrow new Error('Nested transactions are not supported');\n\n\t\t// const savepointName = `sp${this.nestedIndex}`;\n\n\t\t// const tx = new TursoDatabaseTransaction(\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// );\n\n\t\t// await this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await (<TursoDatabaseSession<TFullSchema, TRelations, TSchema>> (this.session)).transaction(\n\t\t// \t\ttransaction,\n\t\t// \t\tundefined,\n\t\t// \t\ttx,\n\t\t// \t);\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\nexport class TursoDatabasePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{\n\t\ttype: 'async';\n\t\trun: TursoDatabaseRunResult;\n\t\tall: T['all'];\n\t\tget: T['get'];\n\t\tvalues: T['values'];\n\t\texecute: T['execute'];\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabasePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: ReturnType<DatabasePromise['prepare']>,\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\t/** @internal */ public fields: 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\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult> {\n\t\tconst { stmt, query, logger } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.run(...params) : stmt.run());\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return await this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, customResultMapper, joinsNotNullableMap, stmt } = 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 await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { logger, query, customResultMapper, stmt } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)(rows as Record<string, unknown>[]) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, stmt, customResultMapper, joinsNotNullableMap } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\t\t\t});\n\t\t}\n\n\t\tconst row = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());\n\t\t});\n\n\t\tif (row === undefined) return row;\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>) {\n\t\tconst { logger, query, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\n\t\tif (row === undefined) return row;\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)([row] as Record<string, unknown>[]) as T['get'];\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst { logger, stmt, query } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());\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/tursodatabase/session.ts"],"sourcesContent":["import type { DatabasePromise } from '@tursodatabase/database-common';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 { fillPlaceholders, type Query, type 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\tResult,\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';\nimport type { TursoDatabaseRunResult } from './driver-core.ts';\n\nexport interface TursoDatabaseSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class TursoDatabaseSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: DatabasePromise,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TursoDatabaseSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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<T extends Omit<PreparedQueryConfig, 'run'>>(\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): TursoDatabasePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\n\t\treturn new TursoDatabasePreparedQuery(\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\toverride async transaction<T>(\n\t\ttransaction: (db: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t\ttx?: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>,\n\t): Promise<T> {\n\t\tconst session = new TursoDatabaseSession<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t);\n\t\tconst localTx = tx ?? new TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\n\t\tconst clientTx = this.client.transaction(async () => await transaction(localTx));\n\n\t\tconst result = await clientTx();\n\t\treturn result;\n\t}\n\n\toverride async run(query: SQL): Result<'async', TursoDatabaseRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn await this.prepareOneTimeQuery(staticQuery, undefined, 'run').run() as Result<\n\t\t\t\t'async',\n\t\t\t\tTursoDatabaseRunResult\n\t\t\t>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\toverride async all<T = unknown>(query: SQL): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').all() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n\n\toverride async get<T = unknown>(query: SQL): Result<'async', T> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').get() as Result<\n\t\t\t'async',\n\t\t\tT\n\t\t>;\n\t}\n\n\toverride async values<T extends any[] = unknown[]>(\n\t\tquery: SQL,\n\t): Result<'async', T[]> {\n\t\treturn await this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run').values() as Result<\n\t\t\t'async',\n\t\t\tT[]\n\t\t>;\n\t}\n}\n\nexport class TursoDatabaseTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', TursoDatabaseRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabaseTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: TursoDatabaseTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\t// Not supported by driver\n\t\tthrow new Error('Nested transactions are not supported');\n\n\t\t// const savepointName = `sp${this.nestedIndex}`;\n\n\t\t// const tx = new TursoDatabaseTransaction(\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// );\n\n\t\t// await this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\t// try {\n\t\t// \tconst result = await (<TursoDatabaseSession<TFullSchema, TRelations, TSchema>> (this.session)).transaction(\n\t\t// \t\ttransaction,\n\t\t// \t\tundefined,\n\t\t// \t\ttx,\n\t\t// \t);\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\nexport class TursoDatabasePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{\n\t\ttype: 'async';\n\t\trun: TursoDatabaseRunResult;\n\t\tall: T['all'];\n\t\tget: T['get'];\n\t\tvalues: T['values'];\n\t\texecute: T['execute'];\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'TursoDatabasePreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: ReturnType<DatabasePromise['prepare']>,\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\t/** @internal */ public fields: 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\tmapColumnValue?: (value: 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}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<TursoDatabaseRunResult> {\n\t\tconst { stmt, query, logger } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.run(...params) : stmt.run());\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return await this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, customResultMapper, joinsNotNullableMap, stmt } = 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 await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\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']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { logger, query, customResultMapper, stmt } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = await (params.length ? stmt.raw(false).all(...params) : stmt.raw(false).all());\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (\n\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows as Record<string, unknown>[]) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return await this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, logger, query, stmt, customResultMapper, joinsNotNullableMap } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\t\t\t});\n\t\t}\n\n\t\tconst row = await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).get(...params) : stmt.raw(true).get());\n\t\t});\n\n\t\tif (row === undefined) return row;\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'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>) {\n\t\tconst { logger, query, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst row = await (params.length ? stmt.raw(false).get(...params) : stmt.raw(false).get());\n\n\t\tif (row === undefined) return row;\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (\n\t\t\t\trows: Record<string, unknown>[],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)([row] as Record<string, unknown>[]) as T['get'];\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst { logger, stmt, query } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await (params.length ? stmt.raw(true).all(...params) : stmt.raw(true).all());\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ function getVersion(columns) {
|
|
|
16
16
|
const upgradeFunctions = { 0: (migrationsSchema, migrationsTable, session, localMigrations) => {
|
|
17
17
|
return effect.Effect.gen(function* () {
|
|
18
18
|
const table = __sql_sql_ts.sql`${__sql_sql_ts.sql.identifier(migrationsSchema)}.${__sql_sql_ts.sql.identifier(migrationsTable)}`;
|
|
19
|
-
const dbRows = yield* session.
|
|
19
|
+
const dbRows = yield* session.objects(__sql_sql_ts.sql`SELECT id, hash, created_at FROM ${table} ORDER BY id ASC`);
|
|
20
20
|
localMigrations.sort((a, b) => a.folderMillis !== b.folderMillis ? a.folderMillis - b.folderMillis : (a.name ?? "").localeCompare(b.name ?? ""));
|
|
21
21
|
const byMillis = /* @__PURE__ */ new Map();
|
|
22
22
|
const byHash = /* @__PURE__ */ new Map();
|
|
@@ -56,10 +56,10 @@ const upgradeFunctions = { 0: (migrationsSchema, migrationsTable, session, local
|
|
|
56
56
|
* Version 1: Extended schema (id, hash, created_at, name, applied_at)
|
|
57
57
|
*/
|
|
58
58
|
const upgradeIfNeeded = effect.Effect.fn("upgradeIfNeeded")(function* (migrationsSchema, migrationsTable, session, localMigrations) {
|
|
59
|
-
if ((yield* session.
|
|
59
|
+
if ((yield* session.objects(__sql_sql_ts.sql`SELECT 1 FROM information_schema.tables
|
|
60
60
|
WHERE table_schema = ${migrationsSchema}
|
|
61
61
|
AND table_name = ${migrationsTable}`)).length === 0) return { newDb: true };
|
|
62
|
-
const version = getVersion((yield* session.
|
|
62
|
+
const version = getVersion((yield* session.objects(__sql_sql_ts.sql`SELECT
|
|
63
63
|
n.nspname AS "schema",
|
|
64
64
|
c.relname AS "table_name",
|
|
65
65
|
a.attname AS "column_name",
|