Basics
Query Builder
QueryBuilder wraps the built query and provides helpers for retrieving SQL strings, parameters, and executing against an attached QueryInstance.
SQL Helpers
getSql() returns the raw SQL string.
getSqlParameters() returns the bound parameter list.
getSqlAndParameters() returns both in a single object.
getSqlWithParameters() returns SQL with parameters interpolated for debugging.
const query = q
.select(q.c("users.id"), q.c("users.email"))
.from(q.t("users"))
query.getSql()
// SQL: SELECT "users"."id", "users"."email" FROM "users"
query.getSqlParameters()
// SQL: []
query.getSqlAndParameters()
// SQL: { sql: 'SELECT "users"."id", "users"."email" FROM "users"', parameters: [] }
query.getSqlWithParameters()
// SQL: SELECT "users"."id", "users"."email" FROM "users"
const query = q
.select(q.c("users.id"), q.c("users.email"))
.from(q.t("users"))
query.getSql()
// SQL: SELECT "users"."id", "users"."email" FROM "users"
query.getSqlParameters()
// SQL: []
query.getSqlAndParameters()
// SQL: { sql: 'SELECT "users"."id", "users"."email" FROM "users"', parameters: [] }
query.getSqlWithParameters()
// SQL: SELECT "users"."id", "users"."email" FROM "users"
With Parameters
Parameterized queries surface placeholders in getSql() and values in getSqlParameters(). For debugging, usegetSqlWithParameters().
const query = q
.select(q.c("users.id"))
.from(q.t("users"))
.where(q.eq(q.c("users.status"), q.v("active")))
query.getSql()
// SQL: SELECT "users"."id" FROM "users" WHERE "users"."status" = $1
query.getSqlParameters()
// SQL: ["active"]
query.getSqlAndParameters()
// SQL: { sql: 'SELECT "users"."id" FROM "users" WHERE "users"."status" = $1', parameters: ['active'] }
query.getSqlWithParameters()
// SQL: SELECT "users"."id" FROM "users" WHERE "users"."status" = 'active'const query = q
.select(q.c("users.id"))
.from(q.t("users"))
.where(q.eq(q.c("users.status"), q.v("active")))
query.getSql()
// SQL: SELECT "users"."id" FROM "users" WHERE "users"."status" = $1
query.getSqlParameters()
// SQL: ["active"]
query.getSqlAndParameters()
// SQL: { sql: 'SELECT "users"."id" FROM "users" WHERE "users"."status" = $1', parameters: ['active'] }
query.getSqlWithParameters()
// SQL: SELECT "users"."id" FROM "users" WHERE "users"."status" = 'active'Execute
execute(meta?) forwards SQL, parameters, and the builder to the attached QueryInstance via execHandler.
const query = q
.select(q.c("users.id"), q.c("users.email"))
.from(q.t("users"))
query.execute({ requestId: "docs" })
// SQL: execHandler({ sql, parameters, queryBuilder, meta })const query = q
.select(q.c("users.id"), q.c("users.email"))
.from(q.t("users"))
query.execute({ requestId: "docs" })
// SQL: execHandler({ sql, parameters, queryBuilder, meta })Method Index
Quick reference for QueryBuilder helpers.
Showing 5 methods
| Method | Returns | Notes |
|---|---|---|
| getSql | string | Returns the SQL string for the query. |
| getSqlParameters | unknown[] | Returns the bound parameter list. |
| getSqlAndParameters | { sql: string; parameters: unknown[] } | Returns SQL and parameters together. |
| getSqlWithParameters | string | Returns debug SQL with parameters interpolated. |
| execute | Promise<unknown> | Runs via QueryInstance.execHandler(meta) when attached. |