ts-sql-query
Version:
Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
57 lines (56 loc) • 4.96 kB
TypeScript
import { SqlBuilder, DeleteData, JoinData, ToSql } from "../sqlBuilders/SqlBuilder";
import { HasAddWiths, HasIsValue, ITable, ITableOrView, IWithView, OuterJoinSource } from "../utils/ITableOrView";
import { IBooleanValueSource, IIfValueSource, AnyValueSource, AlwaysIfValueSource } from "../expressions/values";
import type { DeleteExpression, ExecutableDelete, DynamicExecutableDeleteExpression, DeleteExpressionAllowingNoWhere, DeleteCustomization, CustomizableExecutableDelete, ComposableExecutableDelete, ComposeExpression, ComposeExpressionDeletingInternalProperty, ComposeExpressionDeletingExternalProperty, ComposableCustomizableExecutableDelete, ReturnableExecutableDelete, ExecutableDeleteReturning, DeleteColumns, DeleteWhereExpression, DeleteWhereExpressionAllowingNoWhere, DeleteWhereJoinExpression, DynamicOnExpression, OnExpression, DeleteExpressionWithoutJoin, DeleteUsingExpression, DeleteWhereJoinExpressionAllowingNoWhere, DynamicOnExpressionAllowingNoWhere, OnExpressionAllowingNoWhere, DeleteExpressionWithoutJoinAllowingNoWhere, DeleteUsingExpressionAllowingNoWhere, ComposableCustomizableExecutableDeleteProjectableAsNullable } from "../expressions/delete";
import type { int } from "ts-extended-types";
import { database, resultType, tableOrView, type } from "../utils/symbols";
import { ComposeSplitQueryBuilder } from "./ComposeSliptQueryBuilder";
import { Column } from "../utils/Column";
export declare class DeleteQueryBuilder extends ComposeSplitQueryBuilder implements HasAddWiths, ToSql, DeleteExpression<any, any>, DeleteExpressionAllowingNoWhere<any, any>, CustomizableExecutableDelete<any>, ExecutableDelete<any>, DynamicExecutableDeleteExpression<any, any>, DeleteData, ComposableExecutableDelete<any, any, any>, ComposeExpression<any, any, any, any, any, any>, ComposeExpressionDeletingInternalProperty<any, any, any, any, any, any>, ComposeExpressionDeletingExternalProperty<any, any, any, any, any, any>, ComposableCustomizableExecutableDelete<any, any, any>, ReturnableExecutableDelete<any, any>, ExecutableDeleteReturning<any, any, any>, DeleteWhereExpression<any, any>, DeleteWhereExpressionAllowingNoWhere<any, any>, DeleteWhereJoinExpression<any, any>, DynamicOnExpression<any, any>, OnExpression<any, any>, DeleteExpressionWithoutJoin<any, any>, DeleteUsingExpression<any, any>, DeleteWhereJoinExpressionAllowingNoWhere<any, any>, DynamicOnExpressionAllowingNoWhere<any, any>, OnExpressionAllowingNoWhere<any, any>, DeleteExpressionWithoutJoinAllowingNoWhere<any, any>, DeleteUsingExpressionAllowingNoWhere<any, any>, ComposableCustomizableExecutableDeleteProjectableAsNullable<any, any> {
[type]: any;
[database]: any;
[tableOrView]: any;
[resultType]: any;
__table: ITable<any>;
__where?: AlwaysIfValueSource<any, any>;
__allowNoWhere: boolean;
__withs: Array<IWithView<any>>;
__customization?: DeleteCustomization<any>;
__using?: Array<ITableOrView<any>>;
__joins?: Array<JoinData>;
__oneColumn?: boolean;
__lastJoin?: JoinData;
__query: string;
__params: any[];
constructor(sqlBuilder: SqlBuilder, table: ITable<any>, allowNoWhere: boolean);
executeDelete(min?: number, max?: number): Promise<int> & Promise<number>;
executeDeleteNoneOrOne(): Promise<any>;
executeDeleteOne(): Promise<any>;
executeDeleteMany(min?: number, max?: number): Promise<any>;
query(): string;
params(): any[];
__toSql(_sqlBuilder: SqlBuilder, params: any[]): string;
__toSqlForCondition(sqlBuilder: SqlBuilder, params: any[]): string;
dynamicWhere(): this;
where(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this;
and(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this;
or(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): this;
using(table: ITableOrView<any>): any;
join(table: ITableOrView<any>): any;
innerJoin(table: ITableOrView<any>): any;
leftJoin(source: OuterJoinSource<any, any>): any;
leftOuterJoin(source: OuterJoinSource<any, any>): any;
dynamicOn(): any;
on(condition: IBooleanValueSource<any, any> | IIfValueSource<any, any>): any;
__finishJoin(): void;
customizeQuery(customization: DeleteCustomization<any>): this;
returning(columns: DeleteColumns<any, any>): this;
projectingOptionalValuesAsNullable(): any;
returningOneColumn(column: AnyValueSource): this;
__addWiths(sqlBuilder: HasIsValue, withs: Array<IWithView<any>>): void;
__registerTableOrView(_sqlBuilder: HasIsValue, _requiredTablesOrViews: Set<ITableOrView<any>>): void;
__registerRequiredColumn(_sqlBuilder: HasIsValue, _requiredColumns: Set<Column>, _onlyForTablesOrViews: Set<ITableOrView<any>>): void;
__getOldValues(_sqlBuilder: HasIsValue): ITableOrView<any> | undefined;
__getValuesForInsert(_sqlBuilder: HasIsValue): ITableOrView<any> | undefined;
__isAllowed(sqlBuilder: HasIsValue): boolean;
}