drizzle-orm 0.42.0-da9af74 → 0.43.0-62ea5c4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aws-data-api/pg/driver.cjs +1 -5
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +0 -1
- package/aws-data-api/pg/driver.d.ts +0 -1
- package/aws-data-api/pg/driver.js +1 -5
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs +4 -15
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +2 -13
- package/aws-data-api/pg/session.d.ts +2 -13
- package/aws-data-api/pg/session.js +4 -15
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +3 -9
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +2 -12
- package/better-sqlite3/session.d.ts +2 -12
- package/better-sqlite3/session.js +3 -9
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +1 -5
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.js +1 -5
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/session.cjs +9 -21
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +2 -12
- package/bun-sql/session.d.ts +2 -12
- package/bun-sql/session.js +9 -21
- package/bun-sql/session.js.map +1 -1
- package/d1/driver.cjs +1 -5
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.js +1 -5
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +9 -23
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +2 -12
- package/d1/session.d.ts +2 -12
- package/d1/session.js +9 -23
- package/d1/session.js.map +1 -1
- package/durable-sqlite/session.cjs +1 -1
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.js +1 -1
- package/durable-sqlite/session.js.map +1 -1
- package/gel/driver.cjs +2 -9
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +0 -2
- package/gel/driver.d.ts +0 -2
- package/gel/driver.js +2 -9
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +10 -25
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +2 -12
- package/gel/session.d.ts +2 -12
- package/gel/session.js +10 -25
- package/gel/session.js.map +1 -1
- package/gel-core/db.cjs +0 -1
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.cts +0 -4
- package/gel-core/db.d.ts +0 -4
- package/gel-core/db.js +0 -1
- package/gel-core/db.js.map +1 -1
- package/gel-core/dialect.cjs +8 -23
- package/gel-core/dialect.cjs.map +1 -1
- package/gel-core/dialect.d.cts +1 -0
- package/gel-core/dialect.d.ts +1 -0
- package/gel-core/dialect.js +8 -23
- package/gel-core/dialect.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +1 -5
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +1 -5
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +1 -5
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +1 -5
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/select.cjs +84 -43
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.d.cts +78 -22
- package/gel-core/query-builders/select.d.ts +78 -22
- package/gel-core/query-builders/select.js +84 -43
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/select.types.cjs.map +1 -1
- package/gel-core/query-builders/select.types.d.cts +1 -1
- package/gel-core/query-builders/select.types.d.ts +1 -1
- package/gel-core/query-builders/update.cjs +1 -5
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +1 -5
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +1 -52
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +3 -14
- package/gel-core/session.d.ts +3 -14
- package/gel-core/session.js +2 -53
- package/gel-core/session.js.map +1 -1
- package/gel-core/utils.cjs +0 -16
- package/gel-core/utils.cjs.map +1 -1
- package/gel-core/utils.d.cts +4 -8
- package/gel-core/utils.d.ts +4 -8
- package/gel-core/utils.js +0 -15
- package/gel-core/utils.js.map +1 -1
- package/libsql/driver-core.cjs +1 -5
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +1 -5
- package/libsql/driver-core.js.map +1 -1
- package/libsql/session.cjs +13 -27
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +2 -12
- package/libsql/session.d.ts +2 -12
- package/libsql/session.js +13 -27
- package/libsql/session.js.map +1 -1
- package/mysql-core/db.cjs +0 -1
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +0 -4
- package/mysql-core/db.d.ts +0 -4
- package/mysql-core/db.js +0 -1
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +5 -4
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.js +5 -4
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +1 -9
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.js +1 -9
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +1 -8
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +0 -2
- package/mysql-core/query-builders/insert.d.ts +0 -2
- package/mysql-core/query-builders/insert.js +1 -8
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +75 -61
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +66 -34
- package/mysql-core/query-builders/select.d.ts +66 -34
- package/mysql-core/query-builders/select.js +76 -62
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/select.types.cjs.map +1 -1
- package/mysql-core/query-builders/select.types.d.cts +5 -4
- package/mysql-core/query-builders/select.types.d.ts +5 -4
- package/mysql-core/query-builders/update.cjs +1 -11
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +0 -2
- package/mysql-core/query-builders/update.d.ts +0 -2
- package/mysql-core/query-builders/update.js +1 -11
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +0 -53
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +2 -15
- package/mysql-core/session.d.ts +2 -15
- package/mysql-core/session.js +1 -54
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/utils.cjs +0 -16
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +2 -6
- package/mysql-core/utils.d.ts +2 -6
- package/mysql-core/utils.js +0 -15
- package/mysql-core/utils.js.map +1 -1
- package/mysql-proxy/session.cjs +5 -15
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +2 -12
- package/mysql-proxy/session.d.ts +2 -12
- package/mysql-proxy/session.js +5 -15
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +2 -10
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +0 -2
- package/mysql2/driver.d.ts +0 -2
- package/mysql2/driver.js +2 -10
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +5 -15
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +2 -12
- package/mysql2/session.d.ts +2 -12
- package/mysql2/session.js +5 -15
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +2 -9
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +0 -2
- package/neon-http/driver.d.ts +0 -2
- package/neon-http/driver.js +2 -9
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +15 -25
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +2 -12
- package/neon-http/session.d.ts +2 -12
- package/neon-http/session.js +15 -25
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +2 -9
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +0 -2
- package/neon-serverless/driver.d.ts +0 -2
- package/neon-serverless/driver.js +2 -9
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/session.cjs +7 -21
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +2 -12
- package/neon-serverless/session.d.ts +2 -12
- package/neon-serverless/session.js +7 -21
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +2 -9
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +0 -2
- package/node-postgres/driver.d.ts +0 -2
- package/node-postgres/driver.js +2 -9
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +6 -19
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +2 -13
- package/node-postgres/session.d.ts +2 -13
- package/node-postgres/session.js +6 -19
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +1 -5
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.js +1 -5
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +9 -23
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +2 -12
- package/op-sqlite/session.d.ts +2 -12
- package/op-sqlite/session.js +9 -23
- package/op-sqlite/session.js.map +1 -1
- package/operations.cjs.map +1 -1
- package/operations.d.cts +5 -1
- package/operations.d.ts +5 -1
- package/package.json +4 -69
- package/pg-core/columns/text.cjs.map +1 -1
- package/pg-core/columns/text.d.cts +1 -2
- package/pg-core/columns/text.d.ts +1 -2
- package/pg-core/columns/text.js.map +1 -1
- package/pg-core/db.cjs +0 -1
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +0 -4
- package/pg-core/db.d.ts +0 -4
- package/pg-core/db.js +0 -1
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +5 -4
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.js +5 -4
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +1 -6
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +1 -3
- package/pg-core/query-builders/delete.d.ts +1 -3
- package/pg-core/query-builders/delete.js +1 -6
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +1 -6
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +0 -2
- package/pg-core/query-builders/insert.d.ts +0 -2
- package/pg-core/query-builders/insert.js +1 -6
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/select.cjs +85 -45
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +79 -23
- package/pg-core/query-builders/select.d.ts +79 -23
- package/pg-core/query-builders/select.js +85 -45
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/select.types.cjs.map +1 -1
- package/pg-core/query-builders/select.types.d.cts +1 -1
- package/pg-core/query-builders/select.types.d.ts +1 -1
- package/pg-core/query-builders/update.cjs +1 -6
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +2 -4
- package/pg-core/query-builders/update.d.ts +2 -4
- package/pg-core/query-builders/update.js +1 -6
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +1 -52
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +3 -14
- package/pg-core/session.d.ts +3 -14
- package/pg-core/session.js +2 -53
- package/pg-core/session.js.map +1 -1
- package/pg-core/utils.cjs +0 -16
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +4 -8
- package/pg-core/utils.d.ts +4 -8
- package/pg-core/utils.js +1 -16
- package/pg-core/utils.js.map +1 -1
- package/pg-proxy/driver.cjs +2 -7
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.js +2 -7
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs +5 -15
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +2 -12
- package/pg-proxy/session.d.ts +2 -12
- package/pg-proxy/session.js +5 -15
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +2 -9
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +0 -2
- package/pglite/driver.d.ts +0 -2
- package/pglite/driver.js +2 -9
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +7 -19
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +2 -12
- package/pglite/session.d.ts +2 -12
- package/pglite/session.js +7 -19
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +1 -5
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +0 -1
- package/planetscale-serverless/driver.d.ts +0 -1
- package/planetscale-serverless/driver.js +1 -5
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +5 -15
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +2 -12
- package/planetscale-serverless/session.d.ts +2 -12
- package/planetscale-serverless/session.js +5 -15
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +1 -5
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.js +1 -5
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/session.cjs +6 -18
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +2 -12
- package/postgres-js/session.d.ts +2 -12
- package/postgres-js/session.js +6 -18
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/session.cjs +1 -1
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.js +1 -1
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/session.cjs +1 -1
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.js +1 -1
- package/prisma/pg/session.js.map +1 -1
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.d.cts +1 -2
- package/query-builders/query-builder.d.ts +1 -2
- package/query-builders/query-builder.js.map +1 -1
- package/query-builders/select.types.cjs.map +1 -1
- package/query-builders/select.types.d.cts +3 -1
- package/query-builders/select.types.d.ts +3 -1
- package/singlestore/driver.cjs +26 -14
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +3 -7
- package/singlestore/driver.d.ts +3 -7
- package/singlestore/driver.js +26 -14
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +5 -15
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +2 -12
- package/singlestore/session.d.ts +2 -12
- package/singlestore/session.js +5 -15
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/db.cjs +0 -1
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +0 -4
- package/singlestore-core/db.d.ts +0 -4
- package/singlestore-core/db.js +0 -1
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +5 -4
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.js +5 -4
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +1 -9
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.js +1 -9
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/insert.cjs +1 -6
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.js +1 -6
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +83 -42
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.d.cts +78 -22
- package/singlestore-core/query-builders/select.d.ts +78 -22
- package/singlestore-core/query-builders/select.js +83 -42
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/select.types.cjs.map +1 -1
- package/singlestore-core/query-builders/select.types.d.cts +1 -2
- package/singlestore-core/query-builders/select.types.d.ts +1 -2
- package/singlestore-core/query-builders/update.cjs +1 -9
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.js +1 -9
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/session.cjs +0 -53
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +2 -14
- package/singlestore-core/session.d.ts +2 -14
- package/singlestore-core/session.js +1 -54
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/utils.cjs +0 -16
- package/singlestore-core/utils.cjs.map +1 -1
- package/singlestore-core/utils.d.cts +0 -3
- package/singlestore-core/utils.d.ts +0 -3
- package/singlestore-core/utils.js +0 -15
- package/singlestore-core/utils.js.map +1 -1
- package/sql/sql.cjs +0 -10
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.js +0 -10
- package/sql/sql.js.map +1 -1
- package/sqlite-core/db.cjs +0 -1
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +0 -4
- package/sqlite-core/db.d.ts +0 -4
- package/sqlite-core/db.js +0 -1
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +3 -2
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.js +3 -2
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +1 -7
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +1 -7
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +1 -7
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +1 -7
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +39 -39
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +40 -22
- package/sqlite-core/query-builders/select.d.ts +40 -22
- package/sqlite-core/query-builders/select.js +39 -39
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/select.types.cjs.map +1 -1
- package/sqlite-core/query-builders/select.types.d.cts +1 -1
- package/sqlite-core/query-builders/select.types.d.ts +1 -1
- package/sqlite-core/query-builders/update.cjs +1 -7
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +1 -7
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +3 -62
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +4 -18
- package/sqlite-core/session.d.ts +4 -18
- package/sqlite-core/session.js +4 -63
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/utils.cjs +0 -16
- package/sqlite-core/utils.cjs.map +1 -1
- package/sqlite-core/utils.d.cts +2 -6
- package/sqlite-core/utils.d.ts +2 -6
- package/sqlite-core/utils.js +0 -15
- package/sqlite-core/utils.js.map +1 -1
- package/sqlite-proxy/driver.cjs +2 -9
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.js +2 -9
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +8 -22
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +2 -12
- package/sqlite-proxy/session.d.ts +2 -12
- package/sqlite-proxy/session.js +8 -22
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs +3 -4
- package/subquery.cjs.map +1 -1
- package/subquery.d.cts +1 -2
- package/subquery.d.ts +1 -2
- package/subquery.js +3 -4
- package/subquery.js.map +1 -1
- package/tidb-serverless/driver.cjs +1 -5
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +0 -1
- package/tidb-serverless/driver.d.ts +0 -1
- package/tidb-serverless/driver.js +1 -5
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +5 -15
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +2 -12
- package/tidb-serverless/session.d.ts +2 -12
- package/tidb-serverless/session.js +5 -15
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs +0 -22
- package/utils.cjs.map +1 -1
- package/utils.d.cts +0 -3
- package/utils.d.ts +0 -3
- package/utils.js +0 -11
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +2 -9
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +0 -2
- package/vercel-postgres/driver.d.ts +0 -2
- package/vercel-postgres/driver.js +2 -9
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/session.cjs +7 -21
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +2 -12
- package/vercel-postgres/session.d.ts +2 -12
- package/vercel-postgres/session.js +7 -21
- 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 +2 -7
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +0 -2
- package/xata-http/driver.d.ts +0 -2
- package/xata-http/driver.js +2 -7
- package/xata-http/driver.js.map +1 -1
- package/xata-http/session.cjs +7 -21
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +2 -12
- package/xata-http/session.d.ts +2 -12
- package/xata-http/session.js +7 -21
- package/xata-http/session.js.map +1 -1
- package/cache/core/cache.cjs +0 -47
- package/cache/core/cache.cjs.map +0 -1
- package/cache/core/cache.d.cts +0 -35
- package/cache/core/cache.d.ts +0 -35
- package/cache/core/cache.js +0 -22
- package/cache/core/cache.js.map +0 -1
- package/cache/core/index.cjs +0 -23
- package/cache/core/index.cjs.map +0 -1
- package/cache/core/index.d.cts +0 -1
- package/cache/core/index.d.ts +0 -1
- package/cache/core/index.js +0 -2
- package/cache/core/index.js.map +0 -1
- package/cache/core/types.cjs +0 -17
- package/cache/core/types.cjs.map +0 -1
- package/cache/core/types.d.cts +0 -33
- package/cache/core/types.d.ts +0 -33
- package/cache/core/types.js +0 -1
- package/cache/core/types.js.map +0 -1
- package/cache/upstash/cache.cjs +0 -148
- package/cache/upstash/cache.cjs.map +0 -1
- package/cache/upstash/cache.d.cts +0 -29
- package/cache/upstash/cache.d.ts +0 -29
- package/cache/upstash/cache.js +0 -123
- package/cache/upstash/cache.js.map +0 -1
- package/cache/upstash/index.cjs +0 -23
- package/cache/upstash/index.cjs.map +0 -1
- package/cache/upstash/index.d.cts +0 -1
- package/cache/upstash/index.d.ts +0 -1
- package/cache/upstash/index.js +0 -2
- package/cache/upstash/index.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { CacheConfig, WithCacheConfig } from "../../cache/core/types.js";
|
|
2
1
|
import { entityKind } from "../../entity.js";
|
|
3
2
|
import type { GelColumn } from "../columns/index.js";
|
|
4
3
|
import type { GelDialect } from "../dialect.js";
|
|
@@ -14,7 +13,7 @@ import { SQL } from "../../sql/sql.js";
|
|
|
14
13
|
import type { ColumnsSelection, Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
|
|
15
14
|
import { Subquery } from "../../subquery.js";
|
|
16
15
|
import { type ValueOrArray } from "../../utils.js";
|
|
17
|
-
import type { CreateGelSelectFromBuilderMode, GelCreateSetOperatorFn, GelSelectConfig, GelSelectDynamic, GelSelectHKT, GelSelectHKTBase,
|
|
16
|
+
import type { CreateGelSelectFromBuilderMode, GelCreateSetOperatorFn, GelSelectConfig, GelSelectDynamic, GelSelectHKT, GelSelectHKTBase, GelSelectPrepare, GelSelectWithout, GelSetOperatorExcludedMethods, GelSetOperatorWithResult, GetGelSetOperators, LockConfig, LockStrength, SelectedFields, SetOperatorRightSelect } from "./select.types.js";
|
|
18
17
|
export declare class GelSelectBuilder<TSelection extends SelectedFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
|
|
19
18
|
static readonly [entityKind]: string;
|
|
20
19
|
private fields;
|
|
@@ -53,7 +52,6 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
53
52
|
readonly excludedMethods: TExcludedMethods;
|
|
54
53
|
readonly result: TResult;
|
|
55
54
|
readonly selectedFields: TSelectedFields;
|
|
56
|
-
readonly config: GelSelectConfig;
|
|
57
55
|
};
|
|
58
56
|
protected config: GelSelectConfig;
|
|
59
57
|
protected joinsNotNullableMap: Record<string, boolean>;
|
|
@@ -61,8 +59,6 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
61
59
|
private isPartialSelect;
|
|
62
60
|
protected session: GelSession | undefined;
|
|
63
61
|
protected dialect: GelDialect;
|
|
64
|
-
protected cacheConfig?: WithCacheConfig;
|
|
65
|
-
protected usedTables: Set<string>;
|
|
66
62
|
constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }: {
|
|
67
63
|
table: GelSelectConfig['table'];
|
|
68
64
|
fields: GelSelectConfig['fields'];
|
|
@@ -89,12 +85,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
89
85
|
*
|
|
90
86
|
* ```ts
|
|
91
87
|
* // Select all users and their pets
|
|
92
|
-
* const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
|
|
88
|
+
* const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()
|
|
93
89
|
* .from(users)
|
|
94
90
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
95
91
|
*
|
|
96
92
|
* // Select userId and petId
|
|
97
|
-
* const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
|
|
93
|
+
* const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({
|
|
98
94
|
* userId: users.id,
|
|
99
95
|
* petId: pets.id,
|
|
100
96
|
* })
|
|
@@ -102,7 +98,20 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
102
98
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
103
99
|
* ```
|
|
104
100
|
*/
|
|
105
|
-
leftJoin:
|
|
101
|
+
leftJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "left", TJoinedTable, TJoinedName>;
|
|
102
|
+
/**
|
|
103
|
+
* Executes a `left join lateral` operation by adding subquery to the current query.
|
|
104
|
+
*
|
|
105
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
106
|
+
*
|
|
107
|
+
* Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.
|
|
108
|
+
*
|
|
109
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#left-join-lateral}
|
|
110
|
+
*
|
|
111
|
+
* @param table the subquery to join.
|
|
112
|
+
* @param on the `on` clause.
|
|
113
|
+
*/
|
|
114
|
+
leftJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "left", TJoinedTable, TJoinedName>;
|
|
106
115
|
/**
|
|
107
116
|
* Executes a `right join` operation by adding another table to the current query.
|
|
108
117
|
*
|
|
@@ -117,12 +126,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
117
126
|
*
|
|
118
127
|
* ```ts
|
|
119
128
|
* // Select all users and their pets
|
|
120
|
-
* const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
|
|
129
|
+
* const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()
|
|
121
130
|
* .from(users)
|
|
122
131
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
123
132
|
*
|
|
124
133
|
* // Select userId and petId
|
|
125
|
-
* const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
|
|
134
|
+
* const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({
|
|
126
135
|
* userId: users.id,
|
|
127
136
|
* petId: pets.id,
|
|
128
137
|
* })
|
|
@@ -130,7 +139,7 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
130
139
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
131
140
|
* ```
|
|
132
141
|
*/
|
|
133
|
-
rightJoin:
|
|
142
|
+
rightJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "right", TJoinedTable, TJoinedName>;
|
|
134
143
|
/**
|
|
135
144
|
* Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
|
|
136
145
|
*
|
|
@@ -145,12 +154,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
145
154
|
*
|
|
146
155
|
* ```ts
|
|
147
156
|
* // Select all users and their pets
|
|
148
|
-
* const usersWithPets: { user: User; pets: Pet }[] = await db.select()
|
|
157
|
+
* const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
|
|
149
158
|
* .from(users)
|
|
150
159
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
151
160
|
*
|
|
152
161
|
* // Select userId and petId
|
|
153
|
-
* const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
|
|
162
|
+
* const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
|
|
154
163
|
* userId: users.id,
|
|
155
164
|
* petId: pets.id,
|
|
156
165
|
* })
|
|
@@ -158,7 +167,20 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
158
167
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
159
168
|
* ```
|
|
160
169
|
*/
|
|
161
|
-
innerJoin:
|
|
170
|
+
innerJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "inner", TJoinedTable, TJoinedName>;
|
|
171
|
+
/**
|
|
172
|
+
* Executes an `inner join lateral` operation, creating a new table by combining rows from two queries that have matching values.
|
|
173
|
+
*
|
|
174
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
175
|
+
*
|
|
176
|
+
* Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.
|
|
177
|
+
*
|
|
178
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#inner-join-lateral}
|
|
179
|
+
*
|
|
180
|
+
* @param table the subquery to join.
|
|
181
|
+
* @param on the `on` clause.
|
|
182
|
+
*/
|
|
183
|
+
innerJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "inner", TJoinedTable, TJoinedName>;
|
|
162
184
|
/**
|
|
163
185
|
* Executes a `full join` operation by combining rows from two tables into a new table.
|
|
164
186
|
*
|
|
@@ -173,12 +195,12 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
173
195
|
*
|
|
174
196
|
* ```ts
|
|
175
197
|
* // Select all users and their pets
|
|
176
|
-
* const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
|
|
198
|
+
* const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()
|
|
177
199
|
* .from(users)
|
|
178
200
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
179
201
|
*
|
|
180
202
|
* // Select userId and petId
|
|
181
|
-
* const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
|
|
203
|
+
* const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({
|
|
182
204
|
* userId: users.id,
|
|
183
205
|
* petId: pets.id,
|
|
184
206
|
* })
|
|
@@ -186,7 +208,46 @@ export declare abstract class GelSelectQueryBuilderBase<THKT extends GelSelectHK
|
|
|
186
208
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
187
209
|
* ```
|
|
188
210
|
*/
|
|
189
|
-
fullJoin:
|
|
211
|
+
fullJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL<unknown> | ((aliases: this["_"]["selection"]) => SQL | undefined) | undefined) => import("./select.types.js").GelSelectJoin<this, TDynamic, "full", TJoinedTable, TJoinedName>;
|
|
212
|
+
/**
|
|
213
|
+
* Executes a `cross join` operation by combining rows from two tables into a new table.
|
|
214
|
+
*
|
|
215
|
+
* Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.
|
|
216
|
+
*
|
|
217
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}
|
|
218
|
+
*
|
|
219
|
+
* @param table the table to join.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
*
|
|
223
|
+
* ```ts
|
|
224
|
+
* // Select all users, each user with every pet
|
|
225
|
+
* const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
|
|
226
|
+
* .from(users)
|
|
227
|
+
* .crossJoin(pets)
|
|
228
|
+
*
|
|
229
|
+
* // Select userId and petId
|
|
230
|
+
* const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
|
|
231
|
+
* userId: users.id,
|
|
232
|
+
* petId: pets.id,
|
|
233
|
+
* })
|
|
234
|
+
* .from(users)
|
|
235
|
+
* .crossJoin(pets)
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
crossJoin: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>> | GelTable<import("../table.js").TableConfig> | GelViewBase<string, boolean, ColumnsSelection>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable) => import("./select.types.js").GelSelectJoin<this, TDynamic, "cross", TJoinedTable, TJoinedName>;
|
|
239
|
+
/**
|
|
240
|
+
* Executes a `cross join lateral` operation by combining rows from two queries into a new table.
|
|
241
|
+
*
|
|
242
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
243
|
+
*
|
|
244
|
+
* Calling this method retrieves all rows from both main and joined queries, merging all rows from each query.
|
|
245
|
+
*
|
|
246
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#cross-join-lateral}
|
|
247
|
+
*
|
|
248
|
+
* @param table the query to join.
|
|
249
|
+
*/
|
|
250
|
+
crossJoinLateral: <TJoinedTable extends SQL<unknown> | Subquery<string, Record<string, unknown>>, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable) => import("./select.types.js").GelSelectJoin<this, TDynamic, "cross", TJoinedTable, TJoinedName>;
|
|
190
251
|
private createSetOperator;
|
|
191
252
|
/**
|
|
192
253
|
* Adds `union` set operator to the query.
|
|
@@ -527,11 +588,6 @@ export interface GelSelectBase<TTableName extends string | undefined, TSelection
|
|
|
527
588
|
}
|
|
528
589
|
export declare class GelSelectBase<TTableName extends string | undefined, TSelection extends ColumnsSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields = BuildSubquerySelection<TSelection, TNullabilityMap>> extends GelSelectQueryBuilderBase<GelSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {
|
|
529
590
|
static readonly [entityKind]: string;
|
|
530
|
-
$withCache(config?: {
|
|
531
|
-
config?: CacheConfig;
|
|
532
|
-
tag?: string;
|
|
533
|
-
autoInvalidate?: boolean;
|
|
534
|
-
} | false): this;
|
|
535
591
|
/**
|
|
536
592
|
* Create a prepared statement for this query. This allows
|
|
537
593
|
* the database to remember this query for the given session
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
} from "../../utils.js";
|
|
16
16
|
import { orderSelectedFields } from "../../utils.js";
|
|
17
17
|
import { ViewBaseConfig } from "../../view-common.js";
|
|
18
|
-
import { extractUsedTable } from "../utils.js";
|
|
19
18
|
class GelSelectBuilder {
|
|
20
19
|
static [entityKind] = "GelSelectBuilder";
|
|
21
20
|
fields;
|
|
@@ -80,8 +79,6 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
80
79
|
isPartialSelect;
|
|
81
80
|
session;
|
|
82
81
|
dialect;
|
|
83
|
-
cacheConfig = void 0;
|
|
84
|
-
usedTables = /* @__PURE__ */ new Set();
|
|
85
82
|
constructor({ table, fields, isPartialSelect, session, dialect, withList, distinct }) {
|
|
86
83
|
super();
|
|
87
84
|
this.config = {
|
|
@@ -95,27 +92,18 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
95
92
|
this.session = session;
|
|
96
93
|
this.dialect = dialect;
|
|
97
94
|
this._ = {
|
|
98
|
-
selectedFields: fields
|
|
99
|
-
config: this.config
|
|
95
|
+
selectedFields: fields
|
|
100
96
|
};
|
|
101
97
|
this.tableName = getTableLikeName(table);
|
|
102
98
|
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
|
103
|
-
for (const item of extractUsedTable(table))
|
|
104
|
-
this.usedTables.add(item);
|
|
105
99
|
}
|
|
106
|
-
|
|
107
|
-
getUsedTables() {
|
|
108
|
-
return [...this.usedTables];
|
|
109
|
-
}
|
|
110
|
-
createJoin(joinType) {
|
|
100
|
+
createJoin(joinType, lateral) {
|
|
111
101
|
return (table, on) => {
|
|
112
102
|
const baseTableName = this.tableName;
|
|
113
103
|
const tableName = getTableLikeName(table);
|
|
114
104
|
if (typeof tableName === "string" && this.config.joins?.some((join) => join.alias === tableName)) {
|
|
115
105
|
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
116
106
|
}
|
|
117
|
-
for (const item of extractUsedTable(table))
|
|
118
|
-
this.usedTables.add(item);
|
|
119
107
|
if (!this.isPartialSelect) {
|
|
120
108
|
if (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === "string") {
|
|
121
109
|
this.config.fields = {
|
|
@@ -138,7 +126,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
138
126
|
if (!this.config.joins) {
|
|
139
127
|
this.config.joins = [];
|
|
140
128
|
}
|
|
141
|
-
this.config.joins.push({ on, table, joinType, alias: tableName });
|
|
129
|
+
this.config.joins.push({ on, table, joinType, alias: tableName, lateral });
|
|
142
130
|
if (typeof tableName === "string") {
|
|
143
131
|
switch (joinType) {
|
|
144
132
|
case "left": {
|
|
@@ -152,6 +140,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
152
140
|
this.joinsNotNullableMap[tableName] = true;
|
|
153
141
|
break;
|
|
154
142
|
}
|
|
143
|
+
case "cross":
|
|
155
144
|
case "inner": {
|
|
156
145
|
this.joinsNotNullableMap[tableName] = true;
|
|
157
146
|
break;
|
|
@@ -182,12 +171,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
182
171
|
*
|
|
183
172
|
* ```ts
|
|
184
173
|
* // Select all users and their pets
|
|
185
|
-
* const usersWithPets: { user: User; pets: Pet | null }[] = await db.select()
|
|
174
|
+
* const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()
|
|
186
175
|
* .from(users)
|
|
187
176
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
188
177
|
*
|
|
189
178
|
* // Select userId and petId
|
|
190
|
-
* const usersIdsAndPetIds: { userId: number; petId: number | null }[] = await db.select({
|
|
179
|
+
* const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({
|
|
191
180
|
* userId: users.id,
|
|
192
181
|
* petId: pets.id,
|
|
193
182
|
* })
|
|
@@ -195,7 +184,20 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
195
184
|
* .leftJoin(pets, eq(users.id, pets.ownerId))
|
|
196
185
|
* ```
|
|
197
186
|
*/
|
|
198
|
-
leftJoin = this.createJoin("left");
|
|
187
|
+
leftJoin = this.createJoin("left", false);
|
|
188
|
+
/**
|
|
189
|
+
* Executes a `left join lateral` operation by adding subquery to the current query.
|
|
190
|
+
*
|
|
191
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
192
|
+
*
|
|
193
|
+
* Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.
|
|
194
|
+
*
|
|
195
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#left-join-lateral}
|
|
196
|
+
*
|
|
197
|
+
* @param table the subquery to join.
|
|
198
|
+
* @param on the `on` clause.
|
|
199
|
+
*/
|
|
200
|
+
leftJoinLateral = this.createJoin("left", true);
|
|
199
201
|
/**
|
|
200
202
|
* Executes a `right join` operation by adding another table to the current query.
|
|
201
203
|
*
|
|
@@ -210,12 +212,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
210
212
|
*
|
|
211
213
|
* ```ts
|
|
212
214
|
* // Select all users and their pets
|
|
213
|
-
* const usersWithPets: { user: User | null; pets: Pet }[] = await db.select()
|
|
215
|
+
* const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()
|
|
214
216
|
* .from(users)
|
|
215
217
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
216
218
|
*
|
|
217
219
|
* // Select userId and petId
|
|
218
|
-
* const usersIdsAndPetIds: { userId: number | null; petId: number }[] = await db.select({
|
|
220
|
+
* const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({
|
|
219
221
|
* userId: users.id,
|
|
220
222
|
* petId: pets.id,
|
|
221
223
|
* })
|
|
@@ -223,7 +225,7 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
223
225
|
* .rightJoin(pets, eq(users.id, pets.ownerId))
|
|
224
226
|
* ```
|
|
225
227
|
*/
|
|
226
|
-
rightJoin = this.createJoin("right");
|
|
228
|
+
rightJoin = this.createJoin("right", false);
|
|
227
229
|
/**
|
|
228
230
|
* Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.
|
|
229
231
|
*
|
|
@@ -238,12 +240,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
238
240
|
*
|
|
239
241
|
* ```ts
|
|
240
242
|
* // Select all users and their pets
|
|
241
|
-
* const usersWithPets: { user: User; pets: Pet }[] = await db.select()
|
|
243
|
+
* const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
|
|
242
244
|
* .from(users)
|
|
243
245
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
244
246
|
*
|
|
245
247
|
* // Select userId and petId
|
|
246
|
-
* const usersIdsAndPetIds: { userId: number; petId: number }[] = await db.select({
|
|
248
|
+
* const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
|
|
247
249
|
* userId: users.id,
|
|
248
250
|
* petId: pets.id,
|
|
249
251
|
* })
|
|
@@ -251,7 +253,20 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
251
253
|
* .innerJoin(pets, eq(users.id, pets.ownerId))
|
|
252
254
|
* ```
|
|
253
255
|
*/
|
|
254
|
-
innerJoin = this.createJoin("inner");
|
|
256
|
+
innerJoin = this.createJoin("inner", false);
|
|
257
|
+
/**
|
|
258
|
+
* Executes an `inner join lateral` operation, creating a new table by combining rows from two queries that have matching values.
|
|
259
|
+
*
|
|
260
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
261
|
+
*
|
|
262
|
+
* Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.
|
|
263
|
+
*
|
|
264
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#inner-join-lateral}
|
|
265
|
+
*
|
|
266
|
+
* @param table the subquery to join.
|
|
267
|
+
* @param on the `on` clause.
|
|
268
|
+
*/
|
|
269
|
+
innerJoinLateral = this.createJoin("inner", true);
|
|
255
270
|
/**
|
|
256
271
|
* Executes a `full join` operation by combining rows from two tables into a new table.
|
|
257
272
|
*
|
|
@@ -266,12 +281,12 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
266
281
|
*
|
|
267
282
|
* ```ts
|
|
268
283
|
* // Select all users and their pets
|
|
269
|
-
* const usersWithPets: { user: User | null; pets: Pet | null }[] = await db.select()
|
|
284
|
+
* const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()
|
|
270
285
|
* .from(users)
|
|
271
286
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
272
287
|
*
|
|
273
288
|
* // Select userId and petId
|
|
274
|
-
* const usersIdsAndPetIds: { userId: number | null; petId: number | null }[] = await db.select({
|
|
289
|
+
* const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({
|
|
275
290
|
* userId: users.id,
|
|
276
291
|
* petId: pets.id,
|
|
277
292
|
* })
|
|
@@ -279,7 +294,46 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
279
294
|
* .fullJoin(pets, eq(users.id, pets.ownerId))
|
|
280
295
|
* ```
|
|
281
296
|
*/
|
|
282
|
-
fullJoin = this.createJoin("full");
|
|
297
|
+
fullJoin = this.createJoin("full", false);
|
|
298
|
+
/**
|
|
299
|
+
* Executes a `cross join` operation by combining rows from two tables into a new table.
|
|
300
|
+
*
|
|
301
|
+
* Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.
|
|
302
|
+
*
|
|
303
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}
|
|
304
|
+
*
|
|
305
|
+
* @param table the table to join.
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
*
|
|
309
|
+
* ```ts
|
|
310
|
+
* // Select all users, each user with every pet
|
|
311
|
+
* const usersWithPets: { user: User; pets: Pet; }[] = await db.select()
|
|
312
|
+
* .from(users)
|
|
313
|
+
* .crossJoin(pets)
|
|
314
|
+
*
|
|
315
|
+
* // Select userId and petId
|
|
316
|
+
* const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({
|
|
317
|
+
* userId: users.id,
|
|
318
|
+
* petId: pets.id,
|
|
319
|
+
* })
|
|
320
|
+
* .from(users)
|
|
321
|
+
* .crossJoin(pets)
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
crossJoin = this.createJoin("cross", false);
|
|
325
|
+
/**
|
|
326
|
+
* Executes a `cross join lateral` operation by combining rows from two queries into a new table.
|
|
327
|
+
*
|
|
328
|
+
* A `lateral` join allows the right-hand expression to refer to columns from the left-hand side.
|
|
329
|
+
*
|
|
330
|
+
* Calling this method retrieves all rows from both main and joined queries, merging all rows from each query.
|
|
331
|
+
*
|
|
332
|
+
* See docs: {@link https://orm.drizzle.team/docs/joins#cross-join-lateral}
|
|
333
|
+
*
|
|
334
|
+
* @param table the query to join.
|
|
335
|
+
*/
|
|
336
|
+
crossJoinLateral = this.createJoin("cross", true);
|
|
283
337
|
createSetOperator(type, isAll) {
|
|
284
338
|
return (rightSelection) => {
|
|
285
339
|
const rightSelect = typeof rightSelection === "function" ? rightSelection(getGelSetOperators()) : rightSelection;
|
|
@@ -667,14 +721,8 @@ class GelSelectQueryBuilderBase extends TypedQueryBuilder {
|
|
|
667
721
|
return rest;
|
|
668
722
|
}
|
|
669
723
|
as(alias) {
|
|
670
|
-
const usedTables = [];
|
|
671
|
-
usedTables.push(...extractUsedTable(this.config.table));
|
|
672
|
-
if (this.config.joins) {
|
|
673
|
-
for (const it of this.config.joins)
|
|
674
|
-
usedTables.push(...extractUsedTable(it.table));
|
|
675
|
-
}
|
|
676
724
|
return new Proxy(
|
|
677
|
-
new Subquery(this.getSQL(), this.config.fields, alias
|
|
725
|
+
new Subquery(this.getSQL(), this.config.fields, alias),
|
|
678
726
|
new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
|
|
679
727
|
);
|
|
680
728
|
}
|
|
@@ -693,24 +741,17 @@ class GelSelectBase extends GelSelectQueryBuilderBase {
|
|
|
693
741
|
static [entityKind] = "GelSelect";
|
|
694
742
|
/** @internal */
|
|
695
743
|
_prepare(name) {
|
|
696
|
-
const { session, config, dialect, joinsNotNullableMap
|
|
744
|
+
const { session, config, dialect, joinsNotNullableMap } = this;
|
|
697
745
|
if (!session) {
|
|
698
746
|
throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
|
|
699
747
|
}
|
|
700
748
|
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
701
749
|
const fieldsList = orderSelectedFields(config.fields);
|
|
702
|
-
const query = session.prepareQuery(dialect.sqlToQuery(this.getSQL()), fieldsList, name, true
|
|
703
|
-
type: "select",
|
|
704
|
-
tables: [...usedTables]
|
|
705
|
-
}, cacheConfig);
|
|
750
|
+
const query = session.prepareQuery(dialect.sqlToQuery(this.getSQL()), fieldsList, name, true);
|
|
706
751
|
query.joinsNotNullableMap = joinsNotNullableMap;
|
|
707
752
|
return query;
|
|
708
753
|
});
|
|
709
754
|
}
|
|
710
|
-
$withCache(config) {
|
|
711
|
-
this.cacheConfig = config === void 0 ? { config: {}, enable: true, autoInvalidate: true } : config === false ? { enable: false } : { enable: true, autoInvalidate: true, ...config };
|
|
712
|
-
return this;
|
|
713
|
-
}
|
|
714
755
|
/**
|
|
715
756
|
* Create a prepared statement for this query. This allows
|
|
716
757
|
* the database to remember this query for the given session
|