UNPKG

@riao/dbal

Version:
107 lines (106 loc) 4.07 kB
import { InsertOptions } from './insert'; import { SelectColumn, SelectQuery } from './select'; import { UpdateOptions } from './update'; import { DeleteOptions } from './delete'; import { StatementBuilder } from '../builder/statement-builder'; import { GroupBy } from './group-by'; import { OrderBy } from './order-by'; import { Join } from './join'; import { ComparisonToken } from '../comparison'; import { Expression, LogicalToken, MathToken, RawExpressionToken } from '../expression'; import { DatabaseFunction } from '../functions/function-token'; import { Subquery } from './subquery'; import { KeyValExpression } from '../expression/key-val-expression'; import { CaseExpression } from './case-expression'; import { SetOptions } from './set-options'; import { From } from './from'; export declare class DatabaseQueryBuilder extends StatementBuilder { expression(expr: Expression | LogicalToken): void; subquery(subquery: Subquery): void; caseExpression(expr: CaseExpression): void; rawExpression(expr: RawExpressionToken): this; keyValueExpression(kv: KeyValExpression): this; set(options: SetOptions): this; setStatement(): this; setColumn(options: SetOptions): this; selectColumn(column: SelectColumn): this; selectColumnList(columns?: SelectColumn[]): this; selectFrom(from: From): this; tableAlias(alias: string): this; selectStatement(): this; distinctStatement(): this; selectTop(limit: number): this; equal(value: Expression): void; like(value: Expression): void; lt(value: Expression): void; lte(value: Expression): void; gt(value: Expression): void; gte(value: Expression): void; notEqual(value: Expression): void; isNull(): void; inArray(values: Expression[]): void; between(a: Expression, b: Expression): void; notNull(): void; buildComparisonToken(condition: ComparisonToken): this; and(): void; or(): void; not(value: Expression): void; logical(token: LogicalToken): void; addition(): void; subtraction(): void; multiplication(): void; division(): void; modulo(): void; math(token: MathToken): void; where(where: Expression): this; limit(nRecords: number): this; offset(nRecords: number): this; groupBy(by: GroupBy): this; having(query: Expression): this; orderBy(by: OrderBy): void; select(query: SelectQuery): this; pagination(query: SelectQuery): this; join(join: Join): void; insertIntoStatement(table: string): this; insertColumnNames(record: Record<string, Expression>): this; insertOnDuplicateKeyUpdate(assignment: Record<string, Expression>): this; insertIfNotExists(): this; insertOutput(primaryKey: string): this; insertReturning(primaryKey: string): this; insert(options: InsertOptions): this; updateStatement(table: string): this; updateKeyValues(values: { [key: string]: Expression; }): this; updateSetStatement(values: { [key: string]: Expression; }): this; update(options: UpdateOptions): this; deleteStatement(table: string): this; delete(options: DeleteOptions): this; /** * Append a database function the query * * @param fn Database function token */ databaseFunction(fn: DatabaseFunction): this; average(fn: DatabaseFunction): this; count(fn: DatabaseFunction): this; min(fn: DatabaseFunction): this; max(fn: DatabaseFunction): this; sum(fn: DatabaseFunction): this; currentTimestamp(fn: DatabaseFunction): this; date(fn: DatabaseFunction): this; year(fn: DatabaseFunction): this; uuid(): this; getTriggerOld(): string; getTriggerOldColumn(column: string): string; getTriggerNew(): string; getTriggerNewColumn(column: string): string; triggerSetValue(options: { table: string; idColumn: string; column: string; value: Expression; }): this; }