Documentation
¶
Index ¶
- type AnalysisJob
- type AnalysisResult
- type Analyzer
- func (a *Analyzer) Analyze(stmt parser.Statement) QueryAnalysis
- func (a *Analyzer) AnalyzeWithCache(stmt parser.Statement, cacheKey string) QueryAnalysis
- func (a *Analyzer) GetEnhancedOptimizations(stmt parser.Statement) []EnhancedOptimizationSuggestion
- func (a *Analyzer) SetOptimizationEngine(engine *OptimizationEngine)
- func (a *Analyzer) SuggestOptimizations(stmt *parser.SelectStatement) []OptimizationSuggestion
- type ColumnInfo
- type ConcurrentAnalyzer
- type ConditionInfo
- type EnhancedOptimizationSuggestion
- type JoinInfo
- type OptimizationEngine
- type OptimizationRule
- type OptimizationSuggestion
- type PerformanceMetrics
- type QueryAnalysis
- type TableInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnalysisJob ¶
AnalysisJob represents a single analysis job
type AnalysisResult ¶
type AnalysisResult struct {
ID string
Analysis QueryAnalysis
Error error
}
AnalysisResult represents the result of an analysis job
type Analyzer ¶
type Analyzer struct {
// contains filtered or unexported fields
}
func NewWithDialect ¶
func (*Analyzer) AnalyzeWithCache ¶
func (a *Analyzer) AnalyzeWithCache(stmt parser.Statement, cacheKey string) QueryAnalysis
func (*Analyzer) GetEnhancedOptimizations ¶
func (a *Analyzer) GetEnhancedOptimizations(stmt parser.Statement) []EnhancedOptimizationSuggestion
GetEnhancedOptimizations returns comprehensive optimization suggestions using the new engine.
func (*Analyzer) SetOptimizationEngine ¶
func (a *Analyzer) SetOptimizationEngine(engine *OptimizationEngine)
SetOptimizationEngine allows setting a custom optimization engine
func (*Analyzer) SuggestOptimizations ¶
func (a *Analyzer) SuggestOptimizations(stmt *parser.SelectStatement) []OptimizationSuggestion
SuggestOptimizations provides optimization suggestions for a query
type ColumnInfo ¶
type ConcurrentAnalyzer ¶
type ConcurrentAnalyzer struct {
// contains filtered or unexported fields
}
ConcurrentAnalyzer performs analysis of multiple queries concurrently
func NewConcurrentAnalyzer ¶
func NewConcurrentAnalyzer(workerCount int) *ConcurrentAnalyzer
NewConcurrentAnalyzer creates a new concurrent analyzer
func (*ConcurrentAnalyzer) AnalyzeConcurrently ¶
func (ca *ConcurrentAnalyzer) AnalyzeConcurrently(ctx context.Context, jobs []AnalysisJob) []AnalysisResult
AnalyzeConcurrently analyzes multiple queries concurrently.
func (*ConcurrentAnalyzer) ClearCache ¶
func (ca *ConcurrentAnalyzer) ClearCache()
ClearCache clears the analysis cache
func (*ConcurrentAnalyzer) GetCacheStats ¶
func (ca *ConcurrentAnalyzer) GetCacheStats() map[string]interface{}
GetCacheStats returns cache statistics
type ConditionInfo ¶
type EnhancedOptimizationSuggestion ¶
type EnhancedOptimizationSuggestion struct {
Type string `json:"type"`
Description string `json:"description"`
Severity string `json:"severity"`
Category string `json:"category"`
Rule string `json:"rule"`
Line int `json:"line,omitempty"`
Column int `json:"column,omitempty"`
Table string `json:"table,omitempty"`
ColumnName string `json:"column_name,omitempty"`
Suggestion string `json:"suggestion"`
Impact string `json:"impact"` // HIGH, MEDIUM, LOW
Dialect string `json:"dialect,omitempty"`
AutoFixable bool `json:"auto_fixable"`
FixSuggestion string `json:"fix_suggestion,omitempty"`
}
EnhancedOptimizationSuggestion extends the basic suggestion with more details
type OptimizationEngine ¶
type OptimizationEngine struct {
// contains filtered or unexported fields
}
OptimizationEngine provides comprehensive SQL optimization suggestions
func NewOptimizationEngine ¶
func NewOptimizationEngine(d dialect.Dialect) *OptimizationEngine
NewOptimizationEngine creates a new optimization engine for a specific dialect
func (*OptimizationEngine) AnalyzeOptimizations ¶
func (oe *OptimizationEngine) AnalyzeOptimizations(stmt parser.Statement) []EnhancedOptimizationSuggestion
AnalyzeOptimizations performs comprehensive optimization analysis
type OptimizationRule ¶
type OptimizationRule struct {
ID string
Name string
Description string
Category string // PERFORMANCE, SECURITY, MAINTAINABILITY, BEST_PRACTICE
Severity string // INFO, WARNING, ERROR, CRITICAL
Enabled bool
CheckFunc func(*OptimizationEngine, parser.Statement) []EnhancedOptimizationSuggestion
}
OptimizationRule defines a rule for optimization analysis
type OptimizationSuggestion ¶
type PerformanceMetrics ¶
type QueryAnalysis ¶
type QueryAnalysis struct {
Tables []TableInfo `json:"tables"`
Columns []ColumnInfo `json:"columns"`
Joins []JoinInfo `json:"joins"`
Conditions []ConditionInfo `json:"conditions"`
QueryType string `json:"query_type"`
Complexity int `json:"complexity"`
// Performance metrics
Performance *PerformanceMetrics `json:"performance,omitempty"`
// Enhanced optimization suggestions
EnhancedSuggestions []EnhancedOptimizationSuggestion `json:"enhanced_suggestions,omitempty"`
// Legacy suggestions for backward compatibility
Suggestions []OptimizationSuggestion `json:"suggestions,omitempty"`
}