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":"_query.cjs","names":["entityKind","QueryPromise","tracer","V1"],"sources":["../../../src/gel-core/query-builders/_query.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class _RelationalQueryBuilder<\n\tTSchema extends V1.TablesRelationalConfig,\n\tTFields extends V1.TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends V1.DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, V1.DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? (config as V1.DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? { ...(config as V1.DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: V1.TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: V1.DBQueryConfig<'many', true> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"_query.cjs","names":["entityKind","QueryPromise","tracer","V1"],"sources":["../../../src/gel-core/query-builders/_query.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class _RelationalQueryBuilder<\n\tTSchema extends V1.TablesRelationalConfig,\n\tTFields extends V1.TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends V1.DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, V1.DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? (config as V1.DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? { ...(config as V1.DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: V1.TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: V1.DBQueryConfig<'many', true> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),\n\t\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\t\tV1.mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t\t);\n\t\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t\t}\n\t\t\t\t\treturn rows as TResult;\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect._buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this._getQuery().sql as SQL;\n\t}\n\n\tprivate _toSQL(): { query: V1.BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\toverride execute(): Promise<TResult> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(undefined);\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,0BAAb,MAGE;CACD,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,YACR,AAAQ,QACR,AAAQ,eACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACP;EAPO;EACA;EACA;EACA;EACA;EACA;EACA;;CAGT,SACC,QACuE;AACvE,SAAO,IAAI,mBACV,KAAK,YACL,KAAK,QACL,KAAK,eACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,SAAU,SAA4C,EAAE,EACxD,OACA;;CAGF,UACC,QACoF;AACpF,SAAO,IAAI,mBACV,KAAK,YACL,KAAK,QACL,KAAK,eACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,SAAS;GAAE,GAAI;GAAuD,OAAO;GAAG,GAAG,EAAE,OAAO,GAAG,EAC/F,QACA;;;AAIH,IAAa,qBAAb,cAAiDC,gCAEjD;CACC,QAA0BD,0BAAsB;CAOhD,YACC,AAAQ,YACR,AAAQ,QACR,AAAQ,eACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACR,AAAQ,QACR,AAAQ,MACP;AACD,SAAO;EAVC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;CAMT,SAAS,MAAe,eAAe,OAAqE;AAC3G,SAAOE,oBAAO,gBAAgB,8BAA8B;GAC3D,MAAM,EAAE,OAAO,eAAe,KAAK,QAAQ;AAE3C,UAAO,KAAK,QAAQ,aACnB,YACA,QACA,SAAS,oEAAqC,WAAW,KAAK,WAAW,OAAO,GAAG,QAClF,SAAS,mBAAmB;IAC5B,MAAM,OAAO,QAAQ,KAAK,QACzBC,gBAAG,iBAAiB,KAAK,QAAQ,KAAK,aAAa,KAAK,MAAM,WAAW,eAAe,CACxF;AACD,QAAI,KAAK,SAAS,QACjB,QAAO,KAAK;AAEb,WAAO;KAER;IACA;;CAGH,QAAQ,MAA6E;AACpF,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAQ,YAAY;AACnB,SAAO,KAAK,QAAQ,sBAAsB;GACzC,YAAY,KAAK;GACjB,QAAQ,KAAK;GACb,eAAe,KAAK;GACpB,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,YAAY,KAAK,YAAY;GAC7B,CAAC;;;CAIH,SAAc;AACb,SAAO,KAAK,WAAW,CAAC;;CAGzB,AAAQ,SAAiF;EACxF,MAAM,QAAQ,KAAK,WAAW;AAI9B,SAAO;GAAE;GAAO,YAFG,KAAK,QAAQ,WAAW,MAAM,IAAW;GAEhC;;CAG7B,QAAe;AACd,SAAO,KAAK,QAAQ,CAAC;;CAGtB,AAAS,UAA4B;AACpC,SAAOD,oBAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,OAAU;IACxC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { entityKind } from "../../entity.js";
|
|
2
2
|
import { tracer } from "../../tracing.js";
|
|
3
3
|
import * as V1 from "../../_relations.js";
|
|
4
|
-
import { QueryPromise } from "../../query-promise.js";
|
|
5
4
|
import { preparedStatementName } from "../../query-name-generator.js";
|
|
5
|
+
import { QueryPromise } from "../../query-promise.js";
|
|
6
6
|
|
|
7
7
|
//#region src/gel-core/query-builders/_query.ts
|
|
8
8
|
var _RelationalQueryBuilder = class {
|
|
@@ -44,7 +44,7 @@ var GelRelationalQuery = class extends QueryPromise {
|
|
|
44
44
|
_prepare(name, generateName = false) {
|
|
45
45
|
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
46
46
|
const { query, builtQuery } = this._toSQL();
|
|
47
|
-
return this.session.prepareQuery(builtQuery, void 0, name ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),
|
|
47
|
+
return this.session.prepareQuery(builtQuery, void 0, name ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name), (rawRows, mapColumnValue) => {
|
|
48
48
|
const rows = rawRows.map((row) => V1.mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue));
|
|
49
49
|
if (this.mode === "first") return rows[0];
|
|
50
50
|
return rows;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_query.js","names":[],"sources":["../../../src/gel-core/query-builders/_query.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class _RelationalQueryBuilder<\n\tTSchema extends V1.TablesRelationalConfig,\n\tTFields extends V1.TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends V1.DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, V1.DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? (config as V1.DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? { ...(config as V1.DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: V1.TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: V1.DBQueryConfig<'many', true> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"_query.js","names":[],"sources":["../../../src/gel-core/query-builders/_query.ts"],"sourcesContent":["import * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class _RelationalQueryBuilder<\n\tTSchema extends V1.TablesRelationalConfig,\n\tTFields extends V1.TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends V1.DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, V1.DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? (config as V1.DBQueryConfig<'many', true>) : {},\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TSelection extends Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<V1.DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): GelRelationalQuery<V1.BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn new GelRelationalQuery(\n\t\t\tthis.fullSchema,\n\t\t\tthis.schema,\n\t\t\tthis.tableNamesMap,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig ? { ...(config as V1.DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class GelRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'gel'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: V1.TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: V1.TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: V1.DBQueryConfig<'many', true> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),\n\t\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\t\tV1.mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t\t);\n\t\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t\t}\n\t\t\t\t\treturn rows as TResult;\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect._buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this._getQuery().sql as SQL;\n\t}\n\n\tprivate _toSQL(): { query: V1.BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\toverride execute(): Promise<TResult> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(undefined);\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;AAYA,IAAa,0BAAb,MAGE;CACD,QAAiB,cAAsB;CAEvC,YACC,AAAQ,YACR,AAAQ,QACR,AAAQ,eACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACP;EAPO;EACA;EACA;EACA;EACA;EACA;EACA;;CAGT,SACC,QACuE;AACvE,SAAO,IAAI,mBACV,KAAK,YACL,KAAK,QACL,KAAK,eACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,SAAU,SAA4C,EAAE,EACxD,OACA;;CAGF,UACC,QACoF;AACpF,SAAO,IAAI,mBACV,KAAK,YACL,KAAK,QACL,KAAK,eACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,SAAS;GAAE,GAAI;GAAuD,OAAO;GAAG,GAAG,EAAE,OAAO,GAAG,EAC/F,QACA;;;AAIH,IAAa,qBAAb,cAAiD,aAEjD;CACC,QAA0B,cAAsB;CAOhD,YACC,AAAQ,YACR,AAAQ,QACR,AAAQ,eACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACR,AAAQ,QACR,AAAQ,MACP;AACD,SAAO;EAVC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;CAMT,SAAS,MAAe,eAAe,OAAqE;AAC3G,SAAO,OAAO,gBAAgB,8BAA8B;GAC3D,MAAM,EAAE,OAAO,eAAe,KAAK,QAAQ;AAE3C,UAAO,KAAK,QAAQ,aACnB,YACA,QACA,SAAS,eAAe,sBAAsB,WAAW,KAAK,WAAW,OAAO,GAAG,QAClF,SAAS,mBAAmB;IAC5B,MAAM,OAAO,QAAQ,KAAK,QACzB,GAAG,iBAAiB,KAAK,QAAQ,KAAK,aAAa,KAAK,MAAM,WAAW,eAAe,CACxF;AACD,QAAI,KAAK,SAAS,QACjB,QAAO,KAAK;AAEb,WAAO;KAER;IACA;;CAGH,QAAQ,MAA6E;AACpF,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAQ,YAAY;AACnB,SAAO,KAAK,QAAQ,sBAAsB;GACzC,YAAY,KAAK;GACjB,QAAQ,KAAK;GACb,eAAe,KAAK;GACpB,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,YAAY,KAAK,YAAY;GAC7B,CAAC;;;CAIH,SAAc;AACb,SAAO,KAAK,WAAW,CAAC;;CAGzB,AAAQ,SAAiF;EACxF,MAAM,QAAQ,KAAK,WAAW;AAI9B,SAAO;GAAE;GAAO,YAFG,KAAK,QAAQ,WAAW,MAAM,IAAW;GAEhC;;CAG7B,QAAe;AACd,SAAO,KAAK,QAAQ,CAAC;;CAGtB,AAAS,UAA4B;AACpC,SAAO,OAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,OAAU;IACxC"}
|
|
@@ -5,8 +5,8 @@ let __entity_ts = require("../../entity.cjs");
|
|
|
5
5
|
let __tracing_ts = require("../../tracing.cjs");
|
|
6
6
|
let __table_ts = require("../../table.cjs");
|
|
7
7
|
let __utils_ts = require("../../utils.cjs");
|
|
8
|
-
let __query_promise_ts = require("../../query-promise.cjs");
|
|
9
8
|
let __query_name_generator_ts = require("../../query-name-generator.cjs");
|
|
9
|
+
let __query_promise_ts = require("../../query-promise.cjs");
|
|
10
10
|
|
|
11
11
|
//#region src/gel-core/query-builders/delete.ts
|
|
12
12
|
var GelDeleteBase = class extends __query_promise_ts.QueryPromise {
|
|
@@ -70,7 +70,7 @@ var GelDeleteBase = class extends __query_promise_ts.QueryPromise {
|
|
|
70
70
|
_prepare(name, generateName = false) {
|
|
71
71
|
return __tracing_ts.tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
72
72
|
const query = this.dialect.sqlToQuery(this.getSQL());
|
|
73
|
-
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(query.sql, query.params) : name),
|
|
73
|
+
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(query.sql, query.params) : name), void 0, {
|
|
74
74
|
type: "delete",
|
|
75
75
|
tables: require_gel_core_utils.extractUsedTable(this.config.table)
|
|
76
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.cjs","names":["QueryPromise","entityKind","Table","tracer","extractUsedTable"],"sources":["../../../src/gel-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable } from '~/gel-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport type { GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type GelDeleteWithout<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tGelDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type GelDelete<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelDeleteBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: GelTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type GelDeleteReturningAll<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeleteReturning<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeletePrepare<T extends AnyGelDeleteBase> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelDeleteDynamic<T extends AnyGelDeleteBase> = GelDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelDeleteBase = GelDeleteBase<any, any, any, any, any>;\n\nexport interface GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelDelete';\n\n\tprivate config: GelDeleteConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): GelDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): GelDeleteReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelDeleteReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelDeleteReturning<this, TDynamic, any> | GelDeleteReturningAll<this, TDynamic> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelDeletePrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"delete.cjs","names":["QueryPromise","entityKind","Table","tracer","extractUsedTable"],"sources":["../../../src/gel-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable } from '~/gel-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport type { GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type GelDeleteWithout<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tGelDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type GelDelete<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelDeleteBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: GelTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type GelDeleteReturningAll<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeleteReturning<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeletePrepare<T extends AnyGelDeleteBase> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelDeleteDynamic<T extends AnyGelDeleteBase> = GelDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelDeleteBase = GelDeleteBase<any, any, any, any, any>;\n\nexport interface GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelDelete';\n\n\tprivate config: GelDeleteConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): GelDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): GelDeleteReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelDeleteReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelDeleteReturning<this, TDynamic, any> | GelDeleteReturningAll<this, TDynamic> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelDeletePrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'delete',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelDeletePrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelDeleteDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAwHA,IAAa,gBAAb,cAOUA,gCAIV;CACC,QAA0BC,0BAAsB;CAEhD,AAAQ;CAER,YACC,OACA,AAAQ,SACR,AAAQ,SACR,UACC;AACD,SAAO;EAJC;EACA;AAIR,OAAK,SAAS;GAAE;GAAO;GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClC,MAAM,OAAmE;AACxE,OAAK,OAAO,QAAQ;AACpB,SAAO;;CA2BR,UACC,SAA6B,KAAK,OAAO,MAAMC,iBAAM,OAAO,UACsB;AAClF,OAAK,OAAO,gDAA2C,OAAO;AAC9D,SAAO;;;CAIR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAOC,oBAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,oEAAqC,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,QACA;IACC,MAAM;IACN,QAAQC,wCAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAOD,oBAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
@@ -3,8 +3,8 @@ import { entityKind } from "../../entity.js";
|
|
|
3
3
|
import { tracer } from "../../tracing.js";
|
|
4
4
|
import { Table } from "../../table.js";
|
|
5
5
|
import { orderSelectedFields } from "../../utils.js";
|
|
6
|
-
import { QueryPromise } from "../../query-promise.js";
|
|
7
6
|
import { preparedStatementName } from "../../query-name-generator.js";
|
|
7
|
+
import { QueryPromise } from "../../query-promise.js";
|
|
8
8
|
|
|
9
9
|
//#region src/gel-core/query-builders/delete.ts
|
|
10
10
|
var GelDeleteBase = class extends QueryPromise {
|
|
@@ -68,7 +68,7 @@ var GelDeleteBase = class extends QueryPromise {
|
|
|
68
68
|
_prepare(name, generateName = false) {
|
|
69
69
|
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
70
70
|
const query = this.dialect.sqlToQuery(this.getSQL());
|
|
71
|
-
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? preparedStatementName(query.sql, query.params) : name),
|
|
71
|
+
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? preparedStatementName(query.sql, query.params) : name), void 0, {
|
|
72
72
|
type: "delete",
|
|
73
73
|
tables: extractUsedTable(this.config.table)
|
|
74
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","names":[],"sources":["../../../src/gel-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable } from '~/gel-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport type { GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type GelDeleteWithout<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tGelDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type GelDelete<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelDeleteBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: GelTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type GelDeleteReturningAll<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeleteReturning<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeletePrepare<T extends AnyGelDeleteBase> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelDeleteDynamic<T extends AnyGelDeleteBase> = GelDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelDeleteBase = GelDeleteBase<any, any, any, any, any>;\n\nexport interface GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelDelete';\n\n\tprivate config: GelDeleteConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): GelDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): GelDeleteReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelDeleteReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelDeleteReturning<this, TDynamic, any> | GelDeleteReturningAll<this, TDynamic> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelDeletePrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"delete.js","names":[],"sources":["../../../src/gel-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable } from '~/gel-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport type { GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type GelDeleteWithout<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tGelDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type GelDelete<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelDeleteBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: GelTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type GelDeleteReturningAll<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeleteReturning<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeletePrepare<T extends AnyGelDeleteBase> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelDeleteDynamic<T extends AnyGelDeleteBase> = GelDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelDeleteBase = GelDeleteBase<any, any, any, any, any>;\n\nexport interface GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelDelete';\n\n\tprivate config: GelDeleteConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): GelDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): GelDeleteReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelDeleteReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelDeleteReturning<this, TDynamic, any> | GelDeleteReturningAll<this, TDynamic> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelDeletePrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'delete',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelDeletePrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelDeleteDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;AAwHA,IAAa,gBAAb,cAOU,aAIV;CACC,QAA0B,cAAsB;CAEhD,AAAQ;CAER,YACC,OACA,AAAQ,SACR,AAAQ,SACR,UACC;AACD,SAAO;EAJC;EACA;AAIR,OAAK,SAAS;GAAE;GAAO;GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClC,MAAM,OAAmE;AACxE,OAAK,OAAO,QAAQ;AACpB,SAAO;;CA2BR,UACC,SAA6B,KAAK,OAAO,MAAM,MAAM,OAAO,UACsB;AAClF,OAAK,OAAO,YAAY,oBAA+B,OAAO;AAC9D,SAAO;;;CAIR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAO,OAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,eAAe,sBAAsB,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,QACA;IACC,MAAM;IACN,QAAQ,iBAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAO,OAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
@@ -7,8 +7,8 @@ let __tracing_ts = require("../../tracing.cjs");
|
|
|
7
7
|
let __table_ts = require("../../table.cjs");
|
|
8
8
|
let __utils_ts = require("../../utils.cjs");
|
|
9
9
|
let __sql_sql_ts = require("../../sql/sql.cjs");
|
|
10
|
-
let __query_promise_ts = require("../../query-promise.cjs");
|
|
11
10
|
let __query_name_generator_ts = require("../../query-name-generator.cjs");
|
|
11
|
+
let __query_promise_ts = require("../../query-promise.cjs");
|
|
12
12
|
|
|
13
13
|
//#region src/gel-core/query-builders/insert.ts
|
|
14
14
|
var GelInsertBuilder = class {
|
|
@@ -126,7 +126,7 @@ var GelInsertBase = class extends __query_promise_ts.QueryPromise {
|
|
|
126
126
|
_prepare(name, generateName = false) {
|
|
127
127
|
return __tracing_ts.tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
128
128
|
const query = this.dialect.sqlToQuery(this.getSQL());
|
|
129
|
-
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(query.sql, query.params) : name),
|
|
129
|
+
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(query.sql, query.params) : name), void 0, {
|
|
130
130
|
type: "insert",
|
|
131
131
|
tables: require_gel_core_utils.extractUsedTable(this.config.table)
|
|
132
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.cjs","names":["entityKind","Table","SQL","Param","QueryBuilder","TableColumns","QueryPromise","tracer","extractUsedTable"],"sources":["../../../src/gel-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { IndexColumn } from '~/gel-core/indexes.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable, TableConfig } from '~/gel-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport type { InferInsertModel } from '~/table.ts';\nimport { Table, TableColumns } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, orderSelectedFields } from '~/utils.ts';\nimport type { AnyGelColumn, GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { GelUpdateSetSource } from './update.ts';\n\nexport interface GelInsertConfig<TTable extends GelTable = GelTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | GelInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n\toverridingSystemValue_?: boolean;\n}\n\nexport type GelInsertValue<\n\tTTable extends GelTable<TableConfig>,\n\tOverrideT extends boolean = false,\n\tTModel extends Record<string, any> = InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>,\n> =\n\t& {\n\t\t[Key in keyof TModel]:\n\t\t\t| TModel[Key]\n\t\t\t| SQL\n\t\t\t| Placeholder;\n\t}\n\t& {};\n\nexport type GelInsertSelectQueryBuilder<\n\tTTable extends GelTable,\n\tTModel extends Record<string, any> = InferInsertModel<TTable>,\n> = TypedQueryBuilder<\n\t{ [K in keyof TModel]: AnyGelColumn | SQL | SQL.Aliased | TModel[K] }\n>;\n\nexport class GelInsertBuilder<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tOverrideT extends boolean = false,\n> {\n\tstatic readonly [entityKind]: string = 'GelInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\tprivate withList?: Subquery[],\n\t\tprivate overridingSystemValue_?: boolean,\n\t) {}\n\n\toverridingSystemValue(): Omit<GelInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'> {\n\t\tthis.overridingSystemValue_ = true;\n\t\treturn this as any;\n\t}\n\n\tvalues(value: GelInsertValue<TTable, OverrideT>): GelInsertBase<TTable, TQueryResult>;\n\tvalues(values: GelInsertValue<TTable, OverrideT>[]): GelInsertBase<TTable, TQueryResult>;\n\tvalues(\n\t\tvalues: GelInsertValue<TTable, OverrideT> | GelInsertValue<TTable, OverrideT>[],\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new GelInsertBase(\n\t\t\tthis.table,\n\t\t\tmappedValues,\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t\tfalse,\n\t\t\tthis.overridingSystemValue_,\n\t\t);\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| GelInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable> | SQL),\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[TableColumns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new GelInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type GelInsertWithout<T extends AnyGelInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tGelInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type GelInsertReturning<\n\tT extends AnyGelInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type GelInsertReturningAll<T extends AnyGelInsert, TDynamic extends boolean> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface GelInsertOnConflictDoUpdateConfig<T extends AnyGelInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: GelUpdateSetSource<T['_']['table']>;\n}\n\nexport type GelInsertPrepare<T extends AnyGelInsert> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelInsertDynamic<T extends AnyGelInsert> = GelInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelInsert = GelInsertBase<any, any, any, any, any>;\n\nexport type GelInsert<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelInsert';\n\n\tprivate config: GelInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: GelInsertConfig['values'],\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t\toverridingSystemValue_?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select, overridingSystemValue_ };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): GelInsertWithout<GelInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelInsertWithout<GelInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelInsertWithout<AnyGelInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoNothing(\n\t// \tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.target === undefined) {\n\t// \t\tthis.config.onConflict = sql`do nothing`;\n\t// \t} else {\n\t// \t\tlet targetColumn = '';\n\t// \t\ttargetColumn = Array.isArray(config.target)\n\t// \t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t// \t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t// \t}\n\t// \treturn this as any;\n\t// }\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoUpdate(\n\t// \tconfig: GelInsertOnConflictDoUpdateConfig<this>,\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.where && (config.targetWhere || config.setWhere)) {\n\t// \t\tthrow new Error(\n\t// \t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t// \t\t);\n\t// \t}\n\t// \tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t// \tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t// \tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t// \tlet targetColumn = '';\n\t// \ttargetColumn = Array.isArray(config.target)\n\t// \t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t// \tthis.config.onConflict = sql`(${\n\t// \t\tsql.raw(targetColumn)\n\t// \t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t// \treturn this as any;\n\t// }\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\ttrue,\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'insert',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelInsertPrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AA2DA,IAAa,mBAAb,MAIE;CACD,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,OACR,AAAQ,SACR,AAAQ,SACR,AAAQ,UACR,AAAQ,wBACP;EALO;EACA;EACA;EACA;EACA;;CAGT,wBAAqG;AACpG,OAAK,yBAAyB;AAC9B,SAAO;;CAKR,OACC,QACsC;AACtC,WAAS,MAAM,QAAQ,OAAO,GAAG,SAAS,CAAC,OAAO;AAClD,MAAI,OAAO,WAAW,EACrB,OAAM,IAAI,MAAM,kDAAkD;EAEnE,MAAM,eAAe,OAAO,KAAK,UAAU;GAC1C,MAAM,SAAsC,EAAE;GAC9C,MAAM,OAAO,KAAK,MAAMC,iBAAM,OAAO;AACrC,QAAK,MAAM,UAAU,OAAO,KAAK,MAAM,EAAE;IACxC,MAAM,WAAW,MAAM;AACvB,WAAO,8BAAa,UAAUC,iBAAI,GAAG,WAAW,IAAIC,mBAAM,UAAU,KAAK,QAAQ;;AAElF,UAAO;IACN;AAEF,SAAO,IAAI,cACV,KAAK,OACL,cACA,KAAK,SACL,KAAK,SACL,KAAK,UACL,OACA,KAAK,uBACL;;CAOF,OACC,aAIsC;EACtC,MAAM,SAAS,OAAO,gBAAgB,aAAa,YAAY,IAAIC,4DAAc,CAAC,GAAG;AAErF,MACC,qBAAI,QAAQF,iBAAI,IACb,8BAAc,KAAK,MAAMG,0BAAe,OAAO,EAAE,eAAe,CAEnE,OAAM,IAAI,MACT,qHACA;AAGF,SAAO,IAAI,cAAc,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,UAAU,KAAK;;;AA0F/F,IAAa,gBAAb,cAQUC,gCAIV;CACC,QAA0BN,0BAAsB;CAEhD,AAAQ;CAER,YACC,OACA,QACA,AAAQ,SACR,AAAQ,SACR,UACA,QACA,wBACC;AACD,SAAO;EANC;EACA;AAMR,OAAK,SAAS;GAAE;GAAe;GAAe;GAAU;GAAQ;GAAwB;;CA2BzF,UACC,SAA6B,KAAK,OAAO,MAAMC,iBAAM,OAAO,UACJ;AACxD,OAAK,OAAO,gDAA2C,OAAO;AAC9D,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAOM,oBAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,oEAAqC,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,MACA,QACA;IACC,MAAM;IACN,QAAQC,wCAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAOD,oBAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
1
|
+
{"version":3,"file":"insert.cjs","names":["entityKind","Table","SQL","Param","QueryBuilder","TableColumns","QueryPromise","tracer","extractUsedTable"],"sources":["../../../src/gel-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { IndexColumn } from '~/gel-core/indexes.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable, TableConfig } from '~/gel-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport type { InferInsertModel } from '~/table.ts';\nimport { Table, TableColumns } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, orderSelectedFields } from '~/utils.ts';\nimport type { AnyGelColumn, GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { GelUpdateSetSource } from './update.ts';\n\nexport interface GelInsertConfig<TTable extends GelTable = GelTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | GelInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n\toverridingSystemValue_?: boolean;\n}\n\nexport type GelInsertValue<\n\tTTable extends GelTable<TableConfig>,\n\tOverrideT extends boolean = false,\n\tTModel extends Record<string, any> = InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>,\n> =\n\t& {\n\t\t[Key in keyof TModel]:\n\t\t\t| TModel[Key]\n\t\t\t| SQL\n\t\t\t| Placeholder;\n\t}\n\t& {};\n\nexport type GelInsertSelectQueryBuilder<\n\tTTable extends GelTable,\n\tTModel extends Record<string, any> = InferInsertModel<TTable>,\n> = TypedQueryBuilder<\n\t{ [K in keyof TModel]: AnyGelColumn | SQL | SQL.Aliased | TModel[K] }\n>;\n\nexport class GelInsertBuilder<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tOverrideT extends boolean = false,\n> {\n\tstatic readonly [entityKind]: string = 'GelInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\tprivate withList?: Subquery[],\n\t\tprivate overridingSystemValue_?: boolean,\n\t) {}\n\n\toverridingSystemValue(): Omit<GelInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'> {\n\t\tthis.overridingSystemValue_ = true;\n\t\treturn this as any;\n\t}\n\n\tvalues(value: GelInsertValue<TTable, OverrideT>): GelInsertBase<TTable, TQueryResult>;\n\tvalues(values: GelInsertValue<TTable, OverrideT>[]): GelInsertBase<TTable, TQueryResult>;\n\tvalues(\n\t\tvalues: GelInsertValue<TTable, OverrideT> | GelInsertValue<TTable, OverrideT>[],\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new GelInsertBase(\n\t\t\tthis.table,\n\t\t\tmappedValues,\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t\tfalse,\n\t\t\tthis.overridingSystemValue_,\n\t\t);\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| GelInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable> | SQL),\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[TableColumns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new GelInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type GelInsertWithout<T extends AnyGelInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tGelInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type GelInsertReturning<\n\tT extends AnyGelInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type GelInsertReturningAll<T extends AnyGelInsert, TDynamic extends boolean> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface GelInsertOnConflictDoUpdateConfig<T extends AnyGelInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: GelUpdateSetSource<T['_']['table']>;\n}\n\nexport type GelInsertPrepare<T extends AnyGelInsert> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelInsertDynamic<T extends AnyGelInsert> = GelInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelInsert = GelInsertBase<any, any, any, any, any>;\n\nexport type GelInsert<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelInsert';\n\n\tprivate config: GelInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: GelInsertConfig['values'],\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t\toverridingSystemValue_?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select, overridingSystemValue_ };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): GelInsertWithout<GelInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelInsertWithout<GelInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelInsertWithout<AnyGelInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoNothing(\n\t// \tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.target === undefined) {\n\t// \t\tthis.config.onConflict = sql`do nothing`;\n\t// \t} else {\n\t// \t\tlet targetColumn = '';\n\t// \t\ttargetColumn = Array.isArray(config.target)\n\t// \t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t// \t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t// \t}\n\t// \treturn this as any;\n\t// }\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoUpdate(\n\t// \tconfig: GelInsertOnConflictDoUpdateConfig<this>,\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.where && (config.targetWhere || config.setWhere)) {\n\t// \t\tthrow new Error(\n\t// \t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t// \t\t);\n\t// \t}\n\t// \tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t// \tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t// \tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t// \tlet targetColumn = '';\n\t// \ttargetColumn = Array.isArray(config.target)\n\t// \t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t// \tthis.config.onConflict = sql`(${\n\t// \t\tsql.raw(targetColumn)\n\t// \t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t// \treturn this as any;\n\t// }\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'insert',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelInsertPrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AA2DA,IAAa,mBAAb,MAIE;CACD,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,OACR,AAAQ,SACR,AAAQ,SACR,AAAQ,UACR,AAAQ,wBACP;EALO;EACA;EACA;EACA;EACA;;CAGT,wBAAqG;AACpG,OAAK,yBAAyB;AAC9B,SAAO;;CAKR,OACC,QACsC;AACtC,WAAS,MAAM,QAAQ,OAAO,GAAG,SAAS,CAAC,OAAO;AAClD,MAAI,OAAO,WAAW,EACrB,OAAM,IAAI,MAAM,kDAAkD;EAEnE,MAAM,eAAe,OAAO,KAAK,UAAU;GAC1C,MAAM,SAAsC,EAAE;GAC9C,MAAM,OAAO,KAAK,MAAMC,iBAAM,OAAO;AACrC,QAAK,MAAM,UAAU,OAAO,KAAK,MAAM,EAAE;IACxC,MAAM,WAAW,MAAM;AACvB,WAAO,8BAAa,UAAUC,iBAAI,GAAG,WAAW,IAAIC,mBAAM,UAAU,KAAK,QAAQ;;AAElF,UAAO;IACN;AAEF,SAAO,IAAI,cACV,KAAK,OACL,cACA,KAAK,SACL,KAAK,SACL,KAAK,UACL,OACA,KAAK,uBACL;;CAOF,OACC,aAIsC;EACtC,MAAM,SAAS,OAAO,gBAAgB,aAAa,YAAY,IAAIC,4DAAc,CAAC,GAAG;AAErF,MACC,qBAAI,QAAQF,iBAAI,IACb,8BAAc,KAAK,MAAMG,0BAAe,OAAO,EAAE,eAAe,CAEnE,OAAM,IAAI,MACT,qHACA;AAGF,SAAO,IAAI,cAAc,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,UAAU,KAAK;;;AA0F/F,IAAa,gBAAb,cAQUC,gCAIV;CACC,QAA0BN,0BAAsB;CAEhD,AAAQ;CAER,YACC,OACA,QACA,AAAQ,SACR,AAAQ,SACR,UACA,QACA,wBACC;AACD,SAAO;EANC;EACA;AAMR,OAAK,SAAS;GAAE;GAAe;GAAe;GAAU;GAAQ;GAAwB;;CA2BzF,UACC,SAA6B,KAAK,OAAO,MAAMC,iBAAM,OAAO,UACJ;AACxD,OAAK,OAAO,gDAA2C,OAAO;AAC9D,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAOM,oBAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,oEAAqC,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,QACA;IACC,MAAM;IACN,QAAQC,wCAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAOD,oBAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
@@ -5,8 +5,8 @@ import { tracer } from "../../tracing.js";
|
|
|
5
5
|
import { Table, TableColumns } from "../../table.js";
|
|
6
6
|
import { haveSameKeys, orderSelectedFields } from "../../utils.js";
|
|
7
7
|
import { Param, SQL } from "../../sql/sql.js";
|
|
8
|
-
import { QueryPromise } from "../../query-promise.js";
|
|
9
8
|
import { preparedStatementName } from "../../query-name-generator.js";
|
|
9
|
+
import { QueryPromise } from "../../query-promise.js";
|
|
10
10
|
|
|
11
11
|
//#region src/gel-core/query-builders/insert.ts
|
|
12
12
|
var GelInsertBuilder = class {
|
|
@@ -124,7 +124,7 @@ var GelInsertBase = class extends QueryPromise {
|
|
|
124
124
|
_prepare(name, generateName = false) {
|
|
125
125
|
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
126
126
|
const query = this.dialect.sqlToQuery(this.getSQL());
|
|
127
|
-
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? preparedStatementName(query.sql, query.params) : name),
|
|
127
|
+
return this.session.prepareQuery(query, this.config.returning, name ?? (generateName ? preparedStatementName(query.sql, query.params) : name), void 0, {
|
|
128
128
|
type: "insert",
|
|
129
129
|
tables: extractUsedTable(this.config.table)
|
|
130
130
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","names":[],"sources":["../../../src/gel-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { IndexColumn } from '~/gel-core/indexes.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable, TableConfig } from '~/gel-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport type { InferInsertModel } from '~/table.ts';\nimport { Table, TableColumns } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, orderSelectedFields } from '~/utils.ts';\nimport type { AnyGelColumn, GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { GelUpdateSetSource } from './update.ts';\n\nexport interface GelInsertConfig<TTable extends GelTable = GelTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | GelInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n\toverridingSystemValue_?: boolean;\n}\n\nexport type GelInsertValue<\n\tTTable extends GelTable<TableConfig>,\n\tOverrideT extends boolean = false,\n\tTModel extends Record<string, any> = InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>,\n> =\n\t& {\n\t\t[Key in keyof TModel]:\n\t\t\t| TModel[Key]\n\t\t\t| SQL\n\t\t\t| Placeholder;\n\t}\n\t& {};\n\nexport type GelInsertSelectQueryBuilder<\n\tTTable extends GelTable,\n\tTModel extends Record<string, any> = InferInsertModel<TTable>,\n> = TypedQueryBuilder<\n\t{ [K in keyof TModel]: AnyGelColumn | SQL | SQL.Aliased | TModel[K] }\n>;\n\nexport class GelInsertBuilder<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tOverrideT extends boolean = false,\n> {\n\tstatic readonly [entityKind]: string = 'GelInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\tprivate withList?: Subquery[],\n\t\tprivate overridingSystemValue_?: boolean,\n\t) {}\n\n\toverridingSystemValue(): Omit<GelInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'> {\n\t\tthis.overridingSystemValue_ = true;\n\t\treturn this as any;\n\t}\n\n\tvalues(value: GelInsertValue<TTable, OverrideT>): GelInsertBase<TTable, TQueryResult>;\n\tvalues(values: GelInsertValue<TTable, OverrideT>[]): GelInsertBase<TTable, TQueryResult>;\n\tvalues(\n\t\tvalues: GelInsertValue<TTable, OverrideT> | GelInsertValue<TTable, OverrideT>[],\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new GelInsertBase(\n\t\t\tthis.table,\n\t\t\tmappedValues,\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t\tfalse,\n\t\t\tthis.overridingSystemValue_,\n\t\t);\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| GelInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable> | SQL),\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[TableColumns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new GelInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type GelInsertWithout<T extends AnyGelInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tGelInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type GelInsertReturning<\n\tT extends AnyGelInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type GelInsertReturningAll<T extends AnyGelInsert, TDynamic extends boolean> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface GelInsertOnConflictDoUpdateConfig<T extends AnyGelInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: GelUpdateSetSource<T['_']['table']>;\n}\n\nexport type GelInsertPrepare<T extends AnyGelInsert> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelInsertDynamic<T extends AnyGelInsert> = GelInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelInsert = GelInsertBase<any, any, any, any, any>;\n\nexport type GelInsert<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelInsert';\n\n\tprivate config: GelInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: GelInsertConfig['values'],\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t\toverridingSystemValue_?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select, overridingSystemValue_ };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): GelInsertWithout<GelInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelInsertWithout<GelInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelInsertWithout<AnyGelInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoNothing(\n\t// \tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.target === undefined) {\n\t// \t\tthis.config.onConflict = sql`do nothing`;\n\t// \t} else {\n\t// \t\tlet targetColumn = '';\n\t// \t\ttargetColumn = Array.isArray(config.target)\n\t// \t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t// \t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t// \t}\n\t// \treturn this as any;\n\t// }\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoUpdate(\n\t// \tconfig: GelInsertOnConflictDoUpdateConfig<this>,\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.where && (config.targetWhere || config.setWhere)) {\n\t// \t\tthrow new Error(\n\t// \t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t// \t\t);\n\t// \t}\n\t// \tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t// \tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t// \tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t// \tlet targetColumn = '';\n\t// \ttargetColumn = Array.isArray(config.target)\n\t// \t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t// \tthis.config.onConflict = sql`(${\n\t// \t\tsql.raw(targetColumn)\n\t// \t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t// \treturn this as any;\n\t// }\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\ttrue,\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'insert',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelInsertPrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AA2DA,IAAa,mBAAb,MAIE;CACD,QAAiB,cAAsB;CAEvC,YACC,AAAQ,OACR,AAAQ,SACR,AAAQ,SACR,AAAQ,UACR,AAAQ,wBACP;EALO;EACA;EACA;EACA;EACA;;CAGT,wBAAqG;AACpG,OAAK,yBAAyB;AAC9B,SAAO;;CAKR,OACC,QACsC;AACtC,WAAS,MAAM,QAAQ,OAAO,GAAG,SAAS,CAAC,OAAO;AAClD,MAAI,OAAO,WAAW,EACrB,OAAM,IAAI,MAAM,kDAAkD;EAEnE,MAAM,eAAe,OAAO,KAAK,UAAU;GAC1C,MAAM,SAAsC,EAAE;GAC9C,MAAM,OAAO,KAAK,MAAM,MAAM,OAAO;AACrC,QAAK,MAAM,UAAU,OAAO,KAAK,MAAM,EAAE;IACxC,MAAM,WAAW,MAAM;AACvB,WAAO,UAAU,GAAG,UAAU,IAAI,GAAG,WAAW,IAAI,MAAM,UAAU,KAAK,QAAQ;;AAElF,UAAO;IACN;AAEF,SAAO,IAAI,cACV,KAAK,OACL,cACA,KAAK,SACL,KAAK,SACL,KAAK,UACL,OACA,KAAK,uBACL;;CAOF,OACC,aAIsC;EACtC,MAAM,SAAS,OAAO,gBAAgB,aAAa,YAAY,IAAI,cAAc,CAAC,GAAG;AAErF,MACC,CAAC,GAAG,QAAQ,IAAI,IACb,CAAC,aAAa,KAAK,MAAM,eAAe,OAAO,EAAE,eAAe,CAEnE,OAAM,IAAI,MACT,qHACA;AAGF,SAAO,IAAI,cAAc,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,UAAU,KAAK;;;AA0F/F,IAAa,gBAAb,cAQU,aAIV;CACC,QAA0B,cAAsB;CAEhD,AAAQ;CAER,YACC,OACA,QACA,AAAQ,SACR,AAAQ,SACR,UACA,QACA,wBACC;AACD,SAAO;EANC;EACA;AAMR,OAAK,SAAS;GAAE;GAAe;GAAe;GAAU;GAAQ;GAAwB;;CA2BzF,UACC,SAA6B,KAAK,OAAO,MAAM,MAAM,OAAO,UACJ;AACxD,OAAK,OAAO,YAAY,oBAA+B,OAAO;AAC9D,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAO,OAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,eAAe,sBAAsB,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,MACA,QACA;IACC,MAAM;IACN,QAAQ,iBAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAO,OAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
1
|
+
{"version":3,"file":"insert.js","names":[],"sources":["../../../src/gel-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { IndexColumn } from '~/gel-core/indexes.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable, TableConfig } from '~/gel-core/table.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport type { InferInsertModel } from '~/table.ts';\nimport { Table, TableColumns } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { haveSameKeys, orderSelectedFields } from '~/utils.ts';\nimport type { AnyGelColumn, GelColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { GelUpdateSetSource } from './update.ts';\n\nexport interface GelInsertConfig<TTable extends GelTable = GelTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | GelInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n\toverridingSystemValue_?: boolean;\n}\n\nexport type GelInsertValue<\n\tTTable extends GelTable<TableConfig>,\n\tOverrideT extends boolean = false,\n\tTModel extends Record<string, any> = InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>,\n> =\n\t& {\n\t\t[Key in keyof TModel]:\n\t\t\t| TModel[Key]\n\t\t\t| SQL\n\t\t\t| Placeholder;\n\t}\n\t& {};\n\nexport type GelInsertSelectQueryBuilder<\n\tTTable extends GelTable,\n\tTModel extends Record<string, any> = InferInsertModel<TTable>,\n> = TypedQueryBuilder<\n\t{ [K in keyof TModel]: AnyGelColumn | SQL | SQL.Aliased | TModel[K] }\n>;\n\nexport class GelInsertBuilder<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tOverrideT extends boolean = false,\n> {\n\tstatic readonly [entityKind]: string = 'GelInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\tprivate withList?: Subquery[],\n\t\tprivate overridingSystemValue_?: boolean,\n\t) {}\n\n\toverridingSystemValue(): Omit<GelInsertBuilder<TTable, TQueryResult, true>, 'overridingSystemValue'> {\n\t\tthis.overridingSystemValue_ = true;\n\t\treturn this as any;\n\t}\n\n\tvalues(value: GelInsertValue<TTable, OverrideT>): GelInsertBase<TTable, TQueryResult>;\n\tvalues(values: GelInsertValue<TTable, OverrideT>[]): GelInsertBase<TTable, TQueryResult>;\n\tvalues(\n\t\tvalues: GelInsertValue<TTable, OverrideT> | GelInsertValue<TTable, OverrideT>[],\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new GelInsertBase(\n\t\t\tthis.table,\n\t\t\tmappedValues,\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t\tfalse,\n\t\t\tthis.overridingSystemValue_,\n\t\t);\n\t}\n\n\tselect(selectQuery: (qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: SQL): GelInsertBase<TTable, TQueryResult>;\n\tselect(selectQuery: GelInsertSelectQueryBuilder<TTable>): GelInsertBase<TTable, TQueryResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| GelInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => GelInsertSelectQueryBuilder<TTable> | SQL),\n\t): GelInsertBase<TTable, TQueryResult> {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[TableColumns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new GelInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type GelInsertWithout<T extends AnyGelInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tGelInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type GelInsertReturning<\n\tT extends AnyGelInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tSelectResultFields<TSelectedFields>,\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport type GelInsertReturningAll<T extends AnyGelInsert, TDynamic extends boolean> = GelInsertBase<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['table']['$inferSelect'],\n\tTDynamic,\n\tT['_']['excludedMethods']\n>;\n\nexport interface GelInsertOnConflictDoUpdateConfig<T extends AnyGelInsert> {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: GelUpdateSetSource<T['_']['table']>;\n}\n\nexport type GelInsertPrepare<T extends AnyGelInsert> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelInsertDynamic<T extends AnyGelInsert> = GelInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelInsert = GelInsertBase<any, any, any, any, any>;\n\nexport type GelInsert<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelInsertBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\treadonly dialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelInsertBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelInsert';\n\n\tprivate config: GelInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: GelInsertConfig['values'],\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t\toverridingSystemValue_?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select, overridingSystemValue_ };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): GelInsertWithout<GelInsertReturningAll<this, TDynamic>, TDynamic, 'returning'>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelInsertWithout<GelInsertReturning<this, TDynamic, TSelectedFields>, TDynamic, 'returning'>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelInsertWithout<AnyGelInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoNothing(\n\t// \tconfig: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {},\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.target === undefined) {\n\t// \t\tthis.config.onConflict = sql`do nothing`;\n\t// \t} else {\n\t// \t\tlet targetColumn = '';\n\t// \t\ttargetColumn = Array.isArray(config.target)\n\t// \t\t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\n\t// \t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \t\tthis.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;\n\t// \t}\n\t// \treturn this as any;\n\t// }\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\t// TODO not supported\n\t// onConflictDoUpdate(\n\t// \tconfig: GelInsertOnConflictDoUpdateConfig<this>,\n\t// ): GelInsertWithout<this, TDynamic, 'onConflictDoNothing' | 'onConflictDoUpdate'> {\n\t// \tif (config.where && (config.targetWhere || config.setWhere)) {\n\t// \t\tthrow new Error(\n\t// \t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t// \t\t);\n\t// \t}\n\t// \tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t// \tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t// \tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t// \tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t// \tlet targetColumn = '';\n\t// \ttargetColumn = Array.isArray(config.target)\n\t// \t\t? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(',')\n\t// \t\t: this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));\n\t// \tthis.config.onConflict = sql`(${\n\t// \t\tsql.raw(targetColumn)\n\t// \t})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t// \treturn this as any;\n\t// }\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelInsertPrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(\n\t\t\t\tquery,\n\t\t\t\tthis.config.returning,\n\t\t\t\tname ?? (generateName ? preparedStatementName(query.sql, query.params) : name),\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\ttype: 'insert',\n\t\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelInsertPrepare<this> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AA2DA,IAAa,mBAAb,MAIE;CACD,QAAiB,cAAsB;CAEvC,YACC,AAAQ,OACR,AAAQ,SACR,AAAQ,SACR,AAAQ,UACR,AAAQ,wBACP;EALO;EACA;EACA;EACA;EACA;;CAGT,wBAAqG;AACpG,OAAK,yBAAyB;AAC9B,SAAO;;CAKR,OACC,QACsC;AACtC,WAAS,MAAM,QAAQ,OAAO,GAAG,SAAS,CAAC,OAAO;AAClD,MAAI,OAAO,WAAW,EACrB,OAAM,IAAI,MAAM,kDAAkD;EAEnE,MAAM,eAAe,OAAO,KAAK,UAAU;GAC1C,MAAM,SAAsC,EAAE;GAC9C,MAAM,OAAO,KAAK,MAAM,MAAM,OAAO;AACrC,QAAK,MAAM,UAAU,OAAO,KAAK,MAAM,EAAE;IACxC,MAAM,WAAW,MAAM;AACvB,WAAO,UAAU,GAAG,UAAU,IAAI,GAAG,WAAW,IAAI,MAAM,UAAU,KAAK,QAAQ;;AAElF,UAAO;IACN;AAEF,SAAO,IAAI,cACV,KAAK,OACL,cACA,KAAK,SACL,KAAK,SACL,KAAK,UACL,OACA,KAAK,uBACL;;CAOF,OACC,aAIsC;EACtC,MAAM,SAAS,OAAO,gBAAgB,aAAa,YAAY,IAAI,cAAc,CAAC,GAAG;AAErF,MACC,CAAC,GAAG,QAAQ,IAAI,IACb,CAAC,aAAa,KAAK,MAAM,eAAe,OAAO,EAAE,eAAe,CAEnE,OAAM,IAAI,MACT,qHACA;AAGF,SAAO,IAAI,cAAc,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,UAAU,KAAK;;;AA0F/F,IAAa,gBAAb,cAQU,aAIV;CACC,QAA0B,cAAsB;CAEhD,AAAQ;CAER,YACC,OACA,QACA,AAAQ,SACR,AAAQ,SACR,UACA,QACA,wBACC;AACD,SAAO;EANC;EACA;AAMR,OAAK,SAAS;GAAE;GAAe;GAAe;GAAU;GAAQ;GAAwB;;CA2BzF,UACC,SAA6B,KAAK,OAAO,MAAM,MAAM,OAAO,UACJ;AACxD,OAAK,OAAO,YAAY,oBAA+B,OAAO;AAC9D,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGR,SAAc;AACb,SAAO,KAAK,QAAQ,iBAAiB,KAAK,OAAO;;CAGlD,QAAe;EACd,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AAC7E,SAAO;;;CAIR,SAAS,MAAe,eAAe,OAA+B;AACrE,SAAO,OAAO,gBAAgB,8BAA8B;GAC3D,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,UAAO,KAAK,QAAQ,aAKnB,OACA,KAAK,OAAO,WACZ,SAAS,eAAe,sBAAsB,MAAM,KAAK,MAAM,OAAO,GAAG,OACzE,QACA;IACC,MAAM;IACN,QAAQ,iBAAiB,KAAK,OAAO,MAAM;IAC3C,CACD;IACA;;CAGH,QAAQ,MAAuC;AAC9C,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAS,WAAmD,sBAAsB;AACjF,SAAO,OAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;IAChD;;CAGH,WAAmC;AAClC,SAAO"}
|
|
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
3
3
|
let __entity_ts = require("../../entity.cjs");
|
|
4
4
|
let __tracing_ts = require("../../tracing.cjs");
|
|
5
|
-
let __query_promise_ts = require("../../query-promise.cjs");
|
|
6
5
|
let __relations_ts = require("../../relations.cjs");
|
|
7
6
|
let __query_name_generator_ts = require("../../query-name-generator.cjs");
|
|
7
|
+
let __query_promise_ts = require("../../query-promise.cjs");
|
|
8
8
|
|
|
9
9
|
//#region src/gel-core/query-builders/query.ts
|
|
10
10
|
var RelationalQueryBuilder = class {
|
|
@@ -39,10 +39,18 @@ var PgRelationalQuery = class extends __query_promise_ts.QueryPromise {
|
|
|
39
39
|
_prepare(name, generateName = false) {
|
|
40
40
|
return __tracing_ts.tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
41
41
|
const { query, builtQuery } = this._toSQL();
|
|
42
|
-
return this.session.prepareRelationalQuery(builtQuery, void 0, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(builtQuery.sql, builtQuery.params) : name), (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
return this.session.prepareRelationalQuery(builtQuery, void 0, name ?? (generateName ? (0, __query_name_generator_ts.preparedStatementName)(builtQuery.sql, builtQuery.params) : name), (0, __relations_ts.makeDefaultRqbMapper)({
|
|
43
|
+
isFirst: this.mode === "first",
|
|
44
|
+
parseJson: false,
|
|
45
|
+
parseJsonIfString: false,
|
|
46
|
+
rootJsonMappers: true,
|
|
47
|
+
selection: query.selection
|
|
48
|
+
}), {
|
|
49
|
+
isFirst: this.mode === "first",
|
|
50
|
+
parseJson: false,
|
|
51
|
+
parseJsonIfString: false,
|
|
52
|
+
rootJsonMappers: true,
|
|
53
|
+
selection: query.selection
|
|
46
54
|
});
|
|
47
55
|
});
|
|
48
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.cjs","names":["entityKind","QueryPromise","tracer"],"sources":["../../../src/gel-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\
|
|
1
|
+
{"version":3,"file":"query.cjs","names":["entityKind","QueryPromise","tracer"],"sources":["../../../src/gel-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { preparedStatementName } from '~/query-name-generator.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmakeDefaultRqbMapper,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { GelDialect } from '../dialect.ts';\nimport type { GelPreparedQuery, GelSession, PreparedQueryConfig } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class RelationalQueryBuilder<\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'GelRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate schema: TSchema,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.schema,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig as DBQueryConfig<'many'> | undefined ?? true,\n\t\t\t'many',\n\t\t);\n\t}\n\n\tfindFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>,\n\t): PgRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig> | undefined> {\n\t\treturn new PgRelationalQuery(\n\t\t\tthis.schema,\n\t\t\tthis.table,\n\t\t\tthis.tableConfig,\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tconfig as DBQueryConfig<'one'> | undefined ?? true,\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class PgRelationalQuery<TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'pg'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelRelationalQueryV2';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'pg';\n\t\treadonly result: TResult;\n\t};\n\n\tconstructor(\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate table: GelTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: GelDialect,\n\t\tprivate session: GelSession,\n\t\tprivate config: DBQueryConfig<'many' | 'one'> | true,\n\t\tprivate mode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\t\treturn this.session.prepareRelationalQuery<PreparedQueryConfig & { execute: TResult }>(\n\t\t\t\tbuiltQuery,\n\t\t\t\tundefined,\n\t\t\t\tname ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name),\n\t\t\t\tmakeDefaultRqbMapper({\n\t\t\t\t\tisFirst: this.mode === 'first',\n\t\t\t\t\tparseJson: false,\n\t\t\t\t\tparseJsonIfString: false,\n\t\t\t\t\trootJsonMappers: true,\n\t\t\t\t\tselection: query.selection,\n\t\t\t\t}),\n\t\t\t\t{\n\t\t\t\t\tisFirst: this.mode === 'first',\n\t\t\t\t\tparseJson: false,\n\t\t\t\t\tparseJsonIfString: false,\n\t\t\t\t\trootJsonMappers: true,\n\t\t\t\t\tselection: query.selection,\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tprepare(name?: string): GelPreparedQuery<PreparedQueryConfig & { execute: TResult }> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect.buildRelationalQuery({\n\t\t\tschema: this.schema,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\tmode: this.mode,\n\t\t});\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this._getQuery().sql;\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\toverride execute(): Promise<TResult> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute();\n\t\t});\n\t}\n}\n"],"mappings":";;;;;;;;;AAmBA,IAAa,yBAAb,MAGE;CACD,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACP;EALO;EACA;EACA;EACA;EACA;;CAGT,SACC,QACmE;AACnE,SAAO,IAAI,kBACV,KAAK,QACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,UAA+C,MAC/C,OACA;;CAGF,UACC,QAC6E;AAC7E,SAAO,IAAI,kBACV,KAAK,QACL,KAAK,OACL,KAAK,aACL,KAAK,SACL,KAAK,SACL,UAA8C,MAC9C,QACA;;;AAIH,IAAa,oBAAb,cAAgDC,gCAEhD;CACC,QAA0BD,0BAAsB;CAOhD,YACC,AAAQ,QACR,AAAQ,OACR,AAAQ,aACR,AAAQ,SACR,AAAQ,SACR,AAAQ,QACR,AAAQ,MACP;AACD,SAAO;EARC;EACA;EACA;EACA;EACA;EACA;EACA;;;CAMT,SAAS,MAAe,eAAe,OAAqE;AAC3G,SAAOE,oBAAO,gBAAgB,8BAA8B;GAC3D,MAAM,EAAE,OAAO,eAAe,KAAK,QAAQ;AAE3C,UAAO,KAAK,QAAQ,uBACnB,YACA,QACA,SAAS,oEAAqC,WAAW,KAAK,WAAW,OAAO,GAAG,gDAC9D;IACpB,SAAS,KAAK,SAAS;IACvB,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,WAAW,MAAM;IACjB,CAAC,EACF;IACC,SAAS,KAAK,SAAS;IACvB,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,WAAW,MAAM;IACjB,CACD;IACA;;CAGH,QAAQ,MAA6E;AACpF,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,AAAQ,YAAY;AACnB,SAAO,KAAK,QAAQ,qBAAqB;GACxC,QAAQ,KAAK;GACb,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,MAAM,KAAK;GACX,CAAC;;;CAIH,SAAc;AACb,SAAO,KAAK,WAAW,CAAC;;CAGzB,AAAQ,SAA8E;EACrF,MAAM,QAAQ,KAAK,WAAW;AAI9B,SAAO;GAAE;GAAO,YAFG,KAAK,QAAQ,WAAW,MAAM,IAAI;GAEzB;;CAG7B,QAAe;AACd,SAAO,KAAK,QAAQ,CAAC;;CAGtB,AAAS,UAA4B;AACpC,SAAOA,oBAAO,gBAAgB,2BAA2B;AACxD,UAAO,KAAK,UAAU,CAAC,SAAS;IAC/B"}
|
|
@@ -4,8 +4,8 @@ import { GelPreparedQuery, GelSession, PreparedQueryConfig } from "../session.js
|
|
|
4
4
|
import { entityKind } from "../../entity.js";
|
|
5
5
|
import { KnownKeysOnly } from "../../utils.js";
|
|
6
6
|
import { Query, SQLWrapper } from "../../sql/sql.js";
|
|
7
|
-
import { QueryPromise } from "../../query-promise.js";
|
|
8
7
|
import { BuildQueryResult, DBQueryConfig, TableRelationalConfig, TablesRelationalConfig } from "../../relations.js";
|
|
8
|
+
import { QueryPromise } from "../../query-promise.js";
|
|
9
9
|
import { RunnableQuery } from "../../runnable-query.js";
|
|
10
10
|
|
|
11
11
|
//#region src/gel-core/query-builders/query.d.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { entityKind } from "../../entity.js";
|
|
2
2
|
import { tracer } from "../../tracing.js";
|
|
3
|
-
import {
|
|
4
|
-
import { mapRelationalRow } from "../../relations.js";
|
|
3
|
+
import { makeDefaultRqbMapper } from "../../relations.js";
|
|
5
4
|
import { preparedStatementName } from "../../query-name-generator.js";
|
|
5
|
+
import { QueryPromise } from "../../query-promise.js";
|
|
6
6
|
|
|
7
7
|
//#region src/gel-core/query-builders/query.ts
|
|
8
8
|
var RelationalQueryBuilder = class {
|
|
@@ -37,10 +37,18 @@ var PgRelationalQuery = class extends QueryPromise {
|
|
|
37
37
|
_prepare(name, generateName = false) {
|
|
38
38
|
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
39
39
|
const { query, builtQuery } = this._toSQL();
|
|
40
|
-
return this.session.prepareRelationalQuery(builtQuery, void 0, name ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name), (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
return this.session.prepareRelationalQuery(builtQuery, void 0, name ?? (generateName ? preparedStatementName(builtQuery.sql, builtQuery.params) : name), makeDefaultRqbMapper({
|
|
41
|
+
isFirst: this.mode === "first",
|
|
42
|
+
parseJson: false,
|
|
43
|
+
parseJsonIfString: false,
|
|
44
|
+
rootJsonMappers: true,
|
|
45
|
+
selection: query.selection
|
|
46
|
+
}), {
|
|
47
|
+
isFirst: this.mode === "first",
|
|
48
|
+
parseJson: false,
|
|
49
|
+
parseJsonIfString: false,
|
|
50
|
+
rootJsonMappers: true,
|
|
51
|
+
selection: query.selection
|
|
44
52
|
});
|
|
45
53
|
});
|
|
46
54
|
}
|