PL/SQL kompilacja warunkowa Nowinki z Oracle 10g Filip Jakubowski-Drzewiecki
Zalety kompilacji warunkowej Umożliwia włączenie kodu debagującego (np. komunikatów.) przy testach i wyłączenie na produkcji. Pozwala na korzystanie z linii kodu specyficznych dla wykorzystywanego systemu operacyjnego i swobodną jego podmianę podczas migracji. Filip Jakubowski-Drzewiecki
Nowe podejście do programowania w PL/SQL Nowe podejście do Unit testów Możemy uruchamiać warunkowo programy/procesy testujące Symulacje zachowań za pomocą zastępczych obiektów (Mock objects) Implementacja alternatywnych zachowań programu Dla nieprzenaszalnych części kodu Dla rozpatrzenia kilku podejść Możliwość nie uwzględniania aseracji w aplikacji produkcyjnej Filip Jakubowski-Drzewiecki
Konstrukcje kompilacji warunkowej Dyrektywa typu selection Dyrektywa typu inquiry Dyrektywa typu error directive Pakiet DBMS_DB_Version Filip Jakubowski-Drzewiecki
Dyrektywa typu selection Obowiązek użycia statycznych zmiennych Warunki nie mogą się zmieniać w czasie kompilacji (zawsze true lub zawsze false) Filip Jakubowski-Drzewiecki
Filip Jakubowski-Drzewiecki Selection c.d. Nie kompilowany kod nie jest brany pod uwagę. Prekompilator reaguje jedynie na poprawnie sformułowaną składnie. Filip Jakubowski-Drzewiecki
Dyrektywa typu inquiry FlagiCC Możliwość użycia zmiennych Filip Jakubowski-Drzewiecki
Filip Jakubowski-Drzewiecki Dyrekywa typu error Przyjmuje jako argument łańcuch znaków Filip Jakubowski-Drzewiecki
Pakiet DBMS_DB_Version Możliwość uzależnienia niektórych rozwiązań od wykorzystywanej wersji bazy (przydatne np. w aplikacjach rozproszonych) Filip Jakubowski-Drzewiecki
Uzależnienie kompilowanego kodu od dostępnych rozszerzeń Wyzwalacz (trigger) DDL może utworzyć lub podmienić jednostkę kompilacji Możliwość budowania kompleksowych aplikacji korzystających z dostępnych udogodnień na docelowym środowisku Filip Jakubowski-Drzewiecki
Pozostałe nowinki Oracla 10g Aplikacje wykorzystujące intensywnie PL/SQL działają ok. 2 razy szybciej niż gdyby były uruchomione na 9i Będą również działały ponad 3 razy szybciej niż na 8i. Filip Jakubowski-Drzewiecki
Filip Jakubowski-Drzewiecki Nowinki Składniowe Typy danych binary_float i binary_double (standard IEEE). Wsparcie wyrażeń regularnych regexp_like, regexp_instr, regexp_substr i regexp_replace Operacje na zbiorach typu: nested table equals, union, intersect, except, member i inne. Możliwość wyboru cudzyzłowu przez użytkownika ‘/”. Wyrażenia typu: indices of ; values of syntax for / forall. binary_integer wypiera pls_integer Filip Jakubowski-Drzewiecki
Filip Jakubowski-Drzewiecki Optymalizacja PL/SQL Optymalizator może przearanżować wykonywany kod aby zwiększyć efektywność aplikacji Filip Jakubowski-Drzewiecki
Nowe narzędzia / pakiety Utl_Mail. – Umożliwia wysyłanie emaili i czyni przeźroczysty (w przeciwieństwie do starego poakietu Utl_Smtp) protokuł SMTP. Utl_Compress. – Daje możliwość pakowania i rozpakowywania elementów jak np. LOB czy BLOB Dbms_Warning – nowa funkcjonalność dająca kontrolę kategorii i zarządzania błędami Filip Jakubowski-Drzewiecki
Filip Jakubowski-Drzewiecki Źródło www.oracle.com www.otn.oracle.com Filip Jakubowski-Drzewiecki