mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-28 08:49:38 +02:00
31 lines
747 B
TypeScript
31 lines
747 B
TypeScript
|
|
export type SqlAnalysisDialect =
|
||
|
|
| 'bigquery'
|
||
|
|
| 'snowflake'
|
||
|
|
| 'postgres'
|
||
|
|
| 'redshift'
|
||
|
|
| 'mysql'
|
||
|
|
| 'sqlite'
|
||
|
|
| 'tsql'
|
||
|
|
| 'clickhouse'
|
||
|
|
| (string & {});
|
||
|
|
|
||
|
|
export type SqlAnalysisLiteralSlotType = 'string' | 'number' | 'timestamp' | 'date' | 'boolean' | 'null' | 'unknown';
|
||
|
|
|
||
|
|
export interface SqlAnalysisLiteralSlot {
|
||
|
|
position: number;
|
||
|
|
type: SqlAnalysisLiteralSlotType;
|
||
|
|
exampleValue: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface SqlAnalysisFingerprintResult {
|
||
|
|
fingerprint: string;
|
||
|
|
normalizedSql: string;
|
||
|
|
tablesTouched: string[];
|
||
|
|
literalSlots: SqlAnalysisLiteralSlot[];
|
||
|
|
error?: string | null;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface SqlAnalysisPort {
|
||
|
|
analyzeForFingerprint(sql: string, dialect: SqlAnalysisDialect): Promise<SqlAnalysisFingerprintResult>;
|
||
|
|
}
|