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.
114 lines (113 loc) • 10.4 kB
TypeScript
import { ToSql, SelectData, InsertData, DeleteData, UpdateData, QueryColumns, WithValuesData } from "./SqlBuilder";
import { TypeAdapter } from "../TypeAdapter";
import { AnyValueSource, IExecutableSelectQuery, __AggregatedArrayColumns, ValueType } from "../expressions/values";
import { AbstractSqlBuilder } from "./AbstractSqlBuilder";
import { Column } from "../utils/Column";
import { ITable } from "../utils/ITableOrView";
export declare class SqlServerSqlBuilder extends AbstractSqlBuilder {
sqlServer: true;
constructor();
_appendRawColumnName(column: Column, params: any[]): string;
_forceAsIdentifier(identifier: string): string;
_isReservedKeyword(word: string): boolean;
_nextSequenceValue(_params: any[], sequenceName: string): string;
_currentSequenceValue(_params: any[], sequenceName: string): string;
_trueValue: string;
_falseValue: string;
_trueValueForCondition: string;
_falseValueForCondition: string;
_nullValueForCondition: string;
_appendSql(value: ToSql | AnyValueSource | IExecutableSelectQuery<any, any, any, any>, params: any[]): string;
_appendConditionSql(value: ToSql | AnyValueSource, params: any[]): string;
_isUuid(value: any): boolean;
_appendSqlMaybeUuid(value: ToSql | AnyValueSource | IExecutableSelectQuery<any, any, any, any>, params: any[]): string;
_appendConditionParam(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
_appendParam(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
_appendColumnName(column: Column, params: any[]): string;
_appendColumnNameForCondition(column: Column, params: any[]): string;
_inlineSelectAsValueForCondition(query: SelectData, params: any[]): string;
_appendWithKeyword(_recursive: boolean): string;
_buildWithValues(withValues: WithValuesData, params: any[]): string;
_buildSelectWithColumnsInfoForCompound(query: SelectData, params: any[], columnsForInsert: {
[name: string]: Column | undefined;
}, isOutermostQuery: boolean): string;
_buildSelectOrderBy(query: SelectData, params: any[]): string;
_buildSelectLimitOffset(query: SelectData, params: any[]): string;
_buildInsertOutput(query: InsertData, params: any[]): string;
_buildInsertReturning(_query: InsertData, _params: any[]): string;
_updateOldValueInFrom: boolean;
_buildUpdateOutput(query: UpdateData, params: any[]): string;
_buildUpdateReturning(_query: UpdateData, _params: any[]): string;
_buidDeleteUsing(query: DeleteData, params: any[]): string;
_buildDeleteOutput(query: DeleteData, params: any[]): string;
_buildQueryOutput(queryColumns: QueryColumns | undefined, table: ITable<any>, alias: string, params: any[]): string;
_buildDeleteReturning(_query: DeleteData, _params: any[]): string;
_isNullValue(value: any): boolean;
_isOptionalValue(value: any): boolean;
_isNull(params: any[], valueSource: ToSql): string;
_generalIsNull(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_isNotNull(params: any[], valueSource: ToSql): string;
_generalIsNotNull(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_is(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_isNot(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_valueWhenNull(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_escapeLikeWildcard(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_startsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notStartsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_endsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notEndsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_startsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notStartsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_endsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notEndsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_contains(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notContains(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_containsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notContainsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_trim(params: any[], valueSource: ToSql): string;
_trimLeft(params: any[], valueSource: ToSql): string;
_trimRight(params: any[], valueSource: ToSql): string;
_currentDate(): string;
_currentTime(): string;
_random(): string;
_divide(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_asDouble(params: any[], valueSource: ToSql): string;
_concat(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_length(params: any[], valueSource: ToSql): string;
_ln(params: any[], valueSource: ToSql): string;
_log10(params: any[], valueSource: ToSql): string;
_cbrt(params: any[], valueSource: ToSql): string;
_atan2(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_minimumBetweenTwoValues(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_maximumBetweenTwoValues(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_getDate(params: any[], valueSource: ToSql): string;
_getTime(params: any[], valueSource: ToSql): string;
_getFullYear(params: any[], valueSource: ToSql): string;
_getMonth(params: any[], valueSource: ToSql): string;
_getDay(params: any[], valueSource: ToSql): string;
_getHours(params: any[], valueSource: ToSql): string;
_getMinutes(params: any[], valueSource: ToSql): string;
_getSeconds(params: any[], valueSource: ToSql): string;
_getMilliseconds(params: any[], valueSource: ToSql): string;
_buildCallProcedure(params: any[], functionName: string, functionParams: AnyValueSource[]): string;
_stringConcat(params: any[], separator: string | undefined, value: any): string;
_stringConcatDistinct(params: any[], separator: string | undefined, value: any): string;
_in(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_notIn(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_substrToEnd(params: any[], valueSource: ToSql, value: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_substringToEnd(params: any[], valueSource: ToSql, value: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_substr(params: any[], valueSource: ToSql, value: any, value2: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_substring(params: any[], valueSource: ToSql, value: any, value2: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
_useForJsonInAggreagteArrayWhenPossible: boolean;
_buildSelectAsAggregatedArray(query: SelectData, _params: any[]): string;
_needAgggregateArrayColumnsTransformation(query: SelectData, _params: any[]): boolean;
_needAgggregateArrayWrapper(query: SelectData, params: any[]): boolean;
_appendAggragateArrayWrapperBegin(query: SelectData, params: any[], aggregateId: number): string;
_appendAggragateArrayWrapperEnd(query: SelectData, params: any[], aggregateId: number): string;
_appendAggragateArrayColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, aggregatedArrayDistinct: boolean, params: any[], _query: SelectData | undefined): string;
_appendJsonValueForAggregate(valueSource: AnyValueSource, params: any[]): string;
_appendAggragateArrayWrappedColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, params: any[], aggregateId: number): string;
_appendJsonValueForWrappedAggregate(prop: string, valueSource: AnyValueSource, _params: any[], aggregateId: number): string;
_fragment(params: any[], sql: TemplateStringsArray, sqlParams: AnyValueSource[]): string;
_rawFragment(params: any[], sql: TemplateStringsArray, sqlParams: Array<AnyValueSource | IExecutableSelectQuery<any, any, any, any>>): string;
}