import "reflect-metadata"; import { NamingStrategy, AliasType } from "../../Query/NamingStrategy"; import { IColumnExpression } from "../../Queryable/QueryExpression/IColumnExpression"; import { SelectExpression } from "../../Queryable/QueryExpression/SelectExpression"; import { ValueType, GenericType } from "../../Common/Type"; import { IQuery } from "../../Query/IQuery"; import { IExpression } from "../../ExpressionBuilder/Expression/IExpression"; import { IBinaryOperatorExpression } from "../../ExpressionBuilder/Expression/IBinaryOperatorExpression"; import { MemberAccessExpression } from "../../ExpressionBuilder/Expression/MemberAccessExpression"; import { MethodCallExpression } from "../../ExpressionBuilder/Expression/MethodCallExpression"; import { FunctionCallExpression } from "../../ExpressionBuilder/Expression/FunctionCallExpression"; import { ValueExpression } from "../../ExpressionBuilder/Expression/ValueExpression"; import { IEntityExpression } from "../../Queryable/QueryExpression/IEntityExpression"; import { IQueryTranslatorItem } from "../../Query/IQueryTranslatorItem"; import { UpdateExpression } from "../../Queryable/QueryExpression/UpdateExpression"; import { IQueryParameterMap } from "../../Query/IQueryParameter"; import { DeleteExpression } from "../../Queryable/QueryExpression/DeleteExpression"; import { IQueryExpression } from "../../Queryable/QueryExpression/IQueryExpression"; import { SqlParameterExpression } from "../../Queryable/QueryExpression/SqlParameterExpression"; import { InsertExpression } from "../../Queryable/QueryExpression/InsertExpression"; import { IQueryLimit } from "../../Data/Interface/IQueryLimit"; import { InsertIntoExpression } from "../../Queryable/QueryExpression/InsertIntoExpression"; import { UpsertExpression } from "../../Queryable/QueryExpression/UpsertExpression"; import { TimeSpan } from "../../Data/TimeSpan"; import { Uuid } from "../../Data/Uuid"; import { IColumnMetaData } from "../../MetaData/Interface/IColumnMetaData"; import { InstantiationExpression } from "../../ExpressionBuilder/Expression/InstantiationExpression"; import { JoinRelation } from "../../Queryable/Interface/JoinRelation"; import { ISelectRelation } from "../../Queryable/Interface/ISelectRelation"; import { RawSqlExpression } from "../../Queryable/QueryExpression/RawSqlExpression"; import { ArrayValueExpression } from "../../ExpressionBuilder/Expression/ArrayValueExpression"; import { IQueryBuilder } from "../../Query/IQueryBuilder"; import { IQueryBuilderParameter } from "../../Query/IQueryBuilderParameter"; import { IQueryOption } from "../../Query/IQueryOption"; import { ICompleteColumnType } from "../../Common/ICompleteColumnType"; import { IEnumerable } from "../../Enumerable/IEnumerable"; export declare abstract class RelationQueryBuilder implements IQueryBuilder { abstract queryLimit: IQueryLimit; abstract valueTypeMap: Map ICompleteColumnType>; namingStrategy: NamingStrategy; translator: import("../../Query/QueryTranslator").QueryTranslator; private _lastInsertedIdQuery; readonly lastInsertIdQuery: string; toQuery(queryExpression: IQueryExpression, parameters?: IQueryParameterMap, option?: IQueryOption): IQuery[]; protected getTempTableQuery(entityExp: IEntityExpression, values: T[], option: IQueryOption): IQuery[]; columnTypeString(columnType: ICompleteColumnType): string; protected getSelectQuery(selectExp: SelectExpression, option: IQueryOption, parameters: IQueryParameterMap, skipInclude?: boolean): IQuery[]; protected getInsertIntoQuery(insertIntoExp: InsertIntoExpression, option: IQueryOption, parameters: IQueryParameterMap): IQuery[]; protected getInsertQuery(insertExp: InsertExpression, option: IQueryOption, parameters: IQueryParameterMap): IQuery[]; protected getUpsertQuery(upsertExp: UpsertExpression, option: IQueryOption, parameters: IQueryParameterMap): IQuery[]; protected getDeleteQuery(deleteExp: DeleteExpression, option: IQueryOption, parameters: IQueryParameterMap): IQuery[]; protected getUpdateQuery(updateExp: UpdateExpression, option: IQueryOption, parameters: IQueryParameterMap): IQuery[]; protected extractValue(exp: IExpression, param?: IQueryBuilderParameter): T; protected getSelectQueryString(select: SelectExpression, param?: IQueryBuilderParameter, skipInclude?: boolean): string; protected getEntityQueryString(entity: IEntityExpression, param?: IQueryBuilderParameter): string; protected getJoinQueryString(joins: IEnumerable>, param?: IQueryBuilderParameter): string; protected getParentJoinQueryString(parentRel: ISelectRelation, param?: IQueryBuilderParameter): string; protected isSimpleSelect(exp: SelectExpression): boolean; protected getPagingQueryString(select: SelectExpression, take: number, skip: number): string; protected getColumnQueryString(column: IColumnExpression, param?: IQueryBuilderParameter): string; mergeQueries(queries: IEnumerable): IQuery[]; protected getParameter(param: IQueryBuilderParameter): Map; resolveTranslator(object: T, memberName?: keyof T): IQueryTranslatorItem>; toString(expression: IExpression, param?: IQueryBuilderParameter): string; protected indent: number; private aliasObj; enclose(identity: string): string; newLine(indent?: number, isAdd?: boolean): string; newAlias(type?: AliasType): string; valueString(value: ValueType): string; protected dateTimeString(value: Date): string; protected timeString(value: TimeSpan): string; protected identifierString(value: Uuid): string; protected nullString(): string; protected stringString(value: string): string; protected booleanString(value: boolean): "0" | "1"; protected numberString(value: number): string; protected toArrayString(expression: ArrayValueExpression, param?: IQueryBuilderParameter): string; protected toValueString(expression: ValueExpression, param?: IQueryBuilderParameter): string; protected toInstantiationString(expression: InstantiationExpression, param?: IQueryBuilderParameter): string; protected toRawSqlString(expression: RawSqlExpression, param?: IQueryBuilderParameter): string; protected toOperatorString(expression: IBinaryOperatorExpression, param?: IQueryBuilderParameter): string; toLogicalString(expression: IExpression, param?: IQueryBuilderParameter): string; protected toFunctionCallString(expression: FunctionCallExpression, param?: IQueryBuilderParameter): string; protected toMemberAccessString(exp: MemberAccessExpression, param?: IQueryBuilderParameter): string; protected toMethodCallString(exp: MethodCallExpression, param?: IQueryBuilderParameter): string; protected toSqlParameterString(expression: SqlParameterExpression, param?: IQueryBuilderParameter): string; toOperandString(expression: IExpression, param?: IQueryBuilderParameter): string; toPropertyValue(input: any, column: IColumnMetaData): T; toParameterValue(input: any, column: IColumnMetaData): any; }