drizzle-orm 0.36.4-14e59f4 → 0.36.4-3c69a1f
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 +328 -0
- package/_relations.cjs.map +1 -0
- package/_relations.d.cts +215 -0
- package/_relations.d.ts +215 -0
- package/_relations.js +316 -0
- package/_relations.js.map +1 -0
- package/alias.cjs.map +1 -1
- package/alias.d.cts +3 -3
- package/alias.d.ts +3 -3
- package/alias.js.map +1 -1
- package/aws-data-api/pg/driver.cjs +19 -5
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +9 -8
- package/aws-data-api/pg/driver.d.ts +9 -8
- package/aws-data-api/pg/driver.js +9 -8
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/migrator.cjs.map +1 -1
- package/aws-data-api/pg/migrator.d.cts +2 -1
- package/aws-data-api/pg/migrator.d.ts +2 -1
- package/aws-data-api/pg/migrator.js.map +1 -1
- package/aws-data-api/pg/session.cjs +67 -4
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +13 -8
- package/aws-data-api/pg/session.d.ts +13 -8
- package/aws-data-api/pg/session.js +67 -4
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs +12 -5
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +7 -6
- package/better-sqlite3/driver.d.ts +7 -6
- package/better-sqlite3/driver.js +12 -8
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/migrator.cjs.map +1 -1
- package/better-sqlite3/migrator.d.cts +2 -1
- package/better-sqlite3/migrator.d.ts +2 -1
- package/better-sqlite3/migrator.js.map +1 -1
- package/better-sqlite3/session.cjs +49 -4
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +14 -8
- package/better-sqlite3/session.d.ts +14 -8
- package/better-sqlite3/session.js +49 -4
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sqlite/driver.cjs +22 -5
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +7 -6
- package/bun-sqlite/driver.d.ts +7 -6
- package/bun-sqlite/driver.js +12 -8
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/migrator.cjs.map +1 -1
- package/bun-sqlite/migrator.d.cts +2 -1
- package/bun-sqlite/migrator.d.ts +2 -1
- package/bun-sqlite/migrator.js.map +1 -1
- package/bun-sqlite/session.cjs +49 -4
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +14 -8
- package/bun-sqlite/session.d.ts +14 -8
- package/bun-sqlite/session.js +49 -4
- package/bun-sqlite/session.js.map +1 -1
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +3 -4
- package/column-builder.d.ts +3 -4
- package/column-builder.js.map +1 -1
- package/d1/driver.cjs +22 -5
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.cts +3 -2
- package/d1/driver.d.ts +3 -2
- package/d1/driver.js +12 -8
- package/d1/driver.js.map +1 -1
- package/d1/migrator.cjs.map +1 -1
- package/d1/migrator.d.cts +2 -1
- package/d1/migrator.d.ts +2 -1
- package/d1/migrator.js.map +1 -1
- package/d1/session.cjs +48 -6
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +15 -8
- package/d1/session.d.ts +15 -8
- package/d1/session.js +48 -6
- package/d1/session.js.map +1 -1
- package/expo-sqlite/driver.cjs +22 -5
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.cts +3 -2
- package/expo-sqlite/driver.d.ts +3 -2
- package/expo-sqlite/driver.js +12 -8
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/migrator.cjs.map +1 -1
- package/expo-sqlite/migrator.d.cts +3 -2
- package/expo-sqlite/migrator.d.ts +3 -2
- package/expo-sqlite/migrator.js.map +1 -1
- package/expo-sqlite/query.cjs +13 -2
- package/expo-sqlite/query.cjs.map +1 -1
- package/expo-sqlite/query.d.cts +2 -1
- package/expo-sqlite/query.d.ts +2 -1
- package/expo-sqlite/query.js +3 -2
- package/expo-sqlite/query.js.map +1 -1
- package/expo-sqlite/session.cjs +47 -4
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +14 -8
- package/expo-sqlite/session.d.ts +14 -8
- package/expo-sqlite/session.js +47 -4
- package/expo-sqlite/session.js.map +1 -1
- package/libsql/driver-core.cjs +22 -5
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.d.cts +2 -1
- package/libsql/driver-core.d.ts +2 -1
- package/libsql/driver-core.js +12 -8
- package/libsql/driver-core.js.map +1 -1
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +6 -5
- package/libsql/driver.d.ts +6 -5
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/http/index.d.cts +6 -5
- package/libsql/http/index.d.ts +6 -5
- package/libsql/http/index.js.map +1 -1
- package/libsql/migrator.cjs.map +1 -1
- package/libsql/migrator.d.cts +2 -1
- package/libsql/migrator.d.ts +2 -1
- package/libsql/migrator.js.map +1 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/node/index.d.cts +6 -5
- package/libsql/node/index.d.ts +6 -5
- package/libsql/node/index.js.map +1 -1
- package/libsql/session.cjs +60 -4
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +15 -9
- package/libsql/session.d.ts +15 -9
- package/libsql/session.js +60 -4
- package/libsql/session.js.map +1 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/sqlite3/index.d.cts +6 -5
- package/libsql/sqlite3/index.d.ts +6 -5
- package/libsql/sqlite3/index.js.map +1 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/wasm/index.d.cts +6 -5
- package/libsql/wasm/index.d.ts +6 -5
- package/libsql/wasm/index.js.map +1 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/web/index.d.cts +6 -5
- package/libsql/web/index.d.ts +6 -5
- package/libsql/web/index.js.map +1 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/libsql/ws/index.d.cts +6 -5
- package/libsql/ws/index.d.ts +6 -5
- package/libsql/ws/index.js.map +1 -1
- package/mysql-core/db.cjs +29 -8
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +15 -8
- package/mysql-core/db.d.ts +15 -8
- package/mysql-core/db.js +28 -7
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +170 -15
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +29 -13
- package/mysql-core/dialect.d.ts +29 -13
- package/mysql-core/dialect.js +167 -21
- package/mysql-core/dialect.js.map +1 -1
- package/{singlestore-core/query-builders/query.cjs → mysql-core/query-builders/_query.cjs} +41 -18
- package/mysql-core/query-builders/_query.cjs.map +1 -0
- package/mysql-core/query-builders/_query.d.cts +44 -0
- package/mysql-core/query-builders/_query.d.ts +44 -0
- package/{singlestore-core/query-builders/query.js → mysql-core/query-builders/_query.js} +29 -18
- package/mysql-core/query-builders/_query.js.map +1 -0
- package/mysql-core/query-builders/count.cjs.map +1 -1
- package/mysql-core/query-builders/count.d.cts +1 -1
- package/mysql-core/query-builders/count.d.ts +1 -1
- package/mysql-core/query-builders/count.js.map +1 -1
- package/mysql-core/query-builders/query.cjs +18 -31
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.d.cts +8 -10
- package/mysql-core/query-builders/query.d.ts +8 -10
- package/mysql-core/query-builders/query.js +18 -31
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/session.cjs +3 -2
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +10 -7
- package/mysql-core/session.d.ts +10 -7
- package/mysql-core/session.js +3 -2
- package/mysql-core/session.js.map +1 -1
- package/mysql-proxy/driver.cjs +22 -5
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +3 -2
- package/mysql-proxy/driver.d.ts +3 -2
- package/mysql-proxy/driver.js +12 -8
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/migrator.cjs.map +1 -1
- package/mysql-proxy/migrator.d.cts +2 -1
- package/mysql-proxy/migrator.d.ts +2 -1
- package/mysql-proxy/migrator.js.map +1 -1
- package/mysql-proxy/session.cjs +47 -2
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +13 -8
- package/mysql-proxy/session.d.ts +13 -8
- package/mysql-proxy/session.js +47 -2
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +24 -7
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +10 -9
- package/mysql2/driver.d.ts +10 -9
- package/mysql2/driver.js +14 -10
- package/mysql2/driver.js.map +1 -1
- package/mysql2/migrator.cjs.map +1 -1
- package/mysql2/migrator.d.cts +2 -1
- package/mysql2/migrator.d.ts +2 -1
- package/mysql2/migrator.js.map +1 -1
- package/mysql2/session.cjs +51 -2
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +13 -8
- package/mysql2/session.d.ts +13 -8
- package/mysql2/session.js +51 -2
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +22 -8
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +11 -10
- package/neon-http/driver.d.ts +11 -10
- package/neon-http/driver.js +12 -8
- package/neon-http/driver.js.map +1 -1
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.d.cts +2 -1
- package/neon-http/migrator.d.ts +2 -1
- package/neon-http/migrator.js.map +1 -1
- package/neon-http/session.cjs +32 -2
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +13 -8
- package/neon-http/session.d.ts +13 -8
- package/neon-http/session.js +32 -2
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +18 -7
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +9 -8
- package/neon-serverless/driver.d.ts +9 -8
- package/neon-serverless/driver.js +8 -10
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/migrator.cjs.map +1 -1
- package/neon-serverless/migrator.d.cts +2 -1
- package/neon-serverless/migrator.d.ts +2 -1
- package/neon-serverless/migrator.js.map +1 -1
- package/neon-serverless/session.cjs +40 -5
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +13 -8
- package/neon-serverless/session.d.ts +13 -8
- package/neon-serverless/session.js +40 -5
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +13 -7
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +9 -8
- package/node-postgres/driver.d.ts +9 -8
- package/node-postgres/driver.js +13 -10
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/migrator.cjs.map +1 -1
- package/node-postgres/migrator.d.cts +2 -1
- package/node-postgres/migrator.d.ts +2 -1
- package/node-postgres/migrator.js.map +1 -1
- package/node-postgres/session.cjs +45 -4
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +13 -8
- package/node-postgres/session.d.ts +13 -8
- package/node-postgres/session.js +45 -4
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +22 -5
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.cts +3 -2
- package/op-sqlite/driver.d.ts +3 -2
- package/op-sqlite/driver.js +12 -8
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/migrator.cjs.map +1 -1
- package/op-sqlite/migrator.d.cts +3 -2
- package/op-sqlite/migrator.d.ts +3 -2
- package/op-sqlite/migrator.js.map +1 -1
- package/op-sqlite/session.cjs +47 -4
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +14 -8
- package/op-sqlite/session.d.ts +14 -8
- package/op-sqlite/session.js +47 -4
- package/op-sqlite/session.js.map +1 -1
- package/package.json +65 -798
- package/pg-core/db.cjs +31 -7
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +18 -11
- package/pg-core/db.d.ts +18 -11
- package/pg-core/db.js +30 -6
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +146 -488
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +21 -7
- package/pg-core/dialect.d.ts +21 -7
- package/pg-core/dialect.js +143 -494
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/_query.cjs +155 -0
- package/pg-core/query-builders/_query.cjs.map +1 -0
- package/pg-core/query-builders/_query.d.cts +47 -0
- package/pg-core/query-builders/_query.d.ts +47 -0
- package/pg-core/query-builders/_query.js +120 -0
- package/pg-core/query-builders/_query.js.map +1 -0
- package/pg-core/query-builders/count.cjs +0 -1
- package/pg-core/query-builders/count.cjs.map +1 -1
- package/pg-core/query-builders/count.d.cts +2 -3
- package/pg-core/query-builders/count.d.ts +2 -3
- package/pg-core/query-builders/count.js +0 -1
- package/pg-core/query-builders/count.js.map +1 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +9 -1
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.js +9 -1
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query.cjs +15 -18
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +6 -6
- package/pg-core/query-builders/query.d.ts +6 -6
- package/pg-core/query-builders/query.js +15 -18
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/select.cjs +10 -2
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.js +11 -8
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +7 -1
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +2 -2
- package/pg-core/query-builders/update.d.ts +2 -2
- package/pg-core/query-builders/update.js +8 -6
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +3 -2
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +10 -8
- package/pg-core/session.d.ts +10 -8
- package/pg-core/session.js +3 -2
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/driver.cjs +21 -5
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +3 -2
- package/pg-proxy/driver.d.ts +3 -2
- package/pg-proxy/driver.js +11 -8
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/migrator.cjs.map +1 -1
- package/pg-proxy/migrator.d.cts +2 -1
- package/pg-proxy/migrator.d.ts +2 -1
- package/pg-proxy/migrator.js.map +1 -1
- package/pg-proxy/session.cjs +37 -2
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +13 -8
- package/pg-proxy/session.d.ts +13 -8
- package/pg-proxy/session.js +37 -2
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +23 -7
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +9 -8
- package/pglite/driver.d.ts +9 -8
- package/pglite/driver.js +13 -10
- package/pglite/driver.js.map +1 -1
- package/pglite/migrator.cjs.map +1 -1
- package/pglite/migrator.d.cts +2 -1
- package/pglite/migrator.d.ts +2 -1
- package/pglite/migrator.js.map +1 -1
- package/pglite/session.cjs +34 -3
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +13 -8
- package/pglite/session.d.ts +13 -8
- package/pglite/session.js +34 -3
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +22 -5
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +7 -6
- package/planetscale-serverless/driver.d.ts +7 -6
- package/planetscale-serverless/driver.js +12 -8
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/migrator.cjs.map +1 -1
- package/planetscale-serverless/migrator.d.cts +2 -1
- package/planetscale-serverless/migrator.d.ts +2 -1
- package/planetscale-serverless/migrator.js.map +1 -1
- package/planetscale-serverless/session.cjs +68 -5
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +14 -9
- package/planetscale-serverless/session.d.ts +14 -9
- package/planetscale-serverless/session.js +68 -5
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +12 -6
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +7 -6
- package/postgres-js/driver.d.ts +7 -6
- package/postgres-js/driver.js +12 -9
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/migrator.cjs.map +1 -1
- package/postgres-js/migrator.d.cts +2 -1
- package/postgres-js/migrator.d.ts +2 -1
- package/postgres-js/migrator.js.map +1 -1
- package/postgres-js/session.cjs +51 -6
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +15 -9
- package/postgres-js/session.d.ts +15 -9
- package/postgres-js/session.js +51 -6
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/driver.cjs +1 -1
- package/prisma/mysql/driver.cjs.map +1 -1
- package/prisma/mysql/driver.js +1 -1
- package/prisma/mysql/driver.js.map +1 -1
- package/prisma/mysql/session.cjs +3 -0
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.d.cts +3 -1
- package/prisma/mysql/session.d.ts +3 -1
- package/prisma/mysql/session.js +3 -0
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/driver.cjs +1 -1
- package/prisma/pg/driver.cjs.map +1 -1
- package/prisma/pg/driver.js +1 -1
- package/prisma/pg/driver.js.map +1 -1
- package/prisma/pg/session.cjs +3 -0
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.d.cts +3 -1
- package/prisma/pg/session.d.ts +3 -1
- package/prisma/pg/session.js +3 -0
- package/prisma/pg/session.js.map +1 -1
- package/prisma/sqlite/driver.cjs +1 -1
- package/prisma/sqlite/driver.cjs.map +1 -1
- package/prisma/sqlite/driver.js +1 -1
- package/prisma/sqlite/driver.js.map +1 -1
- package/prisma/sqlite/session.cjs +3 -0
- package/prisma/sqlite/session.cjs.map +1 -1
- package/prisma/sqlite/session.d.cts +4 -2
- package/prisma/sqlite/session.d.ts +4 -2
- package/prisma/sqlite/session.js +3 -0
- package/prisma/sqlite/session.js.map +1 -1
- package/relations.cjs +468 -245
- package/relations.cjs.map +1 -1
- package/relations.d.cts +264 -125
- package/relations.d.ts +264 -125
- package/relations.js +455 -238
- package/relations.js.map +1 -1
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +4 -4
- package/sql/sql.d.ts +4 -4
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs +16 -5
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.cts +3 -2
- package/sql-js/driver.d.ts +3 -2
- package/sql-js/driver.js +6 -8
- package/sql-js/driver.js.map +1 -1
- package/sql-js/migrator.cjs.map +1 -1
- package/sql-js/migrator.d.cts +2 -1
- package/sql-js/migrator.d.ts +2 -1
- package/sql-js/migrator.js.map +1 -1
- package/sql-js/session.cjs +58 -4
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +14 -8
- package/sql-js/session.d.ts +14 -8
- package/sql-js/session.js +58 -4
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/columns/blob.cjs +2 -16
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.d.cts +2 -2
- package/sqlite-core/columns/blob.d.ts +2 -2
- package/sqlite-core/columns/blob.js +2 -16
- package/sqlite-core/columns/blob.js.map +1 -1
- package/sqlite-core/db.cjs +35 -14
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +15 -8
- package/sqlite-core/db.d.ts +15 -8
- package/sqlite-core/db.js +34 -13
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +164 -7
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +25 -9
- package/sqlite-core/dialect.d.ts +25 -9
- package/sqlite-core/dialect.js +161 -13
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/_query.cjs +187 -0
- package/sqlite-core/query-builders/_query.cjs.map +1 -0
- package/sqlite-core/query-builders/_query.d.cts +55 -0
- package/sqlite-core/query-builders/_query.d.ts +55 -0
- package/sqlite-core/query-builders/_query.js +151 -0
- package/sqlite-core/query-builders/_query.js.map +1 -0
- package/sqlite-core/query-builders/count.cjs.map +1 -1
- package/sqlite-core/query-builders/count.d.cts +1 -1
- package/sqlite-core/query-builders/count.d.ts +1 -1
- package/sqlite-core/query-builders/count.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.d.cts +1 -1
- package/sqlite-core/query-builders/delete.d.ts +1 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.d.cts +3 -3
- package/sqlite-core/query-builders/insert.d.ts +3 -3
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +30 -48
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.d.cts +14 -16
- package/sqlite-core/query-builders/query.d.ts +14 -16
- package/sqlite-core/query-builders/query.js +30 -48
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +3 -3
- package/sqlite-core/query-builders/select.d.ts +3 -3
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.d.cts +3 -3
- package/sqlite-core/query-builders/update.d.ts +3 -3
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +6 -2
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +14 -6
- package/sqlite-core/session.d.ts +14 -6
- package/sqlite-core/session.js +6 -2
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-proxy/driver.cjs +22 -5
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.cts +4 -3
- package/sqlite-proxy/driver.d.ts +4 -3
- package/sqlite-proxy/driver.js +12 -5
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/migrator.cjs.map +1 -1
- package/sqlite-proxy/migrator.d.cts +2 -1
- package/sqlite-proxy/migrator.d.ts +2 -1
- package/sqlite-proxy/migrator.js.map +1 -1
- package/sqlite-proxy/session.cjs +47 -4
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +14 -8
- package/sqlite-proxy/session.d.ts +14 -8
- package/sqlite-proxy/session.js +47 -4
- package/sqlite-proxy/session.js.map +1 -1
- package/table.cjs.map +1 -1
- package/table.d.cts +1 -1
- package/table.d.ts +1 -1
- package/table.js.map +1 -1
- package/tidb-serverless/driver.cjs +22 -5
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +7 -6
- package/tidb-serverless/driver.d.ts +7 -6
- package/tidb-serverless/driver.js +12 -8
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/migrator.cjs.map +1 -1
- package/tidb-serverless/migrator.d.cts +2 -1
- package/tidb-serverless/migrator.d.ts +2 -1
- package/tidb-serverless/migrator.js.map +1 -1
- package/tidb-serverless/session.cjs +62 -5
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +14 -9
- package/tidb-serverless/session.d.ts +14 -9
- package/tidb-serverless/session.js +62 -5
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs +2 -2
- package/utils.cjs.map +1 -1
- package/utils.d.cts +3 -2
- package/utils.d.ts +3 -2
- package/utils.js +2 -2
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +23 -7
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +9 -8
- package/vercel-postgres/driver.d.ts +9 -8
- package/vercel-postgres/driver.js +13 -10
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/migrator.cjs.map +1 -1
- package/vercel-postgres/migrator.d.cts +2 -1
- package/vercel-postgres/migrator.d.ts +2 -1
- package/vercel-postgres/migrator.js.map +1 -1
- package/vercel-postgres/session.cjs +34 -4
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +13 -8
- package/vercel-postgres/session.d.ts +13 -8
- package/vercel-postgres/session.js +34 -4
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/xata-http/driver.cjs +17 -5
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +5 -4
- package/xata-http/driver.d.ts +5 -4
- package/xata-http/driver.js +7 -5
- package/xata-http/driver.js.map +1 -1
- package/xata-http/migrator.cjs.map +1 -1
- package/xata-http/migrator.d.cts +2 -1
- package/xata-http/migrator.d.ts +2 -1
- package/xata-http/migrator.js.map +1 -1
- package/xata-http/session.cjs +30 -2
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +13 -8
- package/xata-http/session.d.ts +13 -8
- package/xata-http/session.js +30 -2
- package/xata-http/session.js.map +1 -1
- package/durable-sqlite/driver.cjs +0 -64
- package/durable-sqlite/driver.cjs.map +0 -1
- package/durable-sqlite/driver.d.cts +0 -9
- package/durable-sqlite/driver.d.ts +0 -9
- package/durable-sqlite/driver.js +0 -42
- package/durable-sqlite/driver.js.map +0 -1
- package/durable-sqlite/index.cjs +0 -25
- package/durable-sqlite/index.cjs.map +0 -1
- package/durable-sqlite/index.d.cts +0 -2
- package/durable-sqlite/index.d.ts +0 -2
- package/durable-sqlite/index.js +0 -3
- package/durable-sqlite/index.js.map +0 -1
- package/durable-sqlite/migrator.cjs +0 -85
- package/durable-sqlite/migrator.cjs.map +0 -1
- package/durable-sqlite/migrator.d.cts +0 -14
- package/durable-sqlite/migrator.d.ts +0 -14
- package/durable-sqlite/migrator.js +0 -61
- package/durable-sqlite/migrator.js.map +0 -1
- package/durable-sqlite/session.cjs +0 -131
- package/durable-sqlite/session.cjs.map +0 -1
- package/durable-sqlite/session.d.cts +0 -46
- package/durable-sqlite/session.d.ts +0 -46
- package/durable-sqlite/session.js +0 -107
- package/durable-sqlite/session.js.map +0 -1
- package/singlestore/driver.cjs +0 -113
- package/singlestore/driver.cjs.map +0 -1
- package/singlestore/driver.d.cts +0 -52
- package/singlestore/driver.d.ts +0 -52
- package/singlestore/driver.js +0 -89
- package/singlestore/driver.js.map +0 -1
- package/singlestore/index.cjs +0 -25
- package/singlestore/index.cjs.map +0 -1
- package/singlestore/index.d.cts +0 -2
- package/singlestore/index.d.ts +0 -2
- package/singlestore/index.js +0 -3
- package/singlestore/index.js.map +0 -1
- package/singlestore/migrator.cjs +0 -33
- package/singlestore/migrator.cjs.map +0 -1
- package/singlestore/migrator.d.cts +0 -3
- package/singlestore/migrator.d.ts +0 -3
- package/singlestore/migrator.js +0 -9
- package/singlestore/migrator.js.map +0 -1
- package/singlestore/session.cjs +0 -258
- package/singlestore/session.cjs.map +0 -1
- package/singlestore/session.d.cts +0 -52
- package/singlestore/session.d.ts +0 -52
- package/singlestore/session.js +0 -236
- package/singlestore/session.js.map +0 -1
- package/singlestore-core/alias.cjs +0 -32
- package/singlestore-core/alias.cjs.map +0 -1
- package/singlestore-core/alias.d.cts +0 -4
- package/singlestore-core/alias.d.ts +0 -4
- package/singlestore-core/alias.js +0 -8
- package/singlestore-core/alias.js.map +0 -1
- package/singlestore-core/columns/all.cjs +0 -80
- package/singlestore-core/columns/all.cjs.map +0 -1
- package/singlestore-core/columns/all.d.cts +0 -51
- package/singlestore-core/columns/all.d.ts +0 -51
- package/singlestore-core/columns/all.js +0 -56
- package/singlestore-core/columns/all.js.map +0 -1
- package/singlestore-core/columns/bigint.cjs +0 -96
- package/singlestore-core/columns/bigint.cjs.map +0 -1
- package/singlestore-core/columns/bigint.d.cts +0 -54
- package/singlestore-core/columns/bigint.d.ts +0 -54
- package/singlestore-core/columns/bigint.js +0 -68
- package/singlestore-core/columns/bigint.js.map +0 -1
- package/singlestore-core/columns/binary.cjs +0 -60
- package/singlestore-core/columns/binary.cjs.map +0 -1
- package/singlestore-core/columns/binary.d.cts +0 -28
- package/singlestore-core/columns/binary.d.ts +0 -28
- package/singlestore-core/columns/binary.js +0 -34
- package/singlestore-core/columns/binary.js.map +0 -1
- package/singlestore-core/columns/boolean.cjs +0 -62
- package/singlestore-core/columns/boolean.cjs.map +0 -1
- package/singlestore-core/columns/boolean.d.cts +0 -24
- package/singlestore-core/columns/boolean.d.ts +0 -24
- package/singlestore-core/columns/boolean.js +0 -36
- package/singlestore-core/columns/boolean.js.map +0 -1
- package/singlestore-core/columns/char.cjs +0 -62
- package/singlestore-core/columns/char.cjs.map +0 -1
- package/singlestore-core/columns/char.d.cts +0 -31
- package/singlestore-core/columns/char.d.ts +0 -31
- package/singlestore-core/columns/char.js +0 -36
- package/singlestore-core/columns/char.js.map +0 -1
- package/singlestore-core/columns/common.cjs +0 -82
- package/singlestore-core/columns/common.cjs.map +0 -1
- package/singlestore-core/columns/common.d.cts +0 -42
- package/singlestore-core/columns/common.d.ts +0 -42
- package/singlestore-core/columns/common.js +0 -55
- package/singlestore-core/columns/common.js.map +0 -1
- package/singlestore-core/columns/custom.cjs +0 -77
- package/singlestore-core/columns/custom.cjs.map +0 -1
- package/singlestore-core/columns/custom.d.cts +0 -156
- package/singlestore-core/columns/custom.d.ts +0 -156
- package/singlestore-core/columns/custom.js +0 -51
- package/singlestore-core/columns/custom.js.map +0 -1
- package/singlestore-core/columns/date.cjs +0 -93
- package/singlestore-core/columns/date.cjs.map +0 -1
- package/singlestore-core/columns/date.common.cjs +0 -48
- package/singlestore-core/columns/date.common.cjs.map +0 -1
- package/singlestore-core/columns/date.common.d.cts +0 -16
- package/singlestore-core/columns/date.common.d.ts +0 -16
- package/singlestore-core/columns/date.common.js +0 -23
- package/singlestore-core/columns/date.common.js.map +0 -1
- package/singlestore-core/columns/date.d.cts +0 -53
- package/singlestore-core/columns/date.d.ts +0 -53
- package/singlestore-core/columns/date.js +0 -65
- package/singlestore-core/columns/date.js.map +0 -1
- package/singlestore-core/columns/datetime.cjs +0 -106
- package/singlestore-core/columns/datetime.cjs.map +0 -1
- package/singlestore-core/columns/datetime.d.cts +0 -54
- package/singlestore-core/columns/datetime.d.ts +0 -54
- package/singlestore-core/columns/datetime.js +0 -78
- package/singlestore-core/columns/datetime.js.map +0 -1
- package/singlestore-core/columns/decimal.cjs +0 -76
- package/singlestore-core/columns/decimal.cjs.map +0 -1
- package/singlestore-core/columns/decimal.d.cts +0 -32
- package/singlestore-core/columns/decimal.d.ts +0 -32
- package/singlestore-core/columns/decimal.js +0 -50
- package/singlestore-core/columns/decimal.js.map +0 -1
- package/singlestore-core/columns/double.cjs +0 -72
- package/singlestore-core/columns/double.cjs.map +0 -1
- package/singlestore-core/columns/double.d.cts +0 -32
- package/singlestore-core/columns/double.d.ts +0 -32
- package/singlestore-core/columns/double.js +0 -46
- package/singlestore-core/columns/double.js.map +0 -1
- package/singlestore-core/columns/enum.cjs +0 -67
- package/singlestore-core/columns/enum.cjs.map +0 -1
- package/singlestore-core/columns/enum.d.cts +0 -31
- package/singlestore-core/columns/enum.d.ts +0 -31
- package/singlestore-core/columns/enum.js +0 -41
- package/singlestore-core/columns/enum.js.map +0 -1
- package/singlestore-core/columns/float.cjs +0 -72
- package/singlestore-core/columns/float.cjs.map +0 -1
- package/singlestore-core/columns/float.d.cts +0 -32
- package/singlestore-core/columns/float.d.ts +0 -32
- package/singlestore-core/columns/float.js +0 -46
- package/singlestore-core/columns/float.js.map +0 -1
- package/singlestore-core/columns/index.cjs +0 -71
- package/singlestore-core/columns/index.cjs.map +0 -1
- package/singlestore-core/columns/index.d.cts +0 -25
- package/singlestore-core/columns/index.d.ts +0 -25
- package/singlestore-core/columns/index.js +0 -26
- package/singlestore-core/columns/index.js.map +0 -1
- package/singlestore-core/columns/int.cjs +0 -65
- package/singlestore-core/columns/int.cjs.map +0 -1
- package/singlestore-core/columns/int.d.cts +0 -28
- package/singlestore-core/columns/int.d.ts +0 -28
- package/singlestore-core/columns/int.js +0 -39
- package/singlestore-core/columns/int.js.map +0 -1
- package/singlestore-core/columns/json.cjs +0 -59
- package/singlestore-core/columns/json.cjs.map +0 -1
- package/singlestore-core/columns/json.d.cts +0 -24
- package/singlestore-core/columns/json.d.ts +0 -24
- package/singlestore-core/columns/json.js +0 -33
- package/singlestore-core/columns/json.js.map +0 -1
- package/singlestore-core/columns/mediumint.cjs +0 -65
- package/singlestore-core/columns/mediumint.cjs.map +0 -1
- package/singlestore-core/columns/mediumint.d.cts +0 -26
- package/singlestore-core/columns/mediumint.d.ts +0 -26
- package/singlestore-core/columns/mediumint.js +0 -39
- package/singlestore-core/columns/mediumint.js.map +0 -1
- package/singlestore-core/columns/real.cjs +0 -68
- package/singlestore-core/columns/real.cjs.map +0 -1
- package/singlestore-core/columns/real.d.cts +0 -30
- package/singlestore-core/columns/real.d.ts +0 -30
- package/singlestore-core/columns/real.js +0 -42
- package/singlestore-core/columns/real.js.map +0 -1
- package/singlestore-core/columns/serial.cjs +0 -64
- package/singlestore-core/columns/serial.cjs.map +0 -1
- package/singlestore-core/columns/serial.d.cts +0 -24
- package/singlestore-core/columns/serial.d.ts +0 -24
- package/singlestore-core/columns/serial.js +0 -38
- package/singlestore-core/columns/serial.js.map +0 -1
- package/singlestore-core/columns/smallint.cjs +0 -65
- package/singlestore-core/columns/smallint.cjs.map +0 -1
- package/singlestore-core/columns/smallint.d.cts +0 -26
- package/singlestore-core/columns/smallint.d.ts +0 -26
- package/singlestore-core/columns/smallint.js +0 -39
- package/singlestore-core/columns/smallint.js.map +0 -1
- package/singlestore-core/columns/text.cjs +0 -80
- package/singlestore-core/columns/text.cjs.map +0 -1
- package/singlestore-core/columns/text.d.cts +0 -46
- package/singlestore-core/columns/text.d.ts +0 -46
- package/singlestore-core/columns/text.js +0 -51
- package/singlestore-core/columns/text.js.map +0 -1
- package/singlestore-core/columns/time.cjs +0 -56
- package/singlestore-core/columns/time.cjs.map +0 -1
- package/singlestore-core/columns/time.d.cts +0 -23
- package/singlestore-core/columns/time.d.ts +0 -23
- package/singlestore-core/columns/time.js +0 -30
- package/singlestore-core/columns/time.js.map +0 -1
- package/singlestore-core/columns/timestamp.cjs +0 -97
- package/singlestore-core/columns/timestamp.cjs.map +0 -1
- package/singlestore-core/columns/timestamp.d.cts +0 -49
- package/singlestore-core/columns/timestamp.d.ts +0 -49
- package/singlestore-core/columns/timestamp.js +0 -69
- package/singlestore-core/columns/timestamp.js.map +0 -1
- package/singlestore-core/columns/tinyint.cjs +0 -65
- package/singlestore-core/columns/tinyint.cjs.map +0 -1
- package/singlestore-core/columns/tinyint.d.cts +0 -26
- package/singlestore-core/columns/tinyint.d.ts +0 -26
- package/singlestore-core/columns/tinyint.js +0 -39
- package/singlestore-core/columns/tinyint.js.map +0 -1
- package/singlestore-core/columns/varbinary.cjs +0 -61
- package/singlestore-core/columns/varbinary.cjs.map +0 -1
- package/singlestore-core/columns/varbinary.d.cts +0 -26
- package/singlestore-core/columns/varbinary.d.ts +0 -26
- package/singlestore-core/columns/varbinary.js +0 -35
- package/singlestore-core/columns/varbinary.js.map +0 -1
- package/singlestore-core/columns/varchar.cjs +0 -63
- package/singlestore-core/columns/varchar.cjs.map +0 -1
- package/singlestore-core/columns/varchar.d.cts +0 -29
- package/singlestore-core/columns/varchar.d.ts +0 -29
- package/singlestore-core/columns/varchar.js +0 -37
- package/singlestore-core/columns/varchar.js.map +0 -1
- package/singlestore-core/columns/year.cjs +0 -56
- package/singlestore-core/columns/year.cjs.map +0 -1
- package/singlestore-core/columns/year.d.cts +0 -23
- package/singlestore-core/columns/year.d.ts +0 -23
- package/singlestore-core/columns/year.js +0 -30
- package/singlestore-core/columns/year.js.map +0 -1
- package/singlestore-core/db.cjs +0 -261
- package/singlestore-core/db.cjs.map +0 -1
- package/singlestore-core/db.d.cts +0 -231
- package/singlestore-core/db.d.ts +0 -231
- package/singlestore-core/db.js +0 -242
- package/singlestore-core/db.js.map +0 -1
- package/singlestore-core/dialect.cjs +0 -607
- package/singlestore-core/dialect.cjs.map +0 -1
- package/singlestore-core/dialect.d.cts +0 -64
- package/singlestore-core/dialect.d.ts +0 -64
- package/singlestore-core/dialect.js +0 -589
- package/singlestore-core/dialect.js.map +0 -1
- package/singlestore-core/expressions.cjs +0 -49
- package/singlestore-core/expressions.cjs.map +0 -1
- package/singlestore-core/expressions.d.cts +0 -8
- package/singlestore-core/expressions.d.ts +0 -8
- package/singlestore-core/expressions.js +0 -22
- package/singlestore-core/expressions.js.map +0 -1
- package/singlestore-core/index.cjs +0 -47
- package/singlestore-core/index.cjs.map +0 -1
- package/singlestore-core/index.d.cts +0 -13
- package/singlestore-core/index.d.ts +0 -13
- package/singlestore-core/index.js +0 -14
- package/singlestore-core/index.js.map +0 -1
- package/singlestore-core/indexes.cjs +0 -88
- package/singlestore-core/indexes.cjs.map +0 -1
- package/singlestore-core/indexes.d.cts +0 -62
- package/singlestore-core/indexes.d.ts +0 -62
- package/singlestore-core/indexes.js +0 -60
- package/singlestore-core/indexes.js.map +0 -1
- package/singlestore-core/primary-keys.cjs +0 -68
- package/singlestore-core/primary-keys.cjs.map +0 -1
- package/singlestore-core/primary-keys.d.cts +0 -30
- package/singlestore-core/primary-keys.d.ts +0 -30
- package/singlestore-core/primary-keys.js +0 -42
- package/singlestore-core/primary-keys.js.map +0 -1
- package/singlestore-core/query-builders/count.cjs +0 -73
- package/singlestore-core/query-builders/count.cjs.map +0 -1
- package/singlestore-core/query-builders/count.d.cts +0 -25
- package/singlestore-core/query-builders/count.d.ts +0 -25
- package/singlestore-core/query-builders/count.js +0 -49
- package/singlestore-core/query-builders/count.js.map +0 -1
- package/singlestore-core/query-builders/delete.cjs +0 -123
- package/singlestore-core/query-builders/delete.cjs.map +0 -1
- package/singlestore-core/query-builders/delete.d.cts +0 -83
- package/singlestore-core/query-builders/delete.d.ts +0 -83
- package/singlestore-core/query-builders/delete.js +0 -99
- package/singlestore-core/query-builders/delete.js.map +0 -1
- package/singlestore-core/query-builders/index.cjs +0 -33
- package/singlestore-core/query-builders/index.cjs.map +0 -1
- package/singlestore-core/query-builders/index.d.cts +0 -6
- package/singlestore-core/query-builders/index.d.ts +0 -6
- package/singlestore-core/query-builders/index.js +0 -7
- package/singlestore-core/query-builders/index.js.map +0 -1
- package/singlestore-core/query-builders/insert.cjs +0 -146
- package/singlestore-core/query-builders/insert.cjs.map +0 -1
- package/singlestore-core/query-builders/insert.d.cts +0 -106
- package/singlestore-core/query-builders/insert.d.ts +0 -106
- package/singlestore-core/query-builders/insert.js +0 -121
- package/singlestore-core/query-builders/insert.js.map +0 -1
- package/singlestore-core/query-builders/query-builder.cjs +0 -99
- package/singlestore-core/query-builders/query-builder.cjs.map +0 -1
- package/singlestore-core/query-builders/query-builder.d.cts +0 -33
- package/singlestore-core/query-builders/query-builder.d.ts +0 -33
- package/singlestore-core/query-builders/query-builder.js +0 -75
- package/singlestore-core/query-builders/query-builder.js.map +0 -1
- package/singlestore-core/query-builders/query.cjs.map +0 -1
- package/singlestore-core/query-builders/query.d.cts +0 -42
- package/singlestore-core/query-builders/query.d.ts +0 -42
- package/singlestore-core/query-builders/query.js.map +0 -1
- package/singlestore-core/query-builders/select.cjs +0 -687
- package/singlestore-core/query-builders/select.cjs.map +0 -1
- package/singlestore-core/query-builders/select.d.cts +0 -585
- package/singlestore-core/query-builders/select.d.ts +0 -585
- package/singlestore-core/query-builders/select.js +0 -662
- package/singlestore-core/query-builders/select.js.map +0 -1
- package/singlestore-core/query-builders/select.types.cjs +0 -17
- package/singlestore-core/query-builders/select.types.cjs.map +0 -1
- package/singlestore-core/query-builders/select.types.d.cts +0 -137
- package/singlestore-core/query-builders/select.types.d.ts +0 -137
- package/singlestore-core/query-builders/select.types.js +0 -1
- package/singlestore-core/query-builders/select.types.js.map +0 -1
- package/singlestore-core/query-builders/update.cjs +0 -147
- package/singlestore-core/query-builders/update.cjs.map +0 -1
- package/singlestore-core/query-builders/update.d.cts +0 -102
- package/singlestore-core/query-builders/update.d.ts +0 -102
- package/singlestore-core/query-builders/update.js +0 -122
- package/singlestore-core/query-builders/update.js.map +0 -1
- package/singlestore-core/schema.cjs +0 -56
- package/singlestore-core/schema.cjs.map +0 -1
- package/singlestore-core/schema.d.cts +0 -22
- package/singlestore-core/schema.d.ts +0 -22
- package/singlestore-core/schema.js +0 -29
- package/singlestore-core/schema.js.map +0 -1
- package/singlestore-core/session.cjs +0 -87
- package/singlestore-core/session.cjs.map +0 -1
- package/singlestore-core/session.d.cts +0 -66
- package/singlestore-core/session.d.ts +0 -66
- package/singlestore-core/session.js +0 -61
- package/singlestore-core/session.js.map +0 -1
- package/singlestore-core/subquery.cjs +0 -17
- package/singlestore-core/subquery.cjs.map +0 -1
- package/singlestore-core/subquery.d.cts +0 -5
- package/singlestore-core/subquery.d.ts +0 -5
- package/singlestore-core/subquery.js +0 -1
- package/singlestore-core/subquery.js.map +0 -1
- package/singlestore-core/table.cjs +0 -73
- package/singlestore-core/table.cjs.map +0 -1
- package/singlestore-core/table.d.cts +0 -40
- package/singlestore-core/table.d.ts +0 -40
- package/singlestore-core/table.js +0 -46
- package/singlestore-core/table.js.map +0 -1
- package/singlestore-core/unique-constraint.cjs +0 -82
- package/singlestore-core/unique-constraint.cjs.map +0 -1
- package/singlestore-core/unique-constraint.d.cts +0 -24
- package/singlestore-core/unique-constraint.d.ts +0 -24
- package/singlestore-core/unique-constraint.js +0 -54
- package/singlestore-core/unique-constraint.js.map +0 -1
- package/singlestore-core/utils.cjs +0 -65
- package/singlestore-core/utils.cjs.map +0 -1
- package/singlestore-core/utils.d.cts +0 -13
- package/singlestore-core/utils.d.ts +0 -13
- package/singlestore-core/utils.js +0 -41
- package/singlestore-core/utils.js.map +0 -1
- package/singlestore-core/view-base.cjs +0 -33
- package/singlestore-core/view-base.cjs.map +0 -1
- package/singlestore-core/view-base.d.cts +0 -9
- package/singlestore-core/view-base.d.ts +0 -9
- package/singlestore-core/view-base.js +0 -9
- package/singlestore-core/view-base.js.map +0 -1
- package/singlestore-core/view-common.cjs +0 -29
- package/singlestore-core/view-common.cjs.map +0 -1
- package/singlestore-core/view-common.d.cts +0 -1
- package/singlestore-core/view-common.d.ts +0 -1
- package/singlestore-core/view-common.js +0 -5
- package/singlestore-core/view-common.js.map +0 -1
- package/singlestore-core/view.cjs +0 -146
- package/singlestore-core/view.cjs.map +0 -1
- package/singlestore-core/view.d.cts +0 -65
- package/singlestore-core/view.d.ts +0 -65
- package/singlestore-core/view.js +0 -119
- package/singlestore-core/view.js.map +0 -1
- package/singlestore-proxy/driver.cjs +0 -62
- package/singlestore-proxy/driver.cjs.map +0 -1
- package/singlestore-proxy/driver.d.cts +0 -13
- package/singlestore-proxy/driver.d.ts +0 -13
- package/singlestore-proxy/driver.js +0 -42
- package/singlestore-proxy/driver.js.map +0 -1
- package/singlestore-proxy/index.cjs +0 -25
- package/singlestore-proxy/index.cjs.map +0 -1
- package/singlestore-proxy/index.d.cts +0 -2
- package/singlestore-proxy/index.d.ts +0 -2
- package/singlestore-proxy/index.js +0 -3
- package/singlestore-proxy/index.js.map +0 -1
- package/singlestore-proxy/migrator.cjs +0 -60
- package/singlestore-proxy/migrator.cjs.map +0 -1
- package/singlestore-proxy/migrator.d.cts +0 -4
- package/singlestore-proxy/migrator.d.ts +0 -4
- package/singlestore-proxy/migrator.js +0 -36
- package/singlestore-proxy/migrator.js.map +0 -1
- package/singlestore-proxy/session.cjs +0 -127
- package/singlestore-proxy/session.cjs.map +0 -1
- package/singlestore-proxy/session.d.cts +0 -50
- package/singlestore-proxy/session.d.ts +0 -50
- package/singlestore-proxy/session.js +0 -101
- package/singlestore-proxy/session.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sqlite-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.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, sql } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { IndexColumn } from '~/sqlite-core/indexes.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { type DrizzleTypeError, haveSameKeys, mapUpdateSet, orderSelectedFields, type Simplify } from '~/utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from '../columns/common.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { SQLiteUpdateSetSource } from './update.ts';\n\nexport interface SQLiteInsertConfig<TTable extends SQLiteTable = SQLiteTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | SQLiteInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n}\n\nexport type SQLiteInsertValue<TTable extends SQLiteTable> = Simplify<\n\t{\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n>;\n\nexport type SQLiteInsertSelectQueryBuilder<TTable extends SQLiteTable> = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnySQLiteColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class SQLiteInsertBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteInsertBuilder';\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession<any, any, any, any>,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tvalues(value: SQLiteInsertValue<TTable>): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tvalues(values: SQLiteInsertValue<TTable>[]): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tvalues(\n\t\tvalues: SQLiteInsertValue<TTable> | SQLiteInsertValue<TTable>[],\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult> {\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\t// if (mappedValues.length > 1 && mappedValues.some((t) => Object.keys(t).length === 0)) {\n\t\t// \tthrow new Error(\n\t\t// \t\t`One of the values you want to insert is empty. In SQLite you can insert only one empty object per statement. For this case Drizzle with use \"INSERT INTO ... DEFAULT VALUES\" syntax`,\n\t\t// \t);\n\t\t// }\n\n\t\treturn new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);\n\t}\n\n\tselect(\n\t\tselectQuery: (qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder<TTable>,\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: SQL): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: SQLiteInsertSelectQueryBuilder<TTable>): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| SQLiteInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder<TTable> | SQL),\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult> {\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[Columns], 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 SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type SQLiteInsertWithout<T extends AnySQLiteInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tSQLiteInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['resultType'],\n\t\t\t\tT['_']['runResult'],\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 SQLiteInsertReturning<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertReturningAll<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertOnConflictDoUpdateConfig<T extends AnySQLiteInsert> = {\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: SQLiteUpdateSetSource<T['_']['table']>;\n};\n\nexport type SQLiteInsertDynamic<T extends AnySQLiteInsert> = SQLiteInsert<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteInsertExecute<T extends AnySQLiteInsert> = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteInsertPrepare<T extends AnySQLiteInsert> = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteInsertExecute<T>;\n\t}\n>;\n\nexport type AnySQLiteInsert = SQLiteInsertBase<any, any, any, any, any, any>;\n\nexport type SQLiteInsert<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning = any,\n> = SQLiteInsertBase<TTable, TResultType, TRunResult, TReturning, true, never>;\n\nexport interface SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tSQLWrapper,\n\tQueryPromise<TReturning extends undefined ? TRunResult : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], 'sqlite'>\n{\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = 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 ? TRunResult : TReturning[]>\n\timplements RunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], 'sqlite'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteInsert';\n\n\t/** @internal */\n\tconfig: SQLiteInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: SQLiteInsertConfig['values'],\n\t\tprivate session: SQLiteSession<any, any, any, any>,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select };\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(): SQLiteInsertReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): SQLiteInsertReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteInsertWithout<AnySQLiteInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<SQLiteColumn>(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\tonConflictDoNothing(config: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {}): this {\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict = sql`do nothing`;\n\t\t} else {\n\t\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : sql``;\n\t\t\tthis.config.onConflict = sql`${targetSql} do nothing${whereSql}`;\n\t\t}\n\t\treturn this;\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 * where: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(config: SQLiteInsertOnConflictDoUpdateConfig<this>): this {\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 targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tthis.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t\treturn this;\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(isOneTimeQuery = true): SQLiteInsertPrepare<this> {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t) as SQLiteInsertPrepare<this>;\n\t}\n\n\tprepare(): SQLiteInsertPrepare<this> {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType<this['prepare']>['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType<this['prepare']>['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType<this['prepare']>['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType<this['prepare']>['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise<SQLiteInsertExecute<this>> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteInsertExecute<this>;\n\t}\n\n\t$dynamic(): SQLiteInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/sqlite-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.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, sql } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { IndexColumn } from '~/sqlite-core/indexes.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { type DrizzleTypeError, haveSameKeys, mapUpdateSet, orderSelectedFields, type Simplify } from '~/utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from '../columns/common.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { SQLiteUpdateSetSource } from './update.ts';\n\nexport interface SQLiteInsertConfig<TTable extends SQLiteTable = SQLiteTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[] | SQLiteInsertSelectQueryBuilder<TTable> | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL;\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n}\n\nexport type SQLiteInsertValue<TTable extends SQLiteTable> = Simplify<\n\t{\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n>;\n\nexport type SQLiteInsertSelectQueryBuilder<TTable extends SQLiteTable> = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnySQLiteColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class SQLiteInsertBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteInsertBuilder';\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession<any, any, any, any, any, any>,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tvalues(value: SQLiteInsertValue<TTable>): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tvalues(values: SQLiteInsertValue<TTable>[]): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tvalues(\n\t\tvalues: SQLiteInsertValue<TTable> | SQLiteInsertValue<TTable>[],\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult> {\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\t// if (mappedValues.length > 1 && mappedValues.some((t) => Object.keys(t).length === 0)) {\n\t\t// \tthrow new Error(\n\t\t// \t\t`One of the values you want to insert is empty. In SQLite you can insert only one empty object per statement. For this case Drizzle with use \"INSERT INTO ... DEFAULT VALUES\" syntax`,\n\t\t// \t);\n\t\t// }\n\n\t\treturn new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);\n\t}\n\n\tselect(\n\t\tselectQuery: (qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder<TTable>,\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: SQL): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(selectQuery: SQLiteInsertSelectQueryBuilder<TTable>): SQLiteInsertBase<TTable, TResultType, TRunResult>;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| SQLiteInsertSelectQueryBuilder<TTable>\n\t\t\t| ((qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder<TTable> | SQL),\n\t): SQLiteInsertBase<TTable, TResultType, TRunResult> {\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[Columns], 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 SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type SQLiteInsertWithout<T extends AnySQLiteInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tSQLiteInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['resultType'],\n\t\t\t\tT['_']['runResult'],\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 SQLiteInsertReturning<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertReturningAll<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertOnConflictDoUpdateConfig<T extends AnySQLiteInsert> = {\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: SQLiteUpdateSetSource<T['_']['table']>;\n};\n\nexport type SQLiteInsertDynamic<T extends AnySQLiteInsert> = SQLiteInsert<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteInsertExecute<T extends AnySQLiteInsert> = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteInsertPrepare<T extends AnySQLiteInsert> = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteInsertExecute<T>;\n\t}\n>;\n\nexport type AnySQLiteInsert = SQLiteInsertBase<any, any, any, any, any, any>;\n\nexport type SQLiteInsert<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning = any,\n> = SQLiteInsertBase<TTable, TResultType, TRunResult, TReturning, true, never>;\n\nexport interface SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tSQLWrapper,\n\tQueryPromise<TReturning extends undefined ? TRunResult : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], 'sqlite'>\n{\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = 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 ? TRunResult : TReturning[]>\n\timplements RunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], 'sqlite'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteInsert';\n\n\t/** @internal */\n\tconfig: SQLiteInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: SQLiteInsertConfig['values'],\n\t\tprivate session: SQLiteSession<any, any, any, any, any, any>,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select };\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(): SQLiteInsertReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): SQLiteInsertReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteInsertWithout<AnySQLiteInsert, TDynamic, 'returning'> {\n\t\tthis.config.returning = orderSelectedFields<SQLiteColumn>(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\tonConflictDoNothing(config: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {}): this {\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict = sql`do nothing`;\n\t\t} else {\n\t\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : sql``;\n\t\t\tthis.config.onConflict = sql`${targetSql} do nothing${whereSql}`;\n\t\t}\n\t\treturn this;\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 * where: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(config: SQLiteInsertOnConflictDoUpdateConfig<this>): this {\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 targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tthis.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;\n\t\treturn this;\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(isOneTimeQuery = true): SQLiteInsertPrepare<this> {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t) as SQLiteInsertPrepare<this>;\n\t}\n\n\tprepare(): SQLiteInsertPrepare<this> {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType<this['prepare']>['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType<this['prepare']>['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType<this['prepare']>['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType<this['prepare']>['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise<SQLiteInsertExecute<this>> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteInsertExecute<this>;\n\t}\n\n\t$dynamic(): SQLiteInsertDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -27,9 +27,8 @@ var import_entity = require("../../entity.cjs");
|
|
|
27
27
|
var import_query_promise = require("../../query-promise.cjs");
|
|
28
28
|
var import_relations = require("../../relations.cjs");
|
|
29
29
|
class RelationalQueryBuilder {
|
|
30
|
-
constructor(
|
|
31
|
-
this.
|
|
32
|
-
this.fullSchema = fullSchema;
|
|
30
|
+
constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session) {
|
|
31
|
+
this.tables = tables;
|
|
33
32
|
this.schema = schema;
|
|
34
33
|
this.tableNamesMap = tableNamesMap;
|
|
35
34
|
this.table = table;
|
|
@@ -37,94 +36,74 @@ class RelationalQueryBuilder {
|
|
|
37
36
|
this.dialect = dialect;
|
|
38
37
|
this.session = session;
|
|
39
38
|
}
|
|
40
|
-
static [import_entity.entityKind] = "
|
|
39
|
+
static [import_entity.entityKind] = "SQLiteAsyncRelationalQueryBuilderV2";
|
|
41
40
|
findMany(config) {
|
|
42
|
-
return
|
|
43
|
-
this.
|
|
41
|
+
return new SQLiteRelationalQuery(
|
|
42
|
+
this.tables,
|
|
44
43
|
this.schema,
|
|
45
44
|
this.tableNamesMap,
|
|
46
45
|
this.table,
|
|
47
46
|
this.tableConfig,
|
|
48
47
|
this.dialect,
|
|
49
48
|
this.session,
|
|
50
|
-
config
|
|
51
|
-
"many"
|
|
52
|
-
) : new SQLiteRelationalQuery(
|
|
53
|
-
this.fullSchema,
|
|
54
|
-
this.schema,
|
|
55
|
-
this.tableNamesMap,
|
|
56
|
-
this.table,
|
|
57
|
-
this.tableConfig,
|
|
58
|
-
this.dialect,
|
|
59
|
-
this.session,
|
|
60
|
-
config ? config : {},
|
|
49
|
+
config ?? true,
|
|
61
50
|
"many"
|
|
62
51
|
);
|
|
63
52
|
}
|
|
64
53
|
findFirst(config) {
|
|
65
|
-
return
|
|
66
|
-
this.
|
|
67
|
-
this.schema,
|
|
68
|
-
this.tableNamesMap,
|
|
69
|
-
this.table,
|
|
70
|
-
this.tableConfig,
|
|
71
|
-
this.dialect,
|
|
72
|
-
this.session,
|
|
73
|
-
config ? { ...config, limit: 1 } : { limit: 1 },
|
|
74
|
-
"first"
|
|
75
|
-
) : new SQLiteRelationalQuery(
|
|
76
|
-
this.fullSchema,
|
|
54
|
+
return new SQLiteRelationalQuery(
|
|
55
|
+
this.tables,
|
|
77
56
|
this.schema,
|
|
78
57
|
this.tableNamesMap,
|
|
79
58
|
this.table,
|
|
80
59
|
this.tableConfig,
|
|
81
60
|
this.dialect,
|
|
82
61
|
this.session,
|
|
83
|
-
config
|
|
62
|
+
config ?? true,
|
|
84
63
|
"first"
|
|
85
64
|
);
|
|
86
65
|
}
|
|
87
66
|
}
|
|
88
67
|
class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
|
|
89
|
-
constructor(
|
|
68
|
+
constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
|
|
90
69
|
super();
|
|
91
|
-
this.
|
|
70
|
+
this.tables = tables;
|
|
92
71
|
this.schema = schema;
|
|
93
72
|
this.tableNamesMap = tableNamesMap;
|
|
94
|
-
this.table = table;
|
|
95
73
|
this.tableConfig = tableConfig;
|
|
96
74
|
this.dialect = dialect;
|
|
97
75
|
this.session = session;
|
|
98
76
|
this.config = config;
|
|
99
77
|
this.mode = mode;
|
|
78
|
+
this.table = table;
|
|
100
79
|
}
|
|
101
|
-
static [import_entity.entityKind] = "
|
|
80
|
+
static [import_entity.entityKind] = "SQLiteAsyncRelationalQueryV2";
|
|
102
81
|
/** @internal */
|
|
103
82
|
mode;
|
|
104
83
|
/** @internal */
|
|
84
|
+
table;
|
|
85
|
+
/** @internal */
|
|
105
86
|
getSQL() {
|
|
106
|
-
|
|
107
|
-
fullSchema: this.fullSchema,
|
|
87
|
+
const query = this.dialect.buildRelationalQuery({
|
|
108
88
|
schema: this.schema,
|
|
109
89
|
tableNamesMap: this.tableNamesMap,
|
|
110
90
|
table: this.table,
|
|
111
91
|
tableConfig: this.tableConfig,
|
|
112
92
|
queryConfig: this.config,
|
|
113
|
-
|
|
114
|
-
|
|
93
|
+
tables: this.tables,
|
|
94
|
+
mode: this.mode
|
|
95
|
+
});
|
|
96
|
+
return query.sql;
|
|
115
97
|
}
|
|
116
98
|
/** @internal */
|
|
117
99
|
_prepare(isOneTimeQuery = false) {
|
|
118
100
|
const { query, builtQuery } = this._toSQL();
|
|
119
|
-
return this.session[isOneTimeQuery ? "
|
|
101
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeRelationalQuery" : "prepareRelationalQuery"](
|
|
120
102
|
builtQuery,
|
|
121
103
|
void 0,
|
|
122
104
|
this.mode === "first" ? "get" : "all",
|
|
123
|
-
true,
|
|
124
105
|
(rawRows, mapColumnValue) => {
|
|
125
|
-
const rows = rawRows.map(
|
|
126
|
-
(row) => (0, import_relations.mapRelationalRow)(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
|
|
127
|
-
);
|
|
106
|
+
const rows = rawRows.map((row) => (0, import_relations.mapRelationalRow)(row, query.selection, mapColumnValue, true));
|
|
128
107
|
if (this.mode === "first") {
|
|
129
108
|
return rows[0];
|
|
130
109
|
}
|
|
@@ -135,16 +114,19 @@ class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
|
|
|
135
114
|
prepare() {
|
|
136
115
|
return this._prepare(false);
|
|
137
116
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
fullSchema: this.fullSchema,
|
|
117
|
+
_getQuery() {
|
|
118
|
+
return this.dialect.buildRelationalQuery({
|
|
141
119
|
schema: this.schema,
|
|
142
120
|
tableNamesMap: this.tableNamesMap,
|
|
143
121
|
table: this.table,
|
|
144
122
|
tableConfig: this.tableConfig,
|
|
145
123
|
queryConfig: this.config,
|
|
146
|
-
|
|
124
|
+
tables: this.tables,
|
|
125
|
+
mode: this.mode
|
|
147
126
|
});
|
|
127
|
+
}
|
|
128
|
+
_toSQL() {
|
|
129
|
+
const query = this._getQuery();
|
|
148
130
|
const builtQuery = this.dialect.sqlToQuery(query.sql);
|
|
149
131
|
return { query, builtQuery };
|
|
150
132
|
}
|
|
@@ -163,7 +145,7 @@ class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
|
|
|
163
145
|
}
|
|
164
146
|
}
|
|
165
147
|
class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery {
|
|
166
|
-
static [import_entity.entityKind] = "
|
|
148
|
+
static [import_entity.entityKind] = "SQLiteSyncRelationalQueryV2";
|
|
167
149
|
sync() {
|
|
168
150
|
return this.executeRaw();
|
|
169
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sqlite-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\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 type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async'\n\t? SQLiteRelationalQuery<TMode, TResult>\n\t: SQLiteSyncRelationalQuery<TResult>;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/sqlite-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\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 type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async'\n\t? SQLiteRelationalQuery<TMode, TResult>\n\t: SQLiteSyncRelationalQuery<TResult>;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate tables: Record<string, SQLiteTable>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<TMode, any, any, any, any, any>,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>,\n\t): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn new SQLiteRelationalQuery(\n\t\t\tthis.tables,\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 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): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined> {\n\t\treturn new SQLiteRelationalQuery(\n\t\t\tthis.tables,\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 as DBQueryConfig<'one'> | undefined ?? true,\n\t\t\t'first',\n\t\t);\n\t}\n}\n\nexport class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'sqlite'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryV2';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly type: TType;\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tmode: 'many' | 'first';\n\t/** @internal */\n\ttable: SQLiteTable;\n\n\tconstructor(\n\t\tprivate tables: Record<string, SQLiteTable>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\ttable: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<TType, any, any, any, any, any>,\n\t\tprivate config: DBQueryConfig<'many' | 'one'> | true,\n\t\tmode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t\tthis.mode = mode;\n\t\tthis.table = table;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\tconst query = this.dialect.buildRelationalQuery({\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\ttables: this.tables,\n\t\t\tmode: this.mode,\n\t\t});\n\n\t\treturn query.sql;\n\t}\n\n\t/** @internal */\n\t_prepare(\n\t\tisOneTimeQuery = false,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeRelationalQuery' : 'prepareRelationalQuery'](\n\t\t\tbuiltQuery,\n\t\t\tundefined,\n\t\t\tthis.mode === 'first' ? 'get' : 'all',\n\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\tconst rows = rawRows.map((row) => mapRelationalRow(row, query.selection, mapColumnValue, true));\n\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t}\n\t\t\t\treturn rows as TResult;\n\t\t\t},\n\t\t) as SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }>;\n\t}\n\n\tprepare(): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\treturn this._prepare(false);\n\t}\n\n\tprivate _getQuery() {\n\t\treturn this.dialect.buildRelationalQuery({\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\ttables: this.tables,\n\t\t\tmode: this.mode,\n\t\t});\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\t/** @internal */\n\texecuteRaw(): TResult {\n\t\tif (this.mode === 'first') {\n\t\t\treturn this._prepare(false).get() as TResult;\n\t\t}\n\t\treturn this._prepare(false).all() as TResult;\n\t}\n\n\toverride async execute(): Promise<TResult> {\n\t\treturn this.executeRaw();\n\t}\n}\n\nexport class SQLiteSyncRelationalQuery<TResult> extends SQLiteRelationalQuery<'sync', TResult> {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncRelationalQueryV2';\n\n\tsync(): TResult {\n\t\treturn this.executeRaw();\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -8,22 +8,21 @@ import type { SQLiteDialect } from "../dialect.cjs";
|
|
|
8
8
|
import type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from "../session.cjs";
|
|
9
9
|
import type { SQLiteTable } from "../table.cjs";
|
|
10
10
|
export type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async' ? SQLiteRelationalQuery<TMode, TResult> : SQLiteSyncRelationalQuery<TResult>;
|
|
11
|
-
export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
protected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>;
|
|
11
|
+
export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
|
|
12
|
+
private tables;
|
|
13
|
+
private schema;
|
|
14
|
+
private tableNamesMap;
|
|
15
|
+
private table;
|
|
16
|
+
private tableConfig;
|
|
17
|
+
private dialect;
|
|
18
|
+
private session;
|
|
20
19
|
static readonly [entityKind]: string;
|
|
21
|
-
constructor(
|
|
22
|
-
findMany<TConfig extends DBQueryConfig<'many',
|
|
23
|
-
findFirst<
|
|
20
|
+
constructor(tables: Record<string, SQLiteTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TMode, any, any, any, any, any>);
|
|
21
|
+
findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
|
|
22
|
+
findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
|
|
24
23
|
}
|
|
25
24
|
export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
|
|
26
|
-
private
|
|
25
|
+
private tables;
|
|
27
26
|
private schema;
|
|
28
27
|
private tableNamesMap;
|
|
29
28
|
private tableConfig;
|
|
@@ -36,15 +35,14 @@ export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResu
|
|
|
36
35
|
readonly type: TType;
|
|
37
36
|
readonly result: TResult;
|
|
38
37
|
};
|
|
39
|
-
constructor(
|
|
40
|
-
/** @internal */
|
|
41
|
-
table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'sync' | 'async', unknown, Record<string, unknown>, TablesRelationalConfig>, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
|
|
38
|
+
constructor(tables: Record<string, SQLiteTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TType, any, any, any, any, any>, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
|
|
42
39
|
prepare(): SQLitePreparedQuery<PreparedQueryConfig & {
|
|
43
40
|
type: TType;
|
|
44
41
|
all: TResult;
|
|
45
42
|
get: TResult;
|
|
46
43
|
execute: TResult;
|
|
47
44
|
}>;
|
|
45
|
+
private _getQuery;
|
|
48
46
|
private _toSQL;
|
|
49
47
|
toSQL(): Query;
|
|
50
48
|
execute(): Promise<TResult>;
|
|
@@ -8,22 +8,21 @@ import type { SQLiteDialect } from "../dialect.js";
|
|
|
8
8
|
import type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from "../session.js";
|
|
9
9
|
import type { SQLiteTable } from "../table.js";
|
|
10
10
|
export type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async' ? SQLiteRelationalQuery<TMode, TResult> : SQLiteSyncRelationalQuery<TResult>;
|
|
11
|
-
export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
protected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>;
|
|
11
|
+
export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
|
|
12
|
+
private tables;
|
|
13
|
+
private schema;
|
|
14
|
+
private tableNamesMap;
|
|
15
|
+
private table;
|
|
16
|
+
private tableConfig;
|
|
17
|
+
private dialect;
|
|
18
|
+
private session;
|
|
20
19
|
static readonly [entityKind]: string;
|
|
21
|
-
constructor(
|
|
22
|
-
findMany<TConfig extends DBQueryConfig<'many',
|
|
23
|
-
findFirst<
|
|
20
|
+
constructor(tables: Record<string, SQLiteTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TMode, any, any, any, any, any>);
|
|
21
|
+
findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
|
|
22
|
+
findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): SQLiteRelationalQuery<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
|
|
24
23
|
}
|
|
25
24
|
export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
|
|
26
|
-
private
|
|
25
|
+
private tables;
|
|
27
26
|
private schema;
|
|
28
27
|
private tableNamesMap;
|
|
29
28
|
private tableConfig;
|
|
@@ -36,15 +35,14 @@ export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResu
|
|
|
36
35
|
readonly type: TType;
|
|
37
36
|
readonly result: TResult;
|
|
38
37
|
};
|
|
39
|
-
constructor(
|
|
40
|
-
/** @internal */
|
|
41
|
-
table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'sync' | 'async', unknown, Record<string, unknown>, TablesRelationalConfig>, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
|
|
38
|
+
constructor(tables: Record<string, SQLiteTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TType, any, any, any, any, any>, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first');
|
|
42
39
|
prepare(): SQLitePreparedQuery<PreparedQueryConfig & {
|
|
43
40
|
type: TType;
|
|
44
41
|
all: TResult;
|
|
45
42
|
get: TResult;
|
|
46
43
|
execute: TResult;
|
|
47
44
|
}>;
|
|
45
|
+
private _getQuery;
|
|
48
46
|
private _toSQL;
|
|
49
47
|
toSQL(): Query;
|
|
50
48
|
execute(): Promise<TResult>;
|
|
@@ -4,9 +4,8 @@ import {
|
|
|
4
4
|
mapRelationalRow
|
|
5
5
|
} from "../../relations.js";
|
|
6
6
|
class RelationalQueryBuilder {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.fullSchema = fullSchema;
|
|
7
|
+
constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session) {
|
|
8
|
+
this.tables = tables;
|
|
10
9
|
this.schema = schema;
|
|
11
10
|
this.tableNamesMap = tableNamesMap;
|
|
12
11
|
this.table = table;
|
|
@@ -14,94 +13,74 @@ class RelationalQueryBuilder {
|
|
|
14
13
|
this.dialect = dialect;
|
|
15
14
|
this.session = session;
|
|
16
15
|
}
|
|
17
|
-
static [entityKind] = "
|
|
16
|
+
static [entityKind] = "SQLiteAsyncRelationalQueryBuilderV2";
|
|
18
17
|
findMany(config) {
|
|
19
|
-
return
|
|
20
|
-
this.
|
|
18
|
+
return new SQLiteRelationalQuery(
|
|
19
|
+
this.tables,
|
|
21
20
|
this.schema,
|
|
22
21
|
this.tableNamesMap,
|
|
23
22
|
this.table,
|
|
24
23
|
this.tableConfig,
|
|
25
24
|
this.dialect,
|
|
26
25
|
this.session,
|
|
27
|
-
config
|
|
28
|
-
"many"
|
|
29
|
-
) : new SQLiteRelationalQuery(
|
|
30
|
-
this.fullSchema,
|
|
31
|
-
this.schema,
|
|
32
|
-
this.tableNamesMap,
|
|
33
|
-
this.table,
|
|
34
|
-
this.tableConfig,
|
|
35
|
-
this.dialect,
|
|
36
|
-
this.session,
|
|
37
|
-
config ? config : {},
|
|
26
|
+
config ?? true,
|
|
38
27
|
"many"
|
|
39
28
|
);
|
|
40
29
|
}
|
|
41
30
|
findFirst(config) {
|
|
42
|
-
return
|
|
43
|
-
this.
|
|
44
|
-
this.schema,
|
|
45
|
-
this.tableNamesMap,
|
|
46
|
-
this.table,
|
|
47
|
-
this.tableConfig,
|
|
48
|
-
this.dialect,
|
|
49
|
-
this.session,
|
|
50
|
-
config ? { ...config, limit: 1 } : { limit: 1 },
|
|
51
|
-
"first"
|
|
52
|
-
) : new SQLiteRelationalQuery(
|
|
53
|
-
this.fullSchema,
|
|
31
|
+
return new SQLiteRelationalQuery(
|
|
32
|
+
this.tables,
|
|
54
33
|
this.schema,
|
|
55
34
|
this.tableNamesMap,
|
|
56
35
|
this.table,
|
|
57
36
|
this.tableConfig,
|
|
58
37
|
this.dialect,
|
|
59
38
|
this.session,
|
|
60
|
-
config
|
|
39
|
+
config ?? true,
|
|
61
40
|
"first"
|
|
62
41
|
);
|
|
63
42
|
}
|
|
64
43
|
}
|
|
65
44
|
class SQLiteRelationalQuery extends QueryPromise {
|
|
66
|
-
constructor(
|
|
45
|
+
constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
|
|
67
46
|
super();
|
|
68
|
-
this.
|
|
47
|
+
this.tables = tables;
|
|
69
48
|
this.schema = schema;
|
|
70
49
|
this.tableNamesMap = tableNamesMap;
|
|
71
|
-
this.table = table;
|
|
72
50
|
this.tableConfig = tableConfig;
|
|
73
51
|
this.dialect = dialect;
|
|
74
52
|
this.session = session;
|
|
75
53
|
this.config = config;
|
|
76
54
|
this.mode = mode;
|
|
55
|
+
this.table = table;
|
|
77
56
|
}
|
|
78
|
-
static [entityKind] = "
|
|
57
|
+
static [entityKind] = "SQLiteAsyncRelationalQueryV2";
|
|
79
58
|
/** @internal */
|
|
80
59
|
mode;
|
|
81
60
|
/** @internal */
|
|
61
|
+
table;
|
|
62
|
+
/** @internal */
|
|
82
63
|
getSQL() {
|
|
83
|
-
|
|
84
|
-
fullSchema: this.fullSchema,
|
|
64
|
+
const query = this.dialect.buildRelationalQuery({
|
|
85
65
|
schema: this.schema,
|
|
86
66
|
tableNamesMap: this.tableNamesMap,
|
|
87
67
|
table: this.table,
|
|
88
68
|
tableConfig: this.tableConfig,
|
|
89
69
|
queryConfig: this.config,
|
|
90
|
-
|
|
91
|
-
|
|
70
|
+
tables: this.tables,
|
|
71
|
+
mode: this.mode
|
|
72
|
+
});
|
|
73
|
+
return query.sql;
|
|
92
74
|
}
|
|
93
75
|
/** @internal */
|
|
94
76
|
_prepare(isOneTimeQuery = false) {
|
|
95
77
|
const { query, builtQuery } = this._toSQL();
|
|
96
|
-
return this.session[isOneTimeQuery ? "
|
|
78
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeRelationalQuery" : "prepareRelationalQuery"](
|
|
97
79
|
builtQuery,
|
|
98
80
|
void 0,
|
|
99
81
|
this.mode === "first" ? "get" : "all",
|
|
100
|
-
true,
|
|
101
82
|
(rawRows, mapColumnValue) => {
|
|
102
|
-
const rows = rawRows.map(
|
|
103
|
-
(row) => mapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
|
|
104
|
-
);
|
|
83
|
+
const rows = rawRows.map((row) => mapRelationalRow(row, query.selection, mapColumnValue, true));
|
|
105
84
|
if (this.mode === "first") {
|
|
106
85
|
return rows[0];
|
|
107
86
|
}
|
|
@@ -112,16 +91,19 @@ class SQLiteRelationalQuery extends QueryPromise {
|
|
|
112
91
|
prepare() {
|
|
113
92
|
return this._prepare(false);
|
|
114
93
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
fullSchema: this.fullSchema,
|
|
94
|
+
_getQuery() {
|
|
95
|
+
return this.dialect.buildRelationalQuery({
|
|
118
96
|
schema: this.schema,
|
|
119
97
|
tableNamesMap: this.tableNamesMap,
|
|
120
98
|
table: this.table,
|
|
121
99
|
tableConfig: this.tableConfig,
|
|
122
100
|
queryConfig: this.config,
|
|
123
|
-
|
|
101
|
+
tables: this.tables,
|
|
102
|
+
mode: this.mode
|
|
124
103
|
});
|
|
104
|
+
}
|
|
105
|
+
_toSQL() {
|
|
106
|
+
const query = this._getQuery();
|
|
125
107
|
const builtQuery = this.dialect.sqlToQuery(query.sql);
|
|
126
108
|
return { query, builtQuery };
|
|
127
109
|
}
|
|
@@ -140,7 +122,7 @@ class SQLiteRelationalQuery extends QueryPromise {
|
|
|
140
122
|
}
|
|
141
123
|
}
|
|
142
124
|
class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery {
|
|
143
|
-
static [entityKind] = "
|
|
125
|
+
static [entityKind] = "SQLiteSyncRelationalQueryV2";
|
|
144
126
|
sync() {
|
|
145
127
|
return this.executeRaw();
|
|
146
128
|
}
|