2012-02-10 12 views
6

IN DB2 V5R4, Quando si modifica la funzionalità di un UDF DETERMINISTICO Restituisce la risposta memorizzata per un po '...Come "resettare" la risposta UDF DETERMINISTIC?

Ci sono dei modi per ripristinare le risposte memorizzate nella cache?

Grazie in anticipo.

+0

Ripristinare come? Se _needs_ deve essere resettato, ciò implicherebbe che i risultati non sono deterministici _i valori passati in_ - che è ciò che suppongo che tutti gli RDBMS di ALL ** basassero la loro ottimizzazione. Potrebbe essere necessario rendere l'UDF non deterministico o vedere se suddividere la funzione in parti deterministiche e non deterministiche. Puoi darci il contesto più ampio? Potremmo essere in grado di aiutare. –

+0

Modificando la funzionalità di una UDF deterministica, restituisce per un po 'la risposta del comportamento precedente. (V5R4 non ha implementato l'istruzione ALTER FUNCTION, DEVI prima DROP e poi CREA di nuovo la funzione ...) –

+0

Ah, non ho capito che era stato modificato - ho pensato che volessi resettarlo durante un statement run ... Non so alcun comando specifico - avrei pensato che 'DROP' e' CREATE' hanno cancellato qualsiasi cache. L'IPLing del sistema lo farebbe (quasi certamente), ma sarà un po 'pesante; forse verificare con il rappresentante IBM? –

risposta

0

A cosa restituisce la risposta memorizzata nella cache? È attraverso una connessione remota o un accesso nativo? Potresti provare a chiudere e riaprire qualsiasi connessione remota, oppure terminare e riavviare qualsiasi lavoro locale.

0

Ho appena avuto lo stesso problema. Creare temporaneamente la funzione non deterministica, eseguire i test. Quando tutto è a posto, sostituire la funzione deterministica.