Analisi dello stato attuale del Query-Manager
Il query-manager richiede due funzionalita' di base :
Finora e' stato implementato quanto presentato al punto 1, ovvero la preparazione della basic-query per l'esecuzione e l'individuazione del piano di accesso da associarle. In questa fase manca la gestione della clausola WHERE di uno statement SQL,per ora vengono gestiti solo gli attributi della clausola SELECT.
- Definizione del Query-Plan
- Esecuzione della Query
Resta ancora da implementare la seconda fase, ovvero l'esecuzione della query.Esecuzione della Query
L'esecuzione della query prevede l'utilizzo del Query-Plan, generato nella fase precedente, per poter comporre i risultati ottenuti dalle sottoquery, presentando cosi' all' utente una risposta integrata.
Tale fase prevede che siano eseguiti in stretta successione tre passi :Ipotesi di Sviluppo
- Esecuzione delle Local Query
Ogni Local Query generata deve essere inviata alla sorgente ed il risultato ottenuto deve essere memorizzato in una relazione temporanea.
L' obiettivo fondamentale di questo passo e' la traduzione degli attributi locali restituiti dalle sorgenti in attributi globali. Per effettuare questa trasformazione, il Query-Manager dovra' eseguire le indicazioni contenute in UQPlan con un procedimento inverso rispetto a quello seguito nella fase di Query Plan Definition .- Esecuzione delle Basic Query
Una Basic Query viene eseguita in due passi :
- Ricostruzione della Base Extention
Le indicazioni su come fondere i risultati restituiti dalle classi locali sono contenute negli elementi PEClassJoin del Query-Plan. Le istanze di questa classe indicano quali sono gli attributi da utilizzare per effettuare il join fra due classi locali.- Unione delle Base Extention
Anche in questa fase e' il Query-Plan che, attraverso gli elementi PEBaseExtJoin, indica come fondere le Base Extention usando una semplice unione delle istanze o, in alternativa, un outerjoin.- Esecuzione della Global Query
Al momento non e' stato ancora implementato nulla.