@vasoyaprince14/sql-analyzer
Version:
🚀 Enhanced SQL database analyzer with AI-powered insights, comprehensive security analysis, RLS policy auditing, and beautiful HTML reports
58 lines • 1.49 kB
TypeScript
import { Client } from 'pg';
export interface QueryBuilderOptions {
table: string;
columns?: string[];
where?: Record<string, any>;
joins?: JoinClause[];
orderBy?: OrderByClause[];
groupBy?: string[];
having?: string;
limit?: number;
offset?: number;
}
export interface JoinClause {
type: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
table: string;
on: string;
}
export interface OrderByClause {
column: string;
direction: 'ASC' | 'DESC';
}
export interface QueryBuilderResult {
sql: string;
explanation: string;
optimizationTips: string[];
}
export declare class QueryBuilder {
private client;
constructor(client: Client);
/**
* Build an optimized SQL query from options
*/
buildQuery(options: QueryBuilderOptions): Promise<QueryBuilderResult>;
/**
* Generate suggested queries based on table analysis
*/
suggestQueries(tableName: string): Promise<string[]>;
/**
* Generate explanation for the query options
*/
private generateExplanation;
/**
* Generate optimization tips for the query
*/
private generateOptimizationTips;
/**
* Get available tables for query building
*/
getAvailableTables(): Promise<string[]>;
/**
* Get available columns for a table
*/
getAvailableColumns(tableName: string): Promise<Array<{
name: string;
type: string;
}>>;
}
//# sourceMappingURL=query-builder.d.ts.map