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"

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'

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 })

Method Index

Quick reference for QueryBuilder helpers.

Showing 5 methods

MethodReturnsNotes
getSqlstringReturns the SQL string for the query.
getSqlParametersunknown[]Returns the bound parameter list.
getSqlAndParameters{ sql: string; parameters: unknown[] }Returns SQL and parameters together.
getSqlWithParametersstringReturns debug SQL with parameters interpolated.
executePromise<unknown>Runs via QueryInstance.execHandler(meta) when attached.