@riao/dbal
Version:
107 lines (106 loc) • 4.07 kB
TypeScript
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;
}