plywood
Version:
A query planner and executor
50 lines • 3.04 kB
TypeScript
import type { Duration, Timezone } from 'chronoshift';
import { Ip } from '../datatypes/ip';
import { PlyType, PlyTypeSimple } from '../types';
export declare abstract class SQLDialect {
private escapedTableName;
constructor();
setTable(name: string | null): void;
nullConstant(): string;
emptyGroupBy(): string;
escapeName(name: string): string;
maybeNamespacedName(name: string): string;
escapeLiteral(name: string): string;
booleanToSQL(bool: boolean): string;
ipToSQL(ip: Ip): string;
floatDivision(numerator: string, denominator: string): string;
numberOrTimeToSQL(x: number | Date): string;
numberToSQL(num: number): string;
dateToSQLDateString(date: Date): string;
abstract timeToSQL(date: Date): string;
abstract stringArrayToSQL(value: string[]): string;
aggregateFilterIfNeeded(inputSQL: string, expressionSQL: string, elseSQL?: string | null): string;
concatExpression(_a: string, _b: string): string;
containsExpression(_a: string, _b: string, _insensitive: boolean): string;
mvContainsExpression(_a: string, _b: string[]): string;
mvFilterOnlyExpression(_a: string, _b: string[]): string;
mvOverlapExpression(_a: string, _b: string[]): string;
substrExpression(a: string, position: number, length: number): string;
coalesceExpression(a: string, b: string): string;
countDistinctExpression(a: string, _parameterAttributeName: string | undefined): string;
ifThenElseExpression(a: string, b: string, c?: string): string;
filterAggregatorExpression(aggregate: string, whereFilter: string): string;
isNotDistinctFromExpression(a: string, b: string): string;
regexpExpression(expression: string, regexp: string): string;
inExpression(operand: string, start: string, end: string, bounds: string): string;
abstract castExpression(inputType: PlyType, operand: string, targetType: PlyTypeSimple): string;
lengthExpression(a: string): string;
abstract timeFloorExpression(operand: string, duration: Duration, timezone: Timezone): string;
abstract timeBucketExpression(operand: string, duration: Duration, timezone: Timezone): string;
abstract timePartExpression(operand: string, part: string, timezone: Timezone): string;
abstract timeShiftExpression(operand: string, duration: Duration, step: int, timezone: Timezone): string;
abstract extractExpression(operand: string, regexp: string): string;
abstract indexOfExpression(str: string, substr: string): string;
quantileExpression(_str: string, _quantile: number, _parameterAttributeName: string | undefined): string;
logExpression(base: string, operand: string): string;
lookupExpression(_base: string, _lookup: string): string;
ipMatchExpression(_colName: string, _searchString: string, _ipSearchType?: string): string;
ipSearchExpression(_colName: string, _searchString: string, _ipSearchType?: string): string;
ipStringifyExpression(_operand: string): string;
}
//# sourceMappingURL=baseDialect.d.ts.map